This repo contains solutions for Programming 101 with Python 2019 Course, 8th edition by HackBulgaria
Week01:
- Learning Python as a programming language - python syntax, basic python data structures
- Working with a Linux-based operating system - running .py files from terminal
Week02:
- Learning how to unit test programs - benefits of TDD
- Diving into Python
- Implementation of basic Linux commands in Python - os, sys modules
Week03:
- Working with files - CSV, JSON, HTML
- Unit testing
- Exceptions
- Python function arguments
Week04:
- OOP in Python3 - classes, object instances, class attributes, data abstraction, encapsulation, defining and working with methods, inheritance
- Dunders
Week05:
- Mixins
- Parsing XML&JSON
- Python @classmethod & @staticmethod
- Multiple inheritance
Week06:
- Git & Github
- Decorators, Generators, Context Managers
Week07:
- Working in teams
Week08:
- Recursion
- Graph traversing algorithms - bfs, dfs
Week09:
- Databases with sqlite3, litecli
- Diving into SQL
Week10:
- SQL &/vs Python - working with sqlite3 python lib
- Database Security basics - backups, SQL injection, user passwords - salt hashing
Week11:
- Using relational databases & SQL & ORMs.
- Implementing client-server application
- Introduction to MVC architecture
Week12:
- Introduction to metaprogramming
Week13:
- WWW, HTTPS and Crawlers
- OSI and TCP/IP
- HTTP methods and status codes
- Request and BeautifulSoup
Week14:
- Django Basics