Momentum logo
Team 3 Classroom

Phase 2 Syllabus, Part 1

Posted on Aug 10th, 2020

As requested, here’s a master syllabus for this phase, up to our introduction to Django. I hope to have the Django syllabus up later this week. I will also be releasing separate syllabi for advanced Python topics (many of which I’ll likely cover in class as time permits) and very advanced topics (I will likely not cover these in great detail, but I hope they can provide a good roadmap if you plan to study Python further).

A note on dates

These dates are speculative/ideal. We may cover more than is indicated here (but not less), at a faster or slower pace, depending on how things go.

Monday, August 10th

  • Introduction to backend programming
  • Introduction to Python
    • differences between Python 2 and Python 3
    • variables
    • arithmetic expressions
    • simple statements: if, while, and def
    • input and output: input() and print

Tuesday, August 11th and Wednesday, August 12th

  • Introduction to sequences
    • sequence types: list, tuple, str, and dict
    • sequence keywords: for, in
    • indexing and slicing
  • Introduction to files
    • basics: open, read, write
    • file modes: “r”, “w”, “a”, “r+”, “w+”, “a+”
    • context managers: with, as
    • treating files as sequences

Thursday, August 13th

  • modules and importing
    • the import keyword
  • exceptions
    • creating exceptions: raise and Exception
    • dealing with exceptions: try and except
  • using modules to structure big projects

Monday, August 17th

  • Object-oriented programming (OOP)
    • What is an object?
    • attributes (data)
    • methods (behavior)
    • inheritance (don’t repeat yourself)
    • instances and classes
  • Object-oriented programming in Python with class
    • class quirks: understanding self and __init__
    • defining methods
    • creating subclasses

Tuesday, August 18th

  • What are packages?

  • PyPi, pip, and pipenv

  • Web application frameworks

  • Introduction to Django

    • What is Django?
    • Structure of Django projects
    • Models, Views, and Templates in django projects

Back to home