Home
September 2025
Advanced Python Programming
Welcome to this advanced programming course focusing on Python, development tools, and modern software practices. Access the git repository
Course Overview
This course explores essential programming tools and concepts that will enhance your development workflow and prepare you for professional software development.
Quick Polls
Help shape the course by participating in these anonymous polls:
Class 1: Shell & Environment
Lessons
Exercises
-
Computer Architecture Basics - Fundamentals of computer architecture and system design
-
Shell Commands Practice - Hands-on practice with essential terminal commands
-
SQL with Shell (Cyberbase) - Database queries using shell tools and SQL
Class 2: Git Version Control
Lessons
- Git Version Control - Understand Git fundamentals, branching strategies, and collaborative development
Demos & Guides
-
Git Terminal Demo - Live terminal demonstration of Git workflow from init to push
-
GitHub Personal Access Tokens - Setup guide for using personal access tokens with GitHub
-
SSH Keys Setup - Cross-platform guide for setting up SSH authentication with GitHub
Exercises
-
Detective Story: Shell Investigation - A fun mystery-solving exercise using shell commands
-
Git Scrabble Exercise - Learn Git workflows through a collaborative Scrabble project
-
Pull Requests Duo - Practice collaboration in pairs
-
Pull Requests to Website - Master the art of code collaboration and review
Class 3: Data Structures
Lessons
- Data Structures - Deep dive into Python data structures and their practical applications
Code Examples
-
Unpack, Set & Dataclass - Advanced Python features: unpacking, sets, and dataclasses
-
Hash Table Implementation - Understanding hash tables through practical implementation
-
SQL Python Recap - Review of SQL concepts with Python integration
-
ORM Classes with SQL - Object-Relational Mapping using Python classes
Exercises
-
Two Sums Problem - Algorithm practice with hash tables and arrays
-
Netflix Data Analysis - Data analysis project using Python data structures
-
Network Analysis - Graph data structures and network analysis
-
Country Class - Object-oriented programming with Python classes
-
Department SQL Class - Combine Python classes with SQL database operations
Class 4: Polars
Lessons
- Polars vs Pandas - Compare and contrast these powerful data manipulation libraries
Code Examples
- Polars vs Pandas Comparison - Side-by-side comparison of data manipulation libraries
Class 5: Arguments & Organization
Lessons
-
Variables & Configurations - Managing variables and configurations in Python projects
-
Basic Imports - Understanding Python import system
-
Packages - Creating and structuring Python packages
-
Building Configuration - Configuration management best practices
-
Publishing & References - Publishing packages and managing references
-
argv & argparse - Command line argument parsing
-
Advanced Arguments - Advanced command line interface techniques
Exercises
-
Project Organization - Best practices for structuring Python projects
-
Password Generator - Build a secure password generation tool
Contributing to the Course
Earn Bonus Points! 🌟
Contribute to our course materials and earn 0.5-1 bonus points on your final grade.
Ways to Contribute:
- Submit exercise solutions
- Add helpful resources or tutorials
- Fix bugs or typos
- Improve documentation
- Translate content
How to Submit:
- Fork the course repository
- Make your improvements
- Submit a pull request
- See the Pull Requests exercise for detailed instructions