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 |