Skip to content

AlexanderTankov/HackBulgaria-Programming-101

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programming101 v2

______                                              _               __  _____  __  
| ___ \                                            (_)             /  ||  _  |/  |
| |_/ / __ ___   __ _ _ __ __ _ _ __ ___  _ __ ___  _ _ __   __ _  `| || |/' |`| |
|  __/ '__/ _ \ / _` | '__/ _` | '_ ` _ \| '_ ` _ \| | '_ \ / _` |  | ||  /| | | |
| |  | | | (_) | (_| | | | (_| | | | | | | | | | | | | | | | (_| | _| |\ |_/ /_| |_
\_|  |_|  \___/ \__, |_|  \__,_|_| |_| |_|_| |_| |_|_|_| |_|\__, | \___/\___/ \___/
                 __/ |                                       __/ |
                |___/                                       |___/

Harry Potter Python

The second issue of the Programming 101 course which covers Python, Linux and Git. The course is part of HackBulgaria. The course syllabus in bulgarian can be seen here.

How to use this repository

This repo will include weeks, exams, tasks and solutions for the course.

They'll be separated like:

  • Weeks - ^week\d+, ex. week0, week1 and etc.

  • Exams will be grouped in one folder exams, that will contain folders of the exams - ^exams/exam\d+, ex. exams/exam1, exams/exam1 and etc.

  • Tasks may be in week or exam folders - ^(week\d|exam\d)/(\d-.+), ex. week0/1-Hello-World, exam1/5-Python-Party

Every folder will have a README.md file, but weeks may also have materials.md files that serve as pre-reading material, for that week.

Course Program

We are going to work with a console & text editor a lot. Linux is a mandatory operating system for this course.

  • Introducing basic git usage - how to install, configure and clone stuff.
  • Introducing the editors we are going to work with - Sublime Text & Atom
  • We will start with basic Python tasks, to get familiar with the syntax and basic Python structures
  • Introducing PEP8 formatting & plugins. Getting religious about PEP8.
  • Introducing Linux & the shell - basic commands. We will install and compile a lot of things!
  • Introducing TDD (Test Driven Development) as a way of living & coding. Getting religious about TDD.
  • Solving lots of Python problems with TDD.
  • Introducing OOP concepts in Python & solving more abstract & complex problems with OOP & TDD
  • Introducing Database concepts with Python and sqlite3
  • Introducing teamwork problems & leveling up our git skills - working with branches, merges & pull requests.
  • Solving team problems, using Git, Python's OOP and TDD
  • Introducing to basic security concepts - SQL injections, hash functions & password hashing, bruteforce protection.
  • Introducing Python's SQLAlchemy ORM - working with more complex database problems.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages