Skip to content

Latest commit

 

History

History
113 lines (73 loc) · 1.99 KB

README.md

File metadata and controls

113 lines (73 loc) · 1.99 KB

Programming101-Python

Course materials & problems for HackBulgaria's Programming 101 with Python. Starting November 2015.

Partners

The course is happening thanks to the following companies:

Nemetschek Bulgaria

Hosting Partners

SiteGround

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 git and 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 git and 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