PART I (Basics)
1. Introduction to Python and computer programming
The fundamentals of computer programming, i.e. how the computer works, how the program is executed, how the programming language is defined and constructed, what the difference is between compilation and interpretation, what Python is, how it is positioned among other programming languages, and what distinguishes the different versions of Python;
2. Data types, variables, basic input-output operations, basic operators
The basic methods of formatting and outputting data offered by Python, together with the primary kinds of data and numerical operators, their mutual relations and bindings; the concept of variables and variable naming conventions; the assignment operator, the rules governing the building of expressions; the inputting and converting of data;
3. Boolean values, conditional execution, loops, lists, logical and bitwise operations
Boolean values to compare difference values and control the execution paths using the if and if-else instructions; the utilization of loops (while and for) and how to control their behavior using the break and continue instructions; the difference between logical and bitwise operations; the concept of lists and list processing, including the iteration provided by the for loop, and slicing; the idea of multi-dimensional arrays;
4. Functions, tuples, dictionaries, and data processing
The defining and using of functions – their rationale, purpose, conventions, and traps; the concept of passing arguments in different ways and setting their default values, along with the mechanisms of returning the function’s results; name scope issues; new data aggregates: tuples and dictionaries, and their role in data processing.
PART II (Intermediate)
1. Modules, packages, and PIP
Importing and using Python modules; using some of the most useful Python standard library modules; constructing and using Python packages; PIP (Python Installation Package) and how to use it to install and uninstall ready-to-use packages from PyPI.
2. Strings, String and List Methods, Exceptions
Characters, strings and coding standards; Strings vs. lists – similarities and differences; Lists methods; String methods; Python’s way of handling runtime errors; Controlling the flow of errors using try and except; Hierarchy of exceptions.
3. Object-Oriented Programming
Basic concepts of object-oriented programming (OOP); The differences between the procedural and object approaches (motivations and profits); Classes, objects, properties, and methods; Designing reusable classes and creating objects; Inheritance and polymorphism; Exceptions as objects.
Generators, iterators and closures; Working with file-system, directory tree and files; Selected Python Standard Library modules (os, datetime, time, and calendar.)