Week #1- Reading:
- Week 1 slides
- Object-oriented python
- PEP8, official Python style guide
- PEP275, python documentation style guide
- Python examples:
| Sep 9- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
| Sep 10 | Sep 11- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
| Sep 12 | Sep 13 |
Week #2- Reading:
- slides on ADTs, python style
- Code like a pythonista
- Stacks
- lab #1 handout
- Python examples:
- stack example from lecture
- one stack implementation
- another stack implementation
- a stack tester
- recursive example: sum a nested list
| Sep 16- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Sep 17- Lab, 1:10–3:00, BA3175–BA3195
lab #1 handout | Sep 18- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Sep 19- Lab, 9:10–11:00, BA3175–BA3195
lab #1 handout | Sep 20- Lab, 9:10–11:00, BA3175–BA3195
- lab #1 handout
- handout for exercise 1, due 11:59 p.m.
|
Week #3- Reading:
- lecture slides
- Lab #2 handout
- Python tutorial on inheritance
- Exceptions
- handout for exercise 2, due Friday 11:59 p.m.
Python examples:- Stack superclass (base class)
- IntStack subclass (derived class)
- raising and catching exceptions
| Sep 23- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Sep 24- Lab, 1:10–3:00, BA3175–BA3195
- handout for course SLOG,
- link to submit URL for SLOG
- Lab #2 handout
| Sep 25- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Sep 26- Lab, 9:10–11:00, BA3175–BA3195
- Lab #2 handout
| Sep 27- Lab, 9:10–11:00, BA3175–BA3195
- Lab #2 handout
- Exercise #2 handout, due 11:59 p.m.
- submit Exercise #2 to MarkUs
|
Week #4- Reading:
- lecture slides
- Recursion notes. But use list comprehensions and built-ins for shorter, clearer code of your own.
- handout for lab #3
- exercise #3 handout
- How to choose test cases (from CSC108)
- Testing functions that mutate values
- Python examples:
- more nested list recursion
- some turtle recursion
| Sep 30- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- lecture slides
| Oct 1- Lab, 1:10–3:00, BA3175–BA3195
- handout for lab #3
| Oct 2- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Oct 3- Lab, 9:10–11:00, BA3175–BA3195
- handout for lab #3
| Oct 4- Lab, 9:10–11:00, BA3175–BA3195
- handout for lab #3
- exercise #3 handout, due 11:59 p.m.
|
Week #5- Reading:
- lecture slides
- lab #4 handout
- SLOG topic for this week
- Examples:
- toah.py
- treelist.py code, with preorder, postorder, inorder
| Oct 7- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Oct 8- Lab, 1:10–3:00, BA3175–BA3195
- lab #4 handout
- Assignment #1 due, 11:59 p.m.
- Assignment 1 handout
- Some Tkinter documentation
| Oct 9- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
- Previous midterm, given several weeks later in the term.
| Oct 10- Lab, 9:10–11:00, BA3175–BA3195
- lab #4 handout
| Oct 11- Lab, 9:10–11:00, BA3175–BA3195
- lab #4 handout
|
Week #6- Reading:
- lab #5 handout
- Excercise 4 handout, due October 18th, 11:59 p.m.
| Oct 14 (University closed) | Oct 15- Lab, 1:10–3:00, BA3175–BA3195
- lab #5 handout
| Oct 16- Test, 9:10–10:00 or 10:10–11:00
- test sample solution
| Oct 17- Lab, 9:10–11:00, BA3175–BA3195
- lab #5 handout
| Oct 18- Lab, 9:10–11:00, BA3175–BA3195
- lab #5 handout
|
Week #7- Reading:
- lecture slides
- linked list reading
- Exercise 5 handout
- node.py starter code
- Examples:
- linked list code node.py
- tree code tree.py
| Oct 21- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Oct 22- Lab, 1:10–3:00, BA3175–BA3195
| Oct 23- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Oct 24- Lab, 9:10–11:00, BA3175–BA3195
| Oct 25- Lab, 9:10–11:00, BA3175–BA3195
- Exercise 5 handout
- node.py starter code
|
Week #8- Reading:
- lecture slides
- trees in How to think like a Computer Scientist
- Wikipedia binary search trees --- only the material on definition and operations
- handout for lab #7
- handout for exercise 6
- bst_iter.py
Examples- binary tree node bt_node.py
- binary search tree bst.py
| Oct 28- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Oct 29- Lab, 1:10–3:00, BA3175–BA3195
| Oct 30- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Oct 31- Lab, 9:10–11:00, BA3175–BA3195
| Nov 1- Lab, 9:10–11:00, BA3175–BA3195
- Exercise #6 due, 11:59 p.m.
|
Week #9- Reading:
- lecture slides
- Sorting, in Interactive Python
- Timsort, the algorithm used by python's built-in sort
- lab #8 handout
- Examples:
- some sorting algorithms
| Nov 4- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Nov 5- Lab, 1:10–3:00, BA3175–BA3195
- Assignment #2 handout, due 11:59 p.m.
- Submit assignment #2 to MarkUs
| Nov 6- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Nov 7- Lab, 9:10–11:00, BA3175–BA3195
| Nov 8- Lab, 9:10–11:00, BA3175–BA3195
|
Week #10 | Nov 11 (University closed) | Nov 12 (University closed) | Nov 13- Test, 9:10–10:00 or 10:10–11:00
- solutions to test 2
- Term test #2 at same time as your lecture, in EX300 (A--L) and EX310 (M--Z)
| Nov 14 | Nov 15 |
Week #11- Reading
- lecture slides
- MapReduce
- handout for lab #9
- Examples:
- regextreenode.py (right-click to download)
- reduce.py examples
| Nov 18- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Nov 19- Lab, 1:10–3:00, BA3175–BA3195
| Nov 20- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Nov 21- Lab, 9:10–11:00, BA3175–BA3195
| Nov 22- Lab, 9:10–11:00, BA3175–BA3195
|
Week #12- Reading:
- lecture slides
- lab #10 handout
Examples:- fib.py fibonacci and quicksort examples
| Nov 25- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Nov 26- Lab, 1:10–3:00, BA3175–BA3195
| Nov 27- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Nov 28- Lab, 9:10–11:00, BA3175–BA3195
| Nov 29- Lab, 9:10–11:00, BA3175–BA3195
|
Virtual week...- Reading:
- review slides
- first page of final, portrait version
- Examples:
- examples.py exam question solution
| Dec 2- Lecture, 9:10–10:00, or 10:10–11:00, BA1180
- annotated slides
| Dec 3 (last day of classes) | Dec 4 | Dec 5 | Dec 6- handout for SLOG, due by 11:59 p.m.
- rubric for grading SLOG
|