This is the repository for the Python class at the MSAI program in the Fall 2024 semester.
This course is about Software Development with Python.
- Fork the repository.
- Clone your fork.
- Work on your fork, and make a pull request with your code changes.
./assignments/
contains the assignments to be submitted../lectures_notesooks/
contains the notebooks used during the webinars.
The Fall semester covers introductory topics:
- Environments
- Variables and data types
- Conditions and loops
- Containers
- I/O, Files
- Functions and Recursion
- Object Oriented Programming
- Modules, Packages
- Exceptions
- Debugging, Testing, Profiling
- Basic Web scraping
- Basics of Cython, Numpy and Code Optimization
- Basics of Pandas
The Spring semester continues covering more topics oriented towards Software development, including:
- Continuation from the first semester: Data Visualization
- Advanced Bash Scripting
- Static Code Analysis
- Compilation and Execution Process in Python: AST, ByteCode, CPython vs Pypy, JIT
- Memory management in Python: Reference Counting and Garbage Collection
- Threading, Parallelism and Concurrency: Multiprocesses, Threads, GIL, Asyncio
- Servers, deployment, docker
- Web frameworks: flask, fastAPI
- Basics of Databases (SQL, Redis, Mongo)
- ...
by @aniervs