Designed as easy to understand and beginner friendly course focusing on various data collections, manipulation tools, logic and bit operations and creating basic REST APIs.
Module 1 : Familiarize the student with the basic methods offered by Python of formatting and outputting data, together with the primary kinds of data and numerical operators, their mutual relationships and binding. Introduce the concept of variables and variable naming conventions. Present the assignment operator, along with the rules governing the building of expressions. Introduce the inputting and converting of data.
Module 2 :
Familiarize the student with the concept of Boolean values, in order to compare difference values and control the execution paths using the if and if-else instructions. Introduce the utilization of loops (while and for) and how to control their behavior using the break and continue instructions. Present the difference between logical and bitwise operations. Acquaint the student with the concept of lists and list processing, including the iteration provided by the for loop, and slicing. Explain the idea of multi-dimensional arrays.
Module 3 : Acquaint the student with the defining and using of functions Ė their rationale, purpose, conventions, and traps. Present the concept of passing arguments in different ways and setting their default values, along with the mechanisms of returning the functionís results. Explain name scope issues. Introduce new data aggregates: tuples and dictionaries, and show their role in data processing.
Module 4 : Familiarize the student with Python modules: their rationale, function, how to import them in different ways, and present the content of some standard modules provided by Python. Present the way in which modules are coupled together to make packages. Acquaint the student with the concept of an exception and Pythonís implementation of it, including the try-except instruction, with its applications, and the raise instruction. Introduce strings and their specific methods, together with their similarities and differences compared to lists.
Module 5: Acquaint the student with the fundamentals of OOP (Object Oriented Programming) and the way they are adopted in Python, showing the difference between OOP and the classical, procedural approach. Present the standard objective features: inheritance, abstraction, encapsulation, and polymorphism, along with Python-specific issues like instance vs. class variables, and Pythonís implementation of inheritance. Exceptions are discussed again in a more detailed way, showing their objective nature. Familiarize the student with Pythonís generators (the yield instruction) and closures (the lambda keyword). Demonstrate the means Python developers can use to process (create, read, and write) files.