Week 1.1 MT : June 15-16 | |
Lectures | L01A: Course Introduction and Recap of CS160 |
L01B: Recap.java 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 Examples: Die.java; StudentGr.java; Equals.java |
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: Student.java and StudentDB.java; Name.java and ALNames.java |
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. Examples Assert.java; AssertMultiply.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 |