The following outline presents the topics that are covered, in the approximate order and time frame
in which they will be discussed. Weeks that have passed will be grayed out.
The upcoming or current week will be green. Click on each title to expand it
and see the topics for that week. Click on the Expand All or Collapse All buttons to do
the appropriate action for all weeks.
File Organization. Python I/O, Packages and Namespaces
Python documentation — Pythondocs
Pythondoc comment style
Pythondoc tags and in-line comment tags
Pythondoc cross references
Discussion of floating point numbers
Python Interfaces Intro
Discussion of in-class exercise — MyFileCopier.Python
In-class exercise: MyFileCopier
Week 03 — Python Fundamentals, Part II
Tuesday
Announcements
Discuss Bloch items 12 & 14 ~ "need to know", composition vs. inheritance
Continue with Workshop
More Python Basics
Thursday
Announcements
Computer Architecture
Garbage Collector
Memory and management
Abstract data types
Sequential Lists
Arrays revisitied
Stacks and Queues
In-class Exercise
Python Generics — a way to improve collections
Week 04 — Python Fundamentals, Part III
Tuesday
Announcements
Discuss readings
Structures made of other structures
Linked lists
Abstract Data Types [ADT's]
Iterators
Discuss Bloch reading Items 16 & 17 ~ interfaces
Finish Python Basics
Introduction to the Python API
Linked Lists
Lab work begins/continues on assignment #03
Thursday
Announcements
Assignment #02 due at start of class
Iterators
More on Linked Lists
Week 05 — Sorting, Review
Tuesday
Announcements
Beginning Sorting ~ Bubble Sort
Beginning Sorting ~ Insertion Sort
We're not 'out of sorts'…
Brief review for quiz
Thursday
Announcements
More on Queues and Deques
Week 06 — Analysis, Review, and Quiz #1
Tuesday
Announcements
Finish With Sorting
Finish Quiz review
Thursday
Announcements
Quiz #1
Week 07 — Questions Answered & Continuing Sorting
Tuesday
Announcements
Test coverage and related matters
Beginning algorithm analysis
Thursday
Announcements
Algorithm analysis using sorting
Algorithm analysis characterization fundamentals
In-class exercise
Week 08 — NO CLASS – SPRING BREAK
ALL WEEK — you've worked hard, take the full week!
No in-class exercise this week, obviously…
Week 09 — Recursion and Trees
Tuesday
Announcements
Recursion and recursive data structures
Doubly-Linked Lists Redux
Planting trees
Thursday
Announcements
Trees, trees, and more trees
Eventually we are in a forest
In-class exercise
Week 10 — The Forests Of Mordor
Tuesday
Announcements
More on trees
Thursday
Announcements
Trees continues
We reach the end of the forest?
Homework #3 Due
Week 11 — Koyanesqatzi: Life Out of Balance! [Quiz 2 Review]
Tuesday
Announcements
Divide and Conquer sorting
Thursday
Announcements
Review for Quiz #2 next Tuesday
Week 12 — Quiz #2, and Easter, Too!
Tuesday
Announcements
Quiz #2
Thursday
You've worked hard, take the rest of the week!
No in-class exercise this week, obviously…
Happy Bunny Day!
Week 13 — Divide & Conquer, and Hashing
Tuesday
Announcements
Questions and quiz matters
Hashing
Collisions
Thursday
Announcements
Hashing continues
Heaps of fun with heaps!
In-class exercise with heaps ~ load up your truck!
Special EE opportunity: Low-pass Filter Design
Week 14 — A Visit to Mel's Diner — Excellent Hash
Tuesday
Announcements
Hashing In-class Exercise Perhaps?
Introduction to graphs
Thursday
In-class exercise [perhaps]
Week 15 — Warning: Graphic Content
Tuesday
Announcements
Introduction to graphs
Thursday
Announcements
REMINDER: COURSE EVALUATIONS IN BRIGHTSPACE
LOTS more on graphs
In-class exercise [perhaps]
Homework #4 Due
Week 16 — Putting It In Context
Tuesday
Announcements
It all goes together somehow — Final Exam Review Begins
Thursday
Announcements
REMINDER: COURSE EVALUATIONS IN BRIGHTSPACE
Final Exam Review Completes the Semester
Week 17— Final Exam
Section 01
FINAL EXAM — Thursday morning, 11:00 AM
Since our class time is 13:45 on Tuesday/Thursday, the registrar lists the
exam start time as 11:00 AM on the Thursday of finals week. Check the
Registrar's Final
Exam Schedule page to make certain of the date and time.