Week #1- Reading:
- Week 1 slides
- Object-oriented python
- PEP8, official Python style guide
- PEP275, python documentation style guide
- PEP3107, python function (type) annotations
- Python examples:
| Jan 6- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
| Jan 7 | Jan 8- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
recursion preview (dustin's section)
| Jan 9 | Jan 10 |
Week #2- Reading:
- slides on ADTs, python style
- Code like a pythonista
- Article on Python properties
- Stacks
- lab #1 handout
- Lab sections by time and surnames
- Python examples:
- using property to control access to coord attribute
- stack example from lecture
- another stack implementation
- a stack tester
- recursive example: sum a nested list
| Jan 13- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
| Jan 14- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Jan 15- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
- slides (updated Jan16)
- example code (updated Jan16)
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Jan 16- Exercise #1 handout
- submit Exercise 1 by 9:59 p.m.
| Jan 17 |
Week #3- Reading:
- lecture slides
- Lab #2 handout
- Python tutorial on inheritance
- Inheritance versus composition
- Exceptions
- Python examples:
- Stack superclass (base class)
- IntStack subclass (derived class)
- raising and catching exceptions
| Jan 20- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
| Jan 21- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Jan 22- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- Lecture, 6:10–8:00 p.m., MS3153
files updated 23 Jan - slides
- exceptions.py
- stack.py
- int_stack.py
- mult_inher.py
- ordered_set.py
- simulating_recursion.txt
- new_point.py
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Jan 23- slog handout
- submit slogURL.txt by 9:59 p.m.
| Jan 24 |
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
- How to choose test cases (from CSC108)
- Testing functions that mutate values
- Python examples:
- more nested list recursion
- some turtle recursion
- permutations using recursion
| Jan 27- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
| Jan 28- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Jan 29- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
- slides
- recursion ex remove3s
- recursion ex Sierpinski
- recursion ex permutations
- recursion ex turtle
- functional programming w/ nested lists
- recursion ex binary codes
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Jan 30- Exercise #2 handout
- submit Exercise 2 by 9:59 p.m.
| Jan 31 |
Week #5- Reading:
- lecture slides
- lab #4 handout
- Examples:
- code for tower of hanoi recursion
- example of find names in different scopes
| Feb 3- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
| Feb 4- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Feb 5- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
- slides
- towers of hanoi (updated 6 Feb)
- namespaces/scopes
- unit testing exercise
- soln to switches from lab (updated 6 Feb)
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Feb 6 | Feb 7 |
Week #6- Reading:
- slides
- How to think like a computer scientist --- trees
- lab #5 handout
- Examples:
- binary trees as python lists
- linked implementation of a tree
| Feb 10- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
| Feb 11- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Feb 12- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
- slides
- tree traversals on nested lists
- recursive tree class (*UPDATED Feb 21*)
- recursive linked list class
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Feb 13- Handout for Assignment #1
- submit Assignment 1 by 9:59
| Feb 14 |
Reading week! |
Week #7- Reading:
- lecture slides
- linked list reading
- lab #6 handout
- Examples:
- linked list example
| Feb 24- annotated slides
| Feb 25- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Feb 26- Test, 9:10–10:00 or 10:10–11:00
- fall 2013, first term test
- winter 2013 first term test
- old midterm that covers more material (e.g. big-Oh)
- Test solutions:
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Feb 27 | Feb 28 |
Week #8- Reading:
- lecture slides
- two ways to represent linked lists
- handout for lab #7
Examples- linked list with wrapper example
| Mar 3- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
| Mar 4- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Mar 5- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
- slides
- LinkedList with two versions of initializer
- linked list with LLNode class + wrapper class
- binary search trees
- linked list implementation of Stack ADT
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Mar 6- Assignment #2 handout
- submit Assignment 2 part I, by 9:59 p.m.
| Mar 7 |
Week #9- Reading:
- lecture slides
- Wikipedia binary search trees --- only the material on definition and operations
- lab #8 handout
- Examples:
- binary search tree example
| Mar 10- Lab, 9:10–11:00, BA3175–BA3195
- annotated slides
| Mar 11- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Mar 12- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
- slides (updated Mar 13)
- almost-sorted search problem
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Mar 13- Exercise #3 handout
- submit Exercise 3 by 9:59 p.m.
| Mar 14 |
Week #10- Reading:
- lecture slides
- Sorting, in Interactive Python
- Timsort, the algorithm used by python's built-in sort
- lab #9 handout
- Python examples
- sort.py examples
| Mar 17- annotated slides
| Mar 18- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Mar 19- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
- slides
- sorting functions
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Mar 20- ./Assignments/A2/a2.pdfAssignment #2 handout
- submit Assignment 2 part II by 9:59 p.m.
| Mar 21 |
Week #11- Reading
- lab #10 handout
- lecture slides
| Mar 24- annotated slides
| Mar 25- Lab, 9:10–11:00, BA3175–BA3195
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 7:10–9:00, BA3175–BA3195
| Mar 26- Test, 9:10–10:00 or 10:10–11:00
- sample second term test
- test a solutions
- test b solutions
- test c solutions
- test d solutions
- test e solutions
- solutions common to all versions
- BST_rec1.py lab solution
- BST_rec2.py lab solution
- BST_rec3.py lab solution
- BST_iter.py lab solution
- inorder.py lab solution
- longest.py lab solution
- linked_list.py lab solution
- lab07_linked_list.py lab solution
- Lecture, 7:00–8:00 p.m., MS3153
- slides
- fibonacci.py (memoization)
- practice prob for final [hint, solution]
- sort.py with timing bug fixed
- Lab, 11:10–1:00, BA3175–BA3195
- Lab, 1:10–3:00, BA3175–BA3195
- Lab, 3:10–5:00, BA3175–BA3195
- Lab, 5:10–7:00, BA3175–BA3195
| Mar 27 | Mar 28 |
Week #12- Reading:
- lecture slides
- exam first page
Examples:
| Mar 31- Lecture, 9:10–10:00, or 10:10–11:00, WB116
| Apr 1 | Apr 2- Lecture, 9:10–10:00, or 10:10–11:00, WB116
- annotated slides
- Lecture, 6:10–8:00 p.m., MS3153
- slides
- polygon class
- special polygon class
- int to decimal string example problem
| Apr 3- Exercise 4 handout
- submit Exercise 4 by 9:59 p.m.
| Apr 4 |