Progress

This page provides a week by week classroom, recitation, and assignment plan. Watch this page for updates and changes, and consider this a record of we have done in the class.

Week 1 : Jan 22 – 25
Lectures L01: Course introduction and recap of 160. Here's the code for Recap.java.
Recitations recit1: 160 recap; how to submit assignments using checkin
Assignments PA1: manage a collection of rectangles. Due Friday 2/1/13 at 5pm.
Reading We will cover selected material from chapters 1-5 in Savitch
Week 2 : Jan 28 – Feb 1
Lectures L02: Writing Java classes. Code for the Student class.
Recitations recit2: practice writing Java classes.
Assignments PA2: An object oriented re-write of the code of assignment 1. Due Friday 2/8/13 at 5pm.
Reading Chapter 5 in Savitch
Week 3 : Feb 4 – Feb 8
Lectures L03: ArrayLists. Code for the student database class.
Recitations recit3: More practice with Java classes and ArrayLists
Assignments PA3: Using ArrayLists. Due Friday 2/15/13 at 5pm.
PA2R: A regrade option for assignment 2. Resubmit Rectangle.java as PA2R. You can receive up to 80% of the grade. Due Friday 2/15/13 at 5pm.
Reading Chapter 12.1 in Savitch
Week 4 : Feb 11 – Feb 15
Lectures L04: Assertions and loop invariants. Here's an example of using assertions.
L05: Recursion. Examples: computing maximum and factorial; multiplication.
Assignments PA4: More object practice. Due Friday 2/22/13 at 5pm.
Recitations recit4: Assertions and debugging.
Reading Assertions: Section 4.2 in Savitch (p. 239). Loop invariants: Section 4.5 in Rosen
Recursion: Chapter 11 in Savitch
Week 5 : Feb 18 – Feb 22
Lectures L05a: Recursion. Examples: computing maximum and factorial; multiplication.
L05b: More recursion. Examples: binary search; bit patterns.
Assignments PA5: Recursion. Due Friday 3/8/13 at 5pm.
PA3R: A regrade option for assignment 3. Resubmit as PA3R. You can receive up to 80% of the grade. Due Friday 3/1/13 at 5pm.
Recitations recit5: Recursion.
Reading Chapter 11 in Savitch
Week 6 : Feb 25 – March 1
Lectures L06: Proof by induction.
Assignments PA4R: A regrade option for assignment 4. Resubmit as PA4R. You can receive up to 80% of the grade. Due Friday 3/1/13 at 5pm.
Recitations Programming midterm. Information about the midterm is posted on piazza.
Reading Chapter 5 in Rosen
Week 7 : March 4 – March 8
Lectures L07: Counting
Assignments HW1: Written assignment on induction. Due in class - 3/14 for Asa's section; 3/15 for Nayeem's
Recitations recit7:Induction.
Reading Chapter 6.1 in Rosen
Week 8 : March 11 – March 15
Lectures L08: Counting: permutations and combinations
Assignments HW2: Written assignment on counting. Due in class - 3/28 for Asa's section; 3/29 for Nayeem's
Recitations recit8: Counting
Reading Chapter 6.2
Week 9 : March 25 – March 29
Lectures L09: Inheritance and polymorphism in Java. Here's the example code we looked at.
Assignments HW3: Written assignment on counting. Due in class - 4/8 for Nayeem's section and 4/9 for Asa's
Recitations recit9: Review for midterm
Reading Chapter 8.1-8.3 in Savitch
Week 10 : April 1 – April 5
Lectures L10: Interfaces. Example of implementing the Comparable interface.
Midterm: April 4th in Asa's section and April 5th in Nayeem's
Assignments PA6: Inheritance. Due Friday 4/19/13 at 5pm.
Recitations recit10: Inheritance
Reading Chapter 8.4 in Savitch
Week 11 : April 8 – April 12
Lectures L11: Linked Lists. Java code: Node class; Linked List class; and an alternative linked list. Here is a Linked List class with methods implemented in class.
Recitations recit11: Interfaces
Reading Chapter 12.3 in Savitch
Week 12 : April 14 – April 20
Lectures L11: Continue the linked list slides (slides were updated with a couple of additional slides on recursive linked lists). Java code: Timing comparison of linked lists and ArrayLists (you will need the stopwatch class as well); linked list recursively; doubly linked List class.
L12: Java iterators. Examples: array iterator; iterable array; iterating through primes.
Recitations recit12: Linked lists
Reading Chapter 12.3 in Savitch
Week 13 : April 21 – April 27
Lectures L13: Sorting algorithms. Here's a nice website that illustrates most of the algorithms that we will discuss.
We will also introduce the next assignment - here are the slides.
Assignments PA7: Implementing interfaces. Here's some data to play with for the assignment training data and testing data. And the interfaces: LabeledData and classifier. Due Monday 5/6/13 at 5pm. The regrade period for PA7R ends monday 5/13/13 at 5pm.
Recitations recit13: Implementing an iterable linked list
Reading Chapter 7.4 in Savitch
Week 14 : April 29 – May 3
Lectures We will continue the discussion of sorting algorithms. Here are some nice videos that illustrate sorting algorithms through folk dancing: bubble sort; selection sort; and merge sort. Their algo-rythmics website has some nice animations as well.
L14: Static methods/variables revisited; Java packages.
Recitations recit14: Sorting algorithms
Reading Chapter 6.2 in Savitch
Week 15 : May 6 – May 10
Lectures Review for the final exam.
Recitations recit15: review