(Syllabus is subject to change.)
Date | Topics | Readings in Nino & Hosch |
Assignments due in OWL 9am, E.C. for 12am before |
---|---|---|---|
Lecture #0 Thur, Jan 27, in ECSE 119 |
Course Introduction Computers in the world, programs and languages, modeling the world, example snippets of Java, course outline and logistics. Questionaire. Handout. |
Chapter 0 |
(Read Chapters 0 & 1, and install DrJava on your computer.) |
Lecture #1 Tues, Feb 1 |
Data abstraction, naming & storing data Objects, values and types, classes, primitive types, Strings, Counter.java briefly, references: objects as properties of other objects, primitive types in memory, identifiers and literals. Finding the OWL exercises for Exercise #1. |
Chapter 1 all sections |
Exercise #1, due Feb 7, Monday. |
Lab #1 Thur, Feb 3 |
Typing expressions & your first object Interactively enter Java expressions in DrJava, declare & assign variables, modify HelloWorld, create a Person class, how to hand in assignments in OWL. |
Programming #1, due Feb 8, Tuesday. |
|
Lecture #2 Tues, Feb 8 |
Defining a simple class Clients and servers, specification vs implementation, Counter.java again in detail, simple arithmetic in Java, TrafficLight example. Last day to drop the class with no record. |
Chapter 2 |
Exercise #2, due Feb 10, Thursday. |
Lab #2 Thur, Feb 10 |
Working with classes and methods Design and create a class that supports queries and commands. |
Programming #2, due Feb 15, Tuesday. |
|
Lecture #3 Tues, Feb 15 |
Designing interacting classes |
Chapter 3 the example in 3.2 is less important than those in 3.3 and 3.4 |
Exercise #3, due Feb 17, Thursday. |
Lab #3 Thur, Feb 17 |
Working with interacting classes Point, Circle, Square, move, rotate. |
Programming #3, due Feb 22, Tuesday. |
|
Lecture #4 Tues, Feb 22 |
Conditions Conditional statements, boolean variables and conditions, else, many linked decisions. |
Chapter 4 |
Exercise #4, due Feb 24, Thursday. |
Lab #4 Thur, Feb 24 |
Working with conditionals Computational geometry: rect.intersectsWith(). |
Programming #4, due Mar 1, Tuesday. |
|
Lecture #5 Tues, Mar 1 |
Programming by contract, testing Pre-conditions and post-conditions, using assert. |
Chapter 5 & 6 |
Exercise #5, due Mar 3, Thursday. |
Lab #5 Thur, Mar 3 |
Working with testing, and Midterm review ... |
||
Tues, Mar 8 | MIDTERM EXAM |
||
Lab #M Thur, Mar 10 |
Get Midterm back Go over problem spots, answer questions. |
Programming #5, due Mar 22, Tuesday. |
|
Tues, Mar 14 | SPRING BREAK | ||
Thur, Mar 16 | SPRING BREAK | ||
Lecture #6 Tues, Mar 22 |
Text-based UI, and Iteration ... |
Chapter 7 |
Exercise #6, due Mar 24, Thursday. |
Lab #5 Thur, Mar 24 |
Programming #6, due Mar 29, Tuesday. |
||
Lecture #7 Tues, Mar 29 |
Interfaces ... |
Chapter 9 |
Exercise #7, due Mar 31, Thursday. |
Lab #7 Thur, Mar 31 |
Programming #7, due Apr 5, Tuesday. |
||
Lecture #8 Tues, Apr 5 |
Inheritance ... |
Chapter 10 |
Exercise #8, due Apr 7, Thursday. |
Thur, Apr 7 | SECOND MIDTERM EXAM | Programming #8, due Apr 12, Tuesday. |
|
Lecture #9 Tues, Apr 12 |
Lists ... |
Chapter 12 |
Exercise #8, due Apr 14, Thursday. |
Lab #9 Thur, Apr 14 |
Programming #9, due Apr 19, Tuesday. |
||
Lecture #10 Tues, Apr 19 |
Arrays ... |
Chapter 13 |
Exercise #9, due Apr 21, Thursday. |
Lab #10 Thur, Apr 21 |
Programming #10, due Apr 26, Tuesday. |
||
Lecture #11 Tues, Apr 26 |
Sorting and searching ... |
Chapter 14 |
Exercise #10, due Apr 28, Thursday. |
Lab #11 Thur, Apr 28 |
Programming #11, due May 3, Tuesday. |
||
Lecture #12 Tues, May 3 |
Mystery Topic ... |
Exercise #11, due May 5, Thursday. |
|
Lab #12 Thur, May 5 |
Programming #12, due May 10, Tuesday. |
||
Lecture #13 Tues, May 10 |
Lecture Review Session ... |
Exercise #12, due May 13, Thursday. |
|
Lab #13 Thur, May 12 |
Lab Review Session ... |
||
Fri, May 13 | READING PERIOD BEGINS | ||
??, May ?? | FINAL EXAM On material from the entire semester. |