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 on this page.
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
Iterators
More on Linked Lists
Thursday
Announcements
More on Queues and Deques
ENOUGH with the Python code already!!
Linked list in-class coding exercise
Week 06 — Finish Lists, Implementations, and Sorting & Test #1
Tuesday
Announcements
Explanation of homework 2
Linked Lists vs. Sequential Lists
Stack implementation using Python list
Doubly-linked lists and use of "None"
Iterators/insertion/deletion in linked lists
Visibility
Brief review for quiz
Thursday
Announcements
No in-class exercise this week, obviously…
Test #1
Week 07 — Algorithm Analysis, Material Review
Tuesday
Announcements
Abstractions upon abstractions
Stack and queue implementations in Python ~ insert() and remove()
Deques ~ Double-Ended Queues [introduction only, no notes]
Beginning Sorting ~ Bubble Sort
Beginning Sorting ~ Insertion Sort
In-class exercise ~ code along with recursive factorial
Thursday
Announcements
Assignment #03 due at start of class
Beginning algorithm analysis
Recursion and recursive data structures
Algorithm analysis using sorting
Algorithm analysis characterization fundamentals
We're not 'out of sorts'…
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 & Trees
Tuesday
Announcements
Algorithm analysis using sorting
Algorithm analysis characterization fundamentals
In-class exercise on Big-Oh and Algorithm Analysis
Thursday
Announcements
Doubly-Linked Lists Redux
Planting trees
Trees, trees, and more trees
Eventually we are in a forest
In-class exercise
Week 10 — The Forests Of Lothlórien & Test #2
Tuesday
Announcements
Binary Search
We're not out of the woods yet…
Trees continues! Binary Trees
Binary SEARCH Trees
Tree Representations in Memory
Balancing Trees ~ AVL, Red-Black, and Splay
Special EE opportunity handout: Parallel Resistance Calculation [if there's time]
Review for Quiz #2
Thursday
Announcements if any
Quiz #2
Week 11 — Koyanesqatzi: Life Out of Balance!
Tuesday
Announcements
Quiz #2 Coverage
Divide and Conquer sorting
Thursday
Announcements
Assignment #04 due at start of class
Heaps and Heaps of Heaps
In-class Exercise With Heaps
Special EE opportunity: Low-pass Filter Design
Special EE opportunity: Parallel Resistance Calculator Design
Week 12 — NO CLASS – EASTER BREAK
ALL WEEK — you've worked hard, take the full week!
No in-class exercise this week, obviously…
Happy Bunny Day!
Week 13 — Divide & Conquer, and Hashing
Tuesday
Announcements
Divide and Conquer Sorting Revisited
Hashing
Collisions
Thursday
Announcements
Hashing continues
Heaps of fun with heaps!
In-class exercise with heaps ~ load up your truck!
Week 14 — Excellent Hash
Tuesday
Announcements
Hashing In-class Exercise Perhaps?
Introduction to graphs
Thursday
Graphs Continues
Adjacency Matrix
Week 15 — Warning: Graphic Content
Tuesday
Announcements
Graphs Continues
Thursday
Announcements
Assignment #05 due at start of class
REMINDER: COURSE EVALUATIONS IN BRIGHTSPACE
Graphs Finishes
In-class exercise
Week 16 — Putting It In Context
Tuesday
Announcements
REMINDER: COURSE EVALUATIONS IN BRIGHTSPACE
Graphs completes — Final Exam Review Begins
Thursday
Announcements
REMINDER: COURSE EVALUATIONS IN BRIGHTSPACE
Final Exam Review Coontinues
Week 17— Final Exam
Tuesday
Announcements
Final Exam Review Completes for the Semester
REMINDER: COURSE EVALUATIONS IN BRIGHTSPACE
Thursday
NO CLASS THIS DAY ~ START OF FINAL EXAMS
Friday
FINAL EXAM — Friday afternoon, 14:00 hours
Since our class time is 13:45 on Tuesday/Thursday, the registrar lists the
exam start time as 14:00 [2:00 PM] on Friday May 8th
…which is the second day of finals this semester.
NOTE that finals week is split this semester and starts on
Thursday May 7th and runs over the weekend to stop on Wednesday
May 13th. So OUR final exam is on the
very second day!