Week | Topics |
---|---|
Week 0:
Prep for class |
Work through ”Learn Python the Hard Way, 2nd Ed.”. Email the group about things that don’t make sense. It is not expected that everything will be crystal clear, but figuring out which parts of this are hazy will give us a good starting point and some momentum going into the start of class. |
Week 1:
Building Software: Some Best Practices |
Python Review
Source Control: DVC, Git, github Exceptions in Python Testing: Motivations, TDD, Unit Testing Code from Class: inclass.py inclasstest.py Homework 1 - Due next class |
Week 2:
Object Oriented Programming |
Object Oriented Concepts: Motivations, Polymorphism, Inheritance, Encapsulation, Static/Instance, Public/Private
How does Python do it?: Python classes, constructors, __str__ Code from Class: fib.py polymorphism.py polymorphismtest.py sports.py Homework 2 - Due next class |
Week 3:
Algorithms |
Exception Handling
Sort: Selection Sort, Merge Sort, Quick Sort, others Search: Binary Search Complexity: How is it measured? Big O notation Code from Class: exc_ex.py Homework 3 - Due next class |
Week 4:
Data Structures |
Common Data Structures: Array, List, Stack, Queue, Tree, Graph, Dictionary
Python’s Data Structures: What does Python have? Homework 4- Due next class |
Week 5:
I/O |
File I/O: reading and Writing
HTTP: GET/POST The structure of the web: HTML Performance Code from Class: filestuff.py csvstuff.py url_grabbing.py Homework 5 - Due next class |
Week 6:
APIs |
What are APIs?
HTTP in depth REST/SOAP Twitter API with Tweepy Code from Class: twitter.py urlparsing.py Homework 6 - Due next class |
Week 7:
Databases |
Relational Database Design
Database performance considerations Using databases with Python Code from Class: sqlex.py Homework 7 - Due next class |
Week 8:
Classification |
Classification algorithms
Naive Bayes Nearest Neighbor Neural Networks Homework 8 - Due next class |
Week 9:
Linear Programming |
What is an LP?
What types of problems can we solve? Applications in MathProg Applications in Python Homework 9 - Due next class |
Week 10:
Slack / Special Topics |
|
Week 11:
Project Checkins / Code Reviews |
|
Week 12:
Project Checkins / Code Reviews |