Skip to content

singularity0/Programming101-Python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

Programming101 with Python

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

Course Program

Week 1

  • Installing Linux & making first steps with it.
  • Setuping Python - text editors, tools, REPL.
  • Getting familiar with Python syntax and basic structures by solving problems

Week 2

  • Introducing source control systems & working with git / GitHub
  • Working with Linux - basic shell commands & scripts.
  • Installing 3rd party libraries and working with the console.

Week 3

  • Introducing the Object Oritented concept in Python
  • Solving problems with OOP & building console applications.

Week 4

  • Diving deeper into Python's data structures. Solving problems with list & dict comprehension.
  • Diving deeper into Python's OOP concepts - working with dunder methods & iterators

Week 5

  • Introducing exceptions in Python.
  • Introducing the Test Driven Development concept
  • Working with unittest.
  • Solving problems with OOP & tests

Week 6

  • Introducing pip and virtualenv - working with 3rd party libraries
  • Making HTTP clients & storing things in files

Week 7

  • Introducing the concept for relational databases & SQL
  • Working with SQL databases - sqlite3
  • CRUD operations in SQL - SELECT, INSERT, UPDATE & DELETE
  • Different JOINs in SQL
  • Working with Python libraries for SQL.

Week 8

  • Teamwork with bigger problems.
  • Advanced git and GitHub.
  • Sovling problems with everything that we know up to now.

Week 9

  • Introducing the concept for ORM in Python
  • Working with SQLAlchemy

Week 10

  • Basic security concepts
  • Hashing
  • SQL Injection
  • Hiding passwords from input
  • Bruteforce protections
  • Working with legacy code

Week 11

  • Working with Iterators, Generators
  • Working with Decorators
  • Working with with blocks.
  • Working with itertools library
  • Figuring out Python's OOP - how does everything work?

Week 12, 13

  • An overview of the language. What do we know about Python?
  • How does the Python community work? Seeing some open source projects.
  • Seeing interesting stuff in Python:
  • Threads
  • asyncio
  • Celery
  • Making things work with Python - doing some basic automation with Raspberry.

Week 14, 15, 16

  • Introducing Django as the web framework for Python
  • Building MVC website
  • Building REST APIs
  • Testing Django code
  • Deployment
  • Project live cycle
  • Continuous integration

About

Programming 101 with Python.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%