Skip to content

petarivanovv9/Python101-and-Algo1-Courses

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programming101-Python - v3

  • 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.
  • Introducing basic web programming concepts - HTTP, HTML * CSS.
  • Introducing the Django framework for web development - implementing a web application that works with database.
  • Learning how to deploy our web application - http servers & configuration.
  • Intoducing to multithreading and networking with Python.

Algo - v1

Lecture 1 - Intro, analysis and data structures

  • Course introduction
  • Algorithm analysis
    • Execution instructions
    • Asymptotic analysis
    • Algorithm complexity and Big Oh notation
    • Best/wrost case analysis
  • Linear data structures
    • Array
    • List
    • Vector
    • Queue/Stack

Lecture 2 - Sorting

Lecture 3 - Searching

Lecture 4, 5 - Binary trees

Lecture 6 - Binary Indexed Tree & Range Minimum Queries

Lecture 7 - Graphs - Properties, representation and traversals

Lecture 8 - Graphs - Topological sorting

Lecture 9 - Graphs - Euler cycles and paths

Lecture 10 - Graphs - Spanning trees, Minimum spanning trees

Lecture 11 - Graphs - Shortest path

To be discussed

  • Hashing
    • Hash function
    • Hash table
    • Bloom filter
  • String algorithms
    • Trie
    • Rolling hash
    • Run-length encoding
    • Burrows-Wheeler transform
    • Knuth-Morris-Pratt
  • Randomized algorithms - Monte Carlo and Las Vegas
  • Dynamic programming

About

Tasks from Python and Algo courses

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published