Course Outline
Module I: Introduction to Python and Syntax Fundamentals
1. What is Python and examples of its applications
2. Developer tools: PyCharm, JupyterLab, terminal
3. Virtual environments – isolating dependencies
4. Variables and value assignment
5. Basic data types – numbers, strings, booleans
6. Comments and code readability
7. Most common built-in functions
8. Mathematical operations
9. Basic string operations – methods, formatting
---------------------------------------------------------------------
Module II: Data Structures – Storing and Organizing Information
1. Lists – creation and modification
2. Tuples – immutable structures
3. Dictionaries – key-value data
5. Operations on collections
6. Indexing data structures
7. Nested structures
8. Mutability
9. Object copying – shallow copy, deep copy
---------------------------------------------------------------------
Module III: Conditional Statements and Control Flow
1. Values and logical operators
2. The `if` statement – basics
3. The `if-else` construct
4. Compound conditions in `if-elif-else`
---------------------------------------------------------------------
Module IV: Loops and Iterations
1. The `range` function – generating sequences
2. `for` and `while` loops
4. `break` and `continue` – controlling loop execution
5. Nested loops
6. List comprehensions
---------------------------------------------------------------------
Module V: Functions – Code Organization and Reuse
1. Defining functions – syntax and conventions
2. Variable scope – local vs. global
3. Returning values – `return`
4. Function parameters
5. Positional and keyword arguments
---------------------------------------------------------------------
Module VI: Error Handling and Code Quality
1. PEP 8 – principles for writing readable code
2. Traceback – how to read error messages
3. Debuggers – step-by-step execution control
4. Exception handling – `try`, `except`
---------------------------------------------------------------------
Module VII: Modules and Project Organization
1. Overview of the standard library
2. Importing modules
3. Installing external packages
4. Project structure – dividing code into files and directories
---------------------------------------------------------------------
Module VIII: Fundamentals of Object-Oriented Programming
1. What is a class and an object
2. Methods and attributes
3. Inheritance – extending functionality
4. Encapsulation – public, private, and protected methods/attributes
5. `staticmethod`, `property`
6. Object representation – `__str__`, `__repr__`
---------------------------------------------------------------------
Module IX: Working with Files
1. File formats – text, JSON
3. Reading and writing data
4. Using the `with` statement (*context manager*)