8/28 | Introduction to the course
Read Sections 1.1-1.3: Computers and programs, Computer tour, Language history |
8/30 | Basics of programming
Read Sections 1.4-1.5: Programming, A first program |
9/1 | Input and output
Read Sections 1.6-1.9: Basic output, Basic input, Comments and whitespace, Errors and warnings |
9/4 | Variables and types
Read Sections 2.1-2.5: Variables (int), Assignments, Identifiers, Characters, String basics |
9/6 | Arithmetic
Read Sections 2.6-2.8: Arithmetic expressions (int), Floating-point numbers (double), Using math methods Problem Set 1 due |
9/8 | Binary representations
Read Sections 2.9-2.10: Type conversions, Binary |
9/11 | Conditional statements
Read Sections 3.1-3.2: If-else, Relational and equality operators |
9/13 | Booleans and logic
Read Sections 3.3-3.5: Logical operators, Boolean data types, String comparisons Problem Set 2 due |
9/15 | Complex branching
Read Sections 3.6-3.7: Multiple if-else branches, Switch statements Quiz 1 |
9/18 | While loops
Read Sections 4.1-4.3: Loops, While loops, More while examples |
9/20 | For loops
Read Sections 4.4-4.5: Counting, For loops Problem Set 3 due |
9/22 | Complex looping
Read Sections 4.6-4.8: Nested loops, Variable name scope, Developing programs incrementally |
9/25 | Arrays
Read Sections 5.1-5.2: Array concept, Arrays |
9/27 | Using arrays
Read Sections 5.3-5.5: Iterating through arrays, Multiple arrays, Loop-modifying or copying/comparing arrays Problem Set 4 due |
9/29 | 2D arrays
Read Section 5.6: Two-dimensional arrays Quiz 2 |
10/2 | Midterm Review |
10/4 | MIDTERM 1 |
10/6 | Midterm feedback, intro to methods |
10/9 | Defining and using methods
Read Sections 6.1-6.3: User-defined method basics, Parameters, Return |
10/11 | Complex methods
Read Sections 6.4-6.6: Scope of variable/method definitions, Methods with branches/loops, Array parameters Problem Set 5 due |
10/13 | Fall Break |
10/16 | Intuition and testing
Read Sections 6.7-6.8: Reasons for defining methods, Unit testing (methods) |
10/18 | More practice
Read Sections 6.9-6.10: Method name overloading, Methods: common errors Quiz 3 |
10/20 | Intro to objects and classes
Read Sections 7.1-7.3: Objects: Introduction, Classes: Introduction, Abstract data types: Introduction Problem Set 6 due |
10/23 | Constructors
Read Sections 7.4-7.5: Constructors, Constructor overloading |
10/25 | Member methods and testing
Read Sections 7.6-7.7: Mutators, accessors, and private helpers, Unit testing (classes) |
10/27 | Class details
Read Sections 7.8-7.9: Objects and references, The 'this' implicit parameter Problem Set 7 due |
10/30 | Reference types
Read Sections 7.10-7.12: Classes with classes, Primitive and reference types, Parameters of reference types |
11/1 | ArrayList
Read Sections 7.13-7.14: ArrayList, ArrayList ADT Quiz 4 |
11/3 | ArrayList Example
Read Section 7.15: ArrayList example Problem Set 8 due |
11/6 | Midterm Review |
11/8 | MIDTERM 2 |
11/10 | Midterm feedback, intro to recursion |
11/13 | Recursive methods
Read Sections 8.1-8.2: Recursion: Introduction, Recursive methods |
11/15 | Binary search
Read Sections 8.3-8.4: Recursive algorithm: Search, Creating a recursive method |
11/17 | More recursive algorithms
Read Sections 8.5-8.6: Stack overflow, Recursive math methods |
11/20 | In-class app development |
11/22 | Thanksgiving Break |
11/24 | Thanksgiving Break |
11/27 | In-class app development |
11/29 | In-class app development
Quiz 5 |
12/1 | In-class app development |
12/12 | FINAL EXAM (2pm) |