Course Schedule
Week 0
pre-August 4
- Set up your Python development environment as covered on the course resource page.
- Work through exercises 1-14 and 18-35 of Learn Python the Hard Way.
- If you have time, start the readings for Week 1.
- Complete Assignment 0 on the homework page.
Week 1
August 4-8
- Intro to Building Software
- Course details
- Source Control
- Object-Oriented Programming
- Objects, Classes, and Instances
- Inheritance and Polymorphism
- Composition
- SOLID Design principles
- When Things Go Wrong
- Testing
- Exceptions
- Degugging
- Intro to Algorithms
- Intro to Data Structures
Suggested readings:
- Python Classes and Object Oriented Programming
- How to lose $172,222 a second for 45 minutes
- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode
- Automate This, book review by Evgeny Morozov
- Three Rules of Test-Driven Development (TDD)
- Python's Magic Methods
- Sorting Algorithms Visualized
Week 2
August 11-15
No class meetings this week. Complete the homework assignments.
Please take the midterm survey.
Week 3
August 18-22
- Input/Output (Files and Streams)
- Webscraping: HTTP and HTML
- Regular Expressions
- Application Programming Interfaces (APIs)
- Machine Learning: Classification
- Data Analysis with Pandas
- Databases
- Optional: Datastores or Graphical User Interfaces (GUIs)