Class activities will be recorded here.

Week 1.1 MT : June 15-16
Lectures L01A: Course Introduction and Recap of CS160
L01B: program; printf quick reference
Recitations R1: CS160 recap; how to submit assignments using checkin
Reading Recap cs160 material in Savitch chapters 1-4
Assignments P1: Review of CS160 (due Monday June 22 11:59 PM)
Week 1.2 WR : June 17-18
Lectures L02: The basics of Java classes
Recitations R2: implementing a Java class
Reading Chapter 5 in Savitch
iClicker Questions used in Week 1
Week 2.1 MT : June 22-23
Lectures L03: ArrayLists.
Examples: and; and
Recitations R3: more on implementing Java classes this time using ArrayLists
Reading Chapter 5 in Savitch
Assignments P2: Using ArrayLists on a User-Defined Class (due Monday June 29 12 Noon)
Week 2.2 WR : June 24-25
Lectures L04: assertions in Java.
More information is available at the Java documention website.
L05: Recursion.
Recitations R4: assertions and debugging
Reading Chapter 5 in Savitch and Chapter 12.1 in Savitch
iClicker Questions used in Week 2
Week 3.1 MT : June 29-30
Lectures Code examples for ArrayList: Pet and Clinic
L05: Recursion.
Examples: print stars; max; factorial; reversing lines; Maximum 2D; simple factorial; recursive multiplication; tail recursion; towers of hanoi; Fibonacci numbers; binary search.
Recitations R5: recursion
Reading Chapter 12.1 in Savitch
Assignments P3: Recursion (due Monday July 6 12 Noon)
Week 3.2 WR : July 1-2
Lectures L06: Induction.
Recitations Midterm 1 (July 1: Section L02; July 2: Section L01) Material covered until June 24
Reading Chapter 5 in Rosen
Assignments HW1: Induction. (Due Thursday July 9 in class)
iClicker Questions used in Week 3
Week 4.1 MT : July 6-7
Lectures Code example using assertions to demonstrate induction.
L07: Counting.
Recitations R7: Induction
Reading Chapter 6.1 in Rosen.
Week 4.2 WR : July 8-9
Lectures L08: Permutations and combinations.
Recitations R8: Counting
Assignments HW2: Counting and permutations and combinations. (Due Wednesday July 15 in class)
Reading Chapter 6.2 in Rosen.
iClicker Questions used in Week 4
Week 5.1 MT : July 13-14
Lectures L08: Permutations and combinations (contd).
Examples: Recursive permutation generator; Recursive combination generator.
L09: Inheritance in Java;
Examples: payroll; binding
Recitations R9: Permutations & combinations and review of induction & recursion
Reading Chapter 6.2 in Rosen.
Chapter 8.1-8.2 in Savitch
Week 5.2 WR : July 15-16
Lectures L10: Interfaces in Java;
Recitations Complete R10a: Inheritance and Polymorphism and start R10b: Abstract Classes.
Assignments P4: Inheritance and Abstract Classes (due Wednesday July 22 at 12 Noon)
Reading Chapter 8.1-8.2 and 8.4 in Savitch
iClicker Questions used in Week 5
Week 6.1 MT : July 20-21
Lectures Finish interfaces;
L11: Linked Lists
Examples: the LinkedList class; the Node class.
Recitations Finish R10b: Abstract Classes and also R11: Interfaces.
Reading Chapter 8.1-8.2 8.4 12.3 in Savitch
Week 6.2 WR : July 22-23
Lectures Continue linked lists.
Midterm 2 on Thursday July 23 in Lecture (study guide posted on Piazza on July 16)
Recitations R12: Character processing in Java and ciphers.
Assignments P5: Interfaces and Problem Solving: Encryption Decryption and Code Breaking (due Thursday July 30 at 11:59 PM)
Reading Chapter 12.3 in Savitch
iClicker Questions used in Week 6
Week 7.1 MT : July 27-28
Lectures Finish linked lists.
Examples: recursive linked list. Running time comparison of linked lists and ArrayLists (you will need the stopwatch class as well).
L12: Java iterators.
Examples: array iterator; iterable array; prime number iteration.
Recitations R13: Linked Lists.
Reading Chapter 12.3 in Savitch
Week 7.2 WR : July 29-30
Lectures L13: Loop invariants.
Recitations R14: Implementing an iterable linked list
Assignments P6: Linked Lists and Problem Solving (due Wednesday August 5 at noon)
Reading Loop invariants: Section 5.5 in Rosen
iClicker Questions used in Week 7
Week 8.1 MT : August 03-04
Lectures L14: Sorting algorithms.
Here's a nice website that illustrates most of the algorithms that we will discuss. Here are some nice videos that illustrate sorting algorithms through folk dancing: bubble sort; selection sort; and insertion sort. Their algo-rythmics website has some nice animations as well.
Recitations R15: Loop invariants; sorting; review
Reading Sorting: Section 7.4 in Savitch
Week 8.2 WR : August 05-06
Lectures Review on Wednesday
Final exam on Thursday August 6 in Lecture.
Recitations None
Reading Final Exam Study Guide
iClicker Questions used in Week 8