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
, anddef
- input and output:
input()
andprint
Tuesday, August 11th and Wednesday, August 12th
- Introduction to sequences
- sequence types:
list
,tuple
,str
, anddict
- sequence keywords:
for
,in
- indexing and slicing
- sequence types:
- Introduction to files
- basics:
open
,read
,write
- file modes: “r”, “w”, “a”, “r+”, “w+”, “a+”
- context managers:
with
,as
- treating files as sequences
- basics:
Thursday, August 13th
- modules and importing
- the
import
keyword
- the
- exceptions
- creating exceptions:
raise
andException
- dealing with exceptions:
try
andexcept
- creating exceptions:
- 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: understandingself
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