Course materials & problems for HackBulgaria's Programming 101 with Python. Starting November 2015.
The course is happening thanks to the following companies:
- 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
- Getting familiar with Python syntax and basic language & data structures
- Building console applications.
- Source control systems - working with
git
and GitHub - Take a look at other languages: Java, Ruby, Node, JS, etc...
- Introduction to Python OOP concepts
- Introduction to unittests
- Introduction to TDD
- Working in teams with
git
and GitHub - branches, merges, pull requests - Building large console applications with bigger class hierarchy
- Working with Graphs
- Finding the shortest path in Graphs
- pip
- virtualenv
- Working with SQL databases - sqlite3
- CRUD operations
- JOIN
- SQL and Python
- Basic security concepts
- Hashing
- SQL Injection
- Hiding passwords from input
- Bruteforce protections
- Working with legacy code
- ORM vs. SQL
- SQLAlchemy
- World Wide Web
- HTTP
- Servers
- DNS
- Other internet protocols
- JSON
- Advanced Python
- Iterators
- Generators
- Decorators
- With blocks
- Django
- Building MVC website
- Building REST APIs
- Testing Django code
- Deployment
- Project live cycle
- Continuous integration
- Building large applications within groups