Content

Week 1
Mon: 01/23 Getting Started
View Notes
ipynb html
Wed: 01/25 Introduction
View Notes
ipynb html
Week 2
Mon: 01/30 Review of Basic Programming with Python
View Notes
ipynb html
Reference:
pythonds §§1.1-1.4, 1.7, 1.8, 1.10, 1.12
Think Python
Programiz Python Tutorial
Wed: 02/01 Practice Writing Functions
View Notes
ipynb html
Reference:
pythonds §1.12
Think Python Chapter 3
Due:
Assignment 1
Week 3
Mon: 02/06 Sets, Dictionaries, and JSON
View Notes
ipynb html
Reference:
pythonds §1.8
Think Python Chapter 11
Wed: 02/08 JSON and Web APIs
View Notes
ipynb html
Reference:
pythonds §1.8
Think Python Chapter 11
Request Module User’s Guide
Due:
Assignment 2
Week 4
Mon: 02/13 Web APIs and Plotly
View Notes
ipynb html
Reference:
Request Module User’s Guide
Plotly Documentation
Due:
Assignment 3
Wed: 02/15 Dash
View Notes
ipynb html
Reference:
Dash Tutorial
Week 5
Mon: 02/20 Abstract Data Types
View Notes
ipynb html
Reference:
pythonds §1.5 ADTs Defined
pythonds §4.20 Unordered List ADT
pythonds §6.5.3 Map ADT
pythonds §4.4 Stack ADT
pythonds §4.11 Queue ADT
Wed: 02/22 Using Stacks
View Notes
ipynb html
Reference:
pythonds §4.4 Stack ADT
VSCode Python Debugging
Due:
Assignment 4
Week 6
Mon: 02/27 Computational Complexity and Big O
View Notes
ipynb html
Reference:
pythonds §§3.1-3.4
Due:
Exam 1
Wed: 03/01 Calculating Big O
View Notes
ipynb html
Reference:
pythonds §§3.4-3.6
Due:
Assignment 5
Week 7
Mon: 03/06 Analyzing Python Lists
View Notes
ipynb html
Reference:
pythonds §3.6
Python Doc on Time Complexity
Wed: 03/08 Classes and Defining New Types
View Notes
ipynb html
Reference:
pythonds §1.13
pythonds §2.1
Due:
Assignment 6
Week 8
Mon: 03/13 Spring Break
Wed: 03/15 Spring Break
Week 9
Mon: 03/20 Implementing Operators and Hiding Attributes
View Notes
ipynb html
Reference:
pythonds §1.13
pythonds §2.1
Wed: 03/22 Hiding Attributes and Container Classes
View Notes
ipynb html
Reference:
pythonds §3.6
pythonds §§4.5, 4.6, 4.11, 4.12
Due:
Assignment 7
Week 10
Mon: 03/27 Introduction to Linked Lists
View Notes
ipynb html
Reference:
pythonds §3.6
pythonds §§ 4.5, 4.6, 4.19-4.23
Wed: 03/29 More Linked List Operations
View Notes
ipynb html
Reference:
pythonds §3.6
pythonds §§4.19-4.23
Due:
Assignment 8
Week 11
Mon: 04/03 Comparing Alternative Data Structures
View Notes
ipynb html
Reference:
pythonds §3.6
pythonds §§4.10-4.23
Wed: 04/05 Canceled Class - Start on Exam
View Notes
ipynb html
Due:
Assignment 9
Week 12
Mon: 04/10 Doubly Linked Lists
View Notes
ipynb html
Reference:
pythonds §§4.10-4.23
Due:
Exam 2
Wed: 04/12 Improving Search
View Notes
ipynb html
Reference:
pythonds §§6.1-6.5
Week 13
Mon: 04/17 Hash Tables
View Notes
ipynb html
Reference:
pythonds §6.5
Due:
Assignment 10
Wed: 04/19 Recursion
View Notes
ipynb html
Reference:
pythonds §§5.1-5.8
Week 14
Mon: 04/24 Sorting Algorithms
View Notes
ipynb html
Reference:
pythonds §§6.6-6.12
Due:
Assignment 11
Wed: 04/26 Insertion Sort and Merge Sort
View Notes
ipynb html
Reference:
pythonds §6.9
pythonds §6.11
Week 15
Mon: 05/01 Binary Search Trees
View Notes
ipynb html
Reference:
pythonds §§7.2-7.6,7.11-7.14
Wed: 05/03 Searching, Removing From, and Balancing BSTs
View Notes
ipynb html
Reference:
pythonds §§7.11-7.14
Due:
Final Project
Week 16
Mon: 05/08 No meeting during finals week
Wed: 05/10 No meeting during finals week
Due:
Exam 3