Course materials & problems for HackBulgaria's Programming 101 with Python. Starting November 2015.
Partners
The course is happening thanks to the following companies:
Hosting Partners
Course Program
Week 1
- Installing Linux - basic shell commands.
- Python tooling on Linux
- PEP8
- Text Editors - vim, sublime, atom, etc..
- Solving Python problems in order to get familiar with the language
Week 2
- Getting familiar with Python syntax and basic language & data structures
- Building console applications.
Week 3
- Source control systems - working with
gitand GitHub - Take a look at other languages: Java, Ruby, Node, JS, etc...
Week 4
- Introduction to Python OOP concepts
- Introduction to unittests
- Introduction to TDD
Week 5
- Working in teams with
gitand GitHub - branches, merges, pull requests - Building large console applications with bigger class hierarchy
Week 6
- Working with Graphs
- Finding the shortest path in Graphs
Week 7
- pip
- virtualenv
Week 8
- Working with SQL databases - sqlite3
- CRUD operations
- JOIN
Week 9
- SQL and Python
Week 10
- Basic security concepts
- Hashing
- SQL Injection
- Hiding passwords from input
- Bruteforce protections
- Working with legacy code
Week 11
- ORM vs. SQL
- SQLAlchemy
Week 12
- World Wide Web
- HTTP
- Servers
- DNS
- Other internet protocols
- JSON
Week 13
- Advanced Python
- Iterators
- Generators
- Decorators
- With blocks
Week 14
- Django
- Building MVC website
- Building REST APIs
- Testing Django code
Week 15
- Deployment
- Project live cycle
- Continuous integration
Week 16
- Building large applications within groups

