Advanced Python
Deep dive into Python’s syntax, features, and capabilities
Advanced Python - Section Overview
This section contains 13 lessons that will take you from Python fundamentals to advanced topics like the scientific stack and type systems. The centerpiece of this series are the lectures on Object Oriented Programming (OOP).
The order of the lessons below is the most logical ordering for these notes. We will follow a slightly different order in class, indicated by the numbers in parentheses.
Lessons Overview
Part 1: Foundations
- Lesson 1: Control Structures Review (1)
- Lesson 2: Bytes, Files, and Encodings (2)
- Lesson 3: Object-Oriented Programming Basics (3)
- Lesson 4: Loose Ends and New Python Features (7)
Part 2: Advanced Language Features
- Lesson 5: Functions Deep Dive (4)
- Lesson 6: Standard Library Overview (6)
- Lesson 7: OOP II: Inheritance and Method Resolution (5)
- Lesson 8: OOP III: Advanced Concepts (8)
Part 3: Scientific Computing
- Lesson 9: NumPy and SciPy (10)
- Lesson 10: Pandas and Matplotlib (11)
Part 4: Professional Development
- Lesson 11: Modules and Import System (12)
- Lesson 12: Linters and Type Checkers (9)
- Lesson 13: Third Party Libraries (13)
How you will be evaluated
The course in Advanced Python is graded on homework. Throughout the course Python Developer 2, there will be 3 homework exercises.
These homeworks will be graded on effort rather than results. This means: if you meet the requirement below you will receive full marks. It also means you only have to hand in 2 out of 3 homeworks to pass the course with a 7/10 grade.
The requirements are:
- Your work must show effort
- Hand it in on time
- Submit (commit and push) your work on the shared Github repository
- Submit your homework via your Microsoft Teams account on Syntra (necessary for syntra’s archives)
If you use an AI-assistant (which is allowed) you must be open about it, and provide a comment at the top of your code file, or a readme.md which explains (1) which AI-assistant you used (e.g. GPT 4.1) and (2) how you used them (e.g. via continue.dev VS Code extension).
Not taking this requirement seriously could lead to you not passing the course
Gebruik van AI (volgens examenreglement Syntra vanaf september 2024):
- Cursisten dienen steeds bronnen te vermelden, ook bij gebruik van AI of andere ondersteunende tools.
- Elk ingediend werk blijft de verantwoordelijkheid van de cursist.
- Tijdens examens of mondelinge verdedigingen moet de cursist zonder hulp van AI kunnen aantonen dat hij/zij over de vereiste kennis beschikt.
- Onvoldoende bronvermelding of ongeoorloofd gebruik kan leiden tot niet slagen.
Ready to begin? Start with Lesson 1 or jump to any lesson that interests you.