PYTHON ENGINEER BOOTCAMP

                                          English and Arabic 

5 Days Course

OVERVIEW

Become a full stack python developer from beginner to building real world python projects, games & applications in 2021!

This course is one of options for completing our Web Developer Bootcamp. All courses cover the essentials of developing the server-side code that is an integral component of modern web and mobile applications. On completion of this course students are ready to design, code, test and deploy a fully-functional web service or the server-side code for a web application. This course completes your training as a full-stack software developer.

You’ll learn the key features and capabilities of Microsoft’s software development technology stack. This includes C# – one of the most widely used modern object-oriented programming languages, .NET – a highly productive and comprehensive development framework, and a wide range of supporting and related technologies. You will also be introduced to database management, test-driven development, agile methods, the Visual Studio IDE and other key concepts and tools that will help accelerate your entry into a career in software development.

WHAT YOU WILL LEARN

  • Get started on your Python journey by learning to Install Anaconda – Python distribution.
  • Create your first Python program by learning basic syntax, variables, types and so on…
  • Learn about data structures that Python can handle. Create, manipulate Python lists, tuples, etc.
  • Learn to write complex decision-making code by mastering control structures like if, for, while, break and more.
  • Learn to write and import your own Python modules and use them in other directories.
  • Learn all about Regular Expressions; their uses in matching patterns and parsing files and text for information.
  • Learn to write user-defined functions and object-oriented way of writing classes and objects.
  • Take your Python programming skills to the next level with functions, import packages and improved code readability.

COURSE STRUCTURE AND AGENDA

STAGES
DESCRIPTION
DURATION
Phase 1Programming fundamentals1 Week
Phase 2Learning to develop in Python4 Week
Phase 3Emerging technologies with Python5 Week
Phase 4Capstone project (best practices and use cases from various industries & project presentation)2 Week
 
Phase 01– Week 01 – Programming fundamentals

The course begins with a high-level overview of the software development process, then transitions into a discussion about Object-Oriented (OO) programming.

Module – 01

Computer Programming Basics

  • Comparison of different contemporary programming languages in terms of functionality, application as well as advantages and disadvantages
  • Data types, values, and variables
  • Expressions and statements
  • Operators
  • Functions
  • Flow of control
  • Loops
  • Strings
  • Lists, tuples
  • Dictionaries
  • Handling of files
Module – 02

Object Orientation

  • Classes
  • Methods
  • Inheritance
  • Polymorphism
Module – 03

Programming Praxis

  • Development environments
  • Debugging
  • Types of development

 

STAGE 1 ASSESSMENT

Module – 04

Intro To Python

  • History of Python
  • Syntax and structure
  • Comparisons to other scripting languages (Perl, Tcl, etc)
  • Comparisons to other languages (C, C++, Java, etc); (4)
  • Python Implementations
  • Using Jython
  • Available Python Resources
  • Whitespace, Indentation and program formatting
  • Variables and Naming Conventions
  • Starting Python
  • Python Typing
  • Operators
  • Statement structure
  • Comments
  • Program Construction
  • Interpreter PATH
  • Using the Interpreter
  • Python Scripts on UNIX/Windows
Module – 05

Python Installation

  • Python Editors and IDEs
  • Install Anaconda

Phase 02 – Week 2 to 5 – Learning to Develop in Python

Module – 06

Data Types

  • Built-in Types
  • Strings and Numbers
  • Formatting Data, Numbers, Dates
  • Using Lists/Arrays
  • Tuples
  • Dictionaries
  • Understanding Dynamic Typing
  • Working with Functions
  • Python Code Execution
  • Basic Input / Output
  • String Operations
  • Working with Tuples and Lists
  • Introducing Control Flow Statements
Module – 07

Function Basics

  • Variable Scope
  • Variable Parameters
  • Default Values
  • Positional Parameters
  • Keyword Parameters
  • Multiple Positional/Keyword Parameters
  • Introducing Lambdas
  • Exception Handling
  • try-except-else
  • try-finally
  • Custom Exceptions
  • Advanced Looping Techniques
  • Introducing Iterators and Magic Methods
  • Generators
  • Coroutines
Module – 08

Classes In Python

  • Modules Revisited
  • Creating Classes in Python
  • Classes are Namespaces
  • Working with Instances __dict__, __setitem__(), __getitem__()
  • __getattr__ and __setattr__
  • Constructors
  • Where’s public and private?
  • Self and Instances
  • Class Variables
  • Class Attributes in Instance Methods
  • Classic vs “New Style” Classes
  • Inheritance
  • Using super()
  • Multiple Inheritance
  • Determining Method Resolution Order
  • Search Order in Instances and Hierarchies
  • Abstract Classes
  • Lack of Interfaces
  • Operator Overloading
  • Static and Class Methods
  • Properties __slots__
  • List Comprehensions
Module – 09

Introducing System Administration And The Python Standard Library

  • System Administration with Python
  • Using the Python Standard Library
  • Introducing the sys and os Modules
  • shelve, sched, logging Modules
  • ConfigParser and csv Modules
  • datetime
  • Introducing Jython Scripting

 

STAGE 2 ASSESSMENT

Module – 10

Advanced Programming With Functions And Meta Classes

  • Introduction to Functional Programming
  • Closures
  • Decorators
  • Metaclass Programming
Module – 11

Regular Expressions, Searching, Pattern Matching

  • The re Module
  • Using Regexes in Python
Module – 12

Working With XML

  • Overview of Python’s XML Offerings
  • expat Parser
  • Parsing XML
  • SAX and DOM APIs
  • miniDOM
  • ElementTree
  • Using LXML
Module – 13

Data Persistence

  • Pickling Modules
  • ORM in Python: SQLAlchemy
  • Incorporating Transactions
  • Database Account Example
  • Managing resources using the ‘with’ statement
  • Using the unittest Module
Module – 14

Sys Admin Scripting Revisited

  • Tuning Tips and Command-line Options
  • Subprocesses
  • Piping results
  • Linking Subprocesses
  • Comparing files and file searching
Module – 15

Multi-Threading

  • Threading Basics
  • Synchronizing Threads
  • Locking
  • RLocks and Semaphores
  • The Global Interpreter Lock
  • Multiprocessing Module

Phase 03 – Week 6 to 10 – Emerging Technologies with Python

Module – 16

Natural Language Processing With Python

  • Basics of Text Processing
  • Statistical Language Modeling
  • Morphological Modeling
  • Syntactic Analysis
  • Semantic Analysis
  • Sentiment Analysis
  • Information Retrieval
  • Discourse Analysis
  • Evaluation of NLP Systems – Analyzing Performance
Module – 17

DATA SCIENCE With Python

  • Introduction to Data Science
  • Mastering Python
  • Probability and Statistics
  • Advanced Statistics and Predictive Modelling I
  • Advanced Statistics and Predictive Modelling II
  • Time Series Forecasting
Module – 18

Machine Learning With Python

  • Statistical Learning
  • Python for Machine Learning
  • Introduction to Machine Learning
  • Optimisation
  • Supervised Learning
  • Unsupervised Learning
  • Ensemble Techniques
STAGE 3 ASSESSMENT
Module – 19

Web Development With Python And Django

  • Installation and Introduction to Python
  • Variables
  • Functions
  • Selection & Looping statements
  • Object oriented programming
  • Modules & Packages
  • Exception handling
  • Collections
  • Introduction to Django
  • Routing
  • Templates
  • Model Layer
  • Django Admin
  • Session Management
  • Django Forms
  • Other built in django apps and web development concerns
  • Security in django apps
  • REST Web Services
Phase 04 – Week 11 & 12 – Capstone project using agile methodologies

 

Unique Project that can be developed with Python

 

  • Library Management System: Python Project – The objective of library management system project is to develop a real-time library project with Tkinter. This project provides functionalities like add book, issue book, return the book, viewbook, delete a book, etc.

 

  • Content Aggregator: This is an interesting python project. There are lots of information and articles on the internet. Finding good relevant content is hard so a content aggregator automatically searched the popular websites, looks for the relevant content and creates a list for you to browse the content. The user can select which content they want to look or not.

 

  • Plagiarism Checker in Python: The idea behind this project is to build a GUI application that you can use to check for plagiarism. To build this project, you need to use a natural language processing library along with the Google search API that will fetch top articles to you.

 

  • COVID-19 Spread Analysis with Python: The objective of this project is to implement a real-time dashboard for COVID 19 spread analysis. This live dashboard will provide many insights for the study of corona-virus spread.

 

  • Python Sudoku Game: In the sudoku game we have a 9×9 grid and it contains 3×3 grids having numbers from 1 to 9. It’s a puzzle game and you have to find the missing numbers in empty places.

 

Implement a timer in the game and also provide a way to display hint to the user.

 

Each team first creates a minimally viable product to fulfill mandatory technical elements, then iterates based on feedback, refining and adding additional features. At the end of the bootcamp, teams present their projects to the Management & External Observer

 

FINAL ASSESSMENT