Class Schedule
(the second half of the semester can be found here)
Day 1
M 08/30
Topics: 
1) Introduction & Administrative Items
office hours, etc.
course assistants
web site overview
syllabus overview
2) Our Programming Environment
Mac vs Windows
zipping
using Andrew file system
Readings: 
Ch. 1.0 - 1.6 (pp. 1-13) I will not spend time discussing everything in chapter 1 during class but the material will be part of exam I.
Daily Exercise: no assignment due on Wednesday
Day 2
W 09/01
Topics: 
1) Code Warrior & Java
creating a CodeWarrior project
simple "play" with println & strings
a practice submission (Mac zipping & Submitting from the Prog Env page)
restarting a CW project (Mac vs Win)
additional play with println & strings
renaming the main class in CW
How Java Works (optional)
Readings: Ch 1.7 - 1.10 (pp. 13-28)
Day 3
F 09/03
Topics: 
1) Finishing intro to Code Warrior (from previous day)

2) The Software Development Cycle

3) Variables (w.r.t. Strings)
 - the simple concept of a variable 

4) Strings & String methods
    a) the string as an object
    b) simple string methods (e.g., toUpperCase)
       i) with assignment of variable values
      ii) implicit usage (in printlns)
     iii) mixed string/int concatenation 

Readings: 
Ch 2.1-2.2 (pp 34-41)  The first two sections of chapter 2 explain basic object terminology. We will cover the remaining material of chapter 2 after chapters 3, 5 and 6 [chapter 4 is completely independent of the early chapters].
M 09/06
Labor Day
Day4
W 09/08
Topics: 
1) Basic intro to primitive types (variables & assignment)

2) Primitive integer types 
    a) how integer types are stored (bit-wise) 
    b) bounds of integer types
    c) exclusivity of int (and long) in 15-100

3) Integer arithmetic expressions
    a) + and -
    b) * and parentheticals 
    c) integer division & its implications
    d) % 

The day's ending point


Readings: Ch. 3.1 - 3.3 (pp. 80-92)

Day 05
F 09/10
Topics: 
1) Input using TextInput.java (as a project: demo.zip)
    a) adding a java file to a CW project
    b) some practice with readLine (from the keyboard)
    c) more practice with integers

2) the real primitive types
  a) why doubles instead of floats
  b) expressions
     i) mixed expressions
    ii) casting

The day's ending point

Readings: Ch. 3.4 - 3.6 (pp. 92-107)
Day 06
M 09/13
Topics: 
1) More on primitive types
   a) more complicated numeric expressions
   b) char and boolean
   c) the binary number system (base conversions)
   d) object variables vs primitive type variables
2) What is the Science of Computing?
3) Intro to conditionals (as time permits)

There was no significant programming work beyond the previous day's demo.

Readings: Ch. 3.7 - 3.10 (pp. 107-120)
Day 07
W 09/15
Topics: 
Conditionals & Boolean Expressions
   1)  the if statement
   2) numeric comparison operators
   3) the if..else statement
   4) simple nesting

The day's ending point

Readings: Ch. 5.1- 5.2.2 (pp. 185-193)
Day 08
F 09/17
Topics: 
More with Conditionals
   1) nexting & scope
   2) boolean operators
   3) compound expressions vs nested conditionals
   4) string equality

The day's ending point

Readings: Ch. 5.2.3 - 5.4.3 (pp. 193-212)
Project 1 assigned
Day 09
M 09/20
Topics: 
The new way to hand-in assignments (This is a link to what Lisa wrote for Prof. Kesden)

Using Constants instead of Literals
Still more with Conditionals
   1) more practice
   2) deMorgan's law
   3) lazy evaluation
   4) switch (if time permits)

The day's ending point (a demo of use of constants and of switch)

Readings: Finishing Ch 5  (pp. 212-220)
Day 10
W 09/22
Topics: 
Introduction to Iteration (looping)
1) while loops 
      a) the counting loop pattern
      b) summing loop pattern

The day's ending point

      c) keyboard-based summing loop pattern
      d) (if time) find-the-minimum loop pattern

Readings: Ch 6.1 (pp.227-236)
Day 11
F 09/24
Topics: 
1) More while Loops
    a) finishing from Wednesday

The day's ending point

    b) reading from a file (via TextInput)
2) do..while loops
    a) guaranteeing a typist provides correct input
3) for loops

Sample Exam info

Readings: Ch 6.2 & 6.3 (pp. 236-246)
Day 12
M 09/27
Topics: 
The day's ending point

Included in the zip file is an update to the TextInput class (that includes a test for end-of-file). 
Use this updated version of TextInput.java for all projects where file input is used

Readings: Ch 6.4 (pp. 246-251, 256-259) 
We'll go back to other Ch 6 topics after covering chapter 2

Project 1 due

Day 13
W 09/29
Topics: 
Introduction to functionality & methods
The day's ending point
Readings: Review readings from chapters 1,3,5 and 6

Project 2 assigned

Day 14
F 10/01
Exam I (basics, branching, loops)
Day 15
M 10/04
Topics: 
More with methods - defining input parameters
The class Random

The day's ending point

Reading: The text doesn not address method concepts in isolation. Instead, the ideas are presented in the context of classes (ch 2 & 7)
You might wish to start reading chapter 2 now.
Day 16
W 10/06
Topics: 
Finishing Methods
a) how input parameters work
b) side effects 
c) overloading

The final version of Rock Paper Scissors

Day 17
F 10/08
Topics: 
Parameter Example

Classes & Objects
  a) basic terminology
     1) class vs object
     2) instance variables & state
     3) accessors & mutators (getters & setters)
     4) constructors
  b) examples of use

The day's ending point

Reading: Ch 2.1-2.9 (pp 33-65)
Day 18
M 10/11
Topics: 
More with Classes & Objects
 additional examples & terminology
   a) overloading constructors 
   b) static vs non-static
   c) public vs private

Ending point for the fraction class

Reading: Ch 2.10-2.11 (pp 65-71)   & Ch. 7.1-7.4 (pp 281-293)
Day 19
W 10/13
Topics: 
1) finishing the fraction example
    a) methods with objects of the same class as arguments (e.g., multiplying fractions)
    b) modifying the equals method
    c) the toString method

2) Classes & Design I

Reading: Ch 2 & 7
Day 20
F 10/15
Topics: 
Classes & Design II
A Second look at the Software Development Cycle
 Object Based Design
Reading: Ch 7
Project 2 due

Sample Exam 2 
 

Day 21
M 10/18
Topics: 
Array basics

Ending point

Readings: 
a) For the exam, review chapter 2 & 7
b) for info on arrays, read Ch 13.4 (pp. 530-534)
Project 3 assigned
Note: The design stage (stage 1) will now be due in class on Wednesday 10/27
Day 22
W 10/20

 
Exam 2 (methods, objects & classes)

 
 
F 10/22
Mid-Semester Break