Schedule - CS 303e - Spring 2008


This schedule, and the links contained in it, are subject to change during the semester.

Date Topic Reading and Events
Reading Assignments are from the required textbook, Java Program Design 5.0 by Cohoon and Davidson, unless otherwise noted.
Mon Jan 14 Syllabus and Course Introduction

Link to Notes:
Course info notes

1.Read the course syllabus, topics list, and schedule
2. Read sections 1.1 - 1.4, 2.1 in the book

Program 1 assigned - due on 1/23
You will start, and hopefully complete, this assignment in the lab during Friday's discussion section or on your own beforehand. This Friday only, discussion sections will meet in the Elements lab, PAI 5.38.

Wed Jan 16 A Brief Java Tour
CS Points of Interest

Link to Notes:
lecture 2
Human-Computer Interaction
1. Read the style guidelines for programming assignments in cs 303e. Part of your grade on each programming assignment will be based on style.
2. Purchase a memory stick (USB/flash drive) for permanent storage of your programs. You will need to save your programs on the memory stick before logging off the machines in the elements lab - otherwise your work will be lost!
3. Read the rest of chapter 1.
Fri Jan 18
Discussion section - getting comfortable with using software for this course
Meet your TA in the Elements lab, PAI 5.38, during discussion (this is the location for today only)
1. Read the first programming assignment before you go to discussion section.
2. In discussion, your TA will help you log on to a computer, and help you enter, compile and run your first Java program.

Program 1 due on Wednesday, January 23.
Program 2 assigned - due Feb 1.

Complete the following discussion assignment before your discussion section meets next Friday. It is important for you to work all questions in advance. Quizzes during discussion sections may cover questions from these assignments.
Mon Jan 21 Computers and Algorithms

Link to Notes:
lecture 3
1. Read sections 2.2 and 2.3

 

Wed Jan 23
Primitive data types, variables, constants, calling methods, type conversions and simple programs

Link to Notes:
Lecture 4
1. Re-read sections 2.1-2.3!
2. Program 2 is due Friday, Feb 1, by 9 pm
3. Read Ch 1 in the online Stepp and Reges book (the link is on the course syllabus).
4. Read the section on data types in the Java online tutorial.
Fri. Jan 25

Practice with algorithms
Understanding how Java works



Program 2 assigned - due Feb 5.

Complete the following discussion assignment before your discussion section meets on Friday. It is important for you to work all questions in advance. Quizzes during discussion sections may cover questions from these assignments.
Mon Jan 28
More on constants and simple programs
Input from the keyboard

Link to Notes:
Lecture 5

Wed Jan 30
Input from the keyboard
A couple of String methods
Finish reading chapter 2.
Program 2 due on Tuesday.
Program 3 assigned - due Monday, Feb 11.
Fri. Feb 1
Discussion: practice with primitive data types, assignment statements, and constants

Before your discussion section, work the following exercises in section 2.10:
2.5, 2.6, 2.7, 2.9, 2.11, 2.19
These exercises, as well as the first discussion assignment, will be discussed in discussion section.


Quiz likely (quizzes are very likely during all discussion section meetings).
Mon Feb 4
Reference Types and Strings
Using objects and classes
Using several classes, like Random

Link to Notes:
Lecture 6
 1. Read Chapter 3.
 2. This discussion assignment should be completed before your discussion section meets on Friday.
Wed Feb 6
Methods from the String class
The Random class
Decisions

Link to Notes:
Lecture 7
1. Read sections 5.1-5.4 (we will come back to ch 4 later).
2. Program 4 is due next Monday, Feb 18.
Fri. Feb 8
Discussion:
Practice with the String class
Creating and using objects
Don't forget to complete the discussion assignment before class.
Mon Feb 11 More on decisions
Some methods from the Character class

Link to Notes:
Lecture 8

1. Finish reading chapter 5.
Wed Feb 13
Loops

Link to notes:
Lecture 9
1. Before Friday's discussion section, read about nested loops in chapter 2 of the online Reges and Stepp book, and write programs to solve problems 18-21 in the self-check exercises.
Fri. Feb 15 Practice with decisions and using the Random class
1. Before discussion, work these exercises in section 5.13:
5.4, 5.5, 5.6, 5.11
Mon Feb 18
More loops
Discuss Exam 1
1. Read sections 6.1-6.2.
Wed Feb 20
class cancelled
Exam 1 review
1. Finish reading chapter 6.
Fri. Feb 22 More on Loops

Special Topic: Ajax Programming

1. Exam 1 review sheet - please finish these before discussion
2. Sample exam
3. Practice problems from section 5.13:
5.13, 5.14, 5.17, 5.20, 5.28
Mon Feb 25
Exam 1 Q & A
1. Selected solutions to review sheet
2. Midterm 1: Wed, Feb 27

Wed Feb 27
exam 1

Fri Feb 29

1. Program 5 is due March 7.
Mon. March 3
Review of exam 1
Formatting output
class constants

Wed March 5
File input
Objects and classes

Link to Notes:
Lecture 10
1. Read chapter 4.
Fri. March 7
Discussion section
1. Work on the discussion assignment before class on Friday.
Mon. March 10 spring break

Wed. March 12 spring break

Fri. March 14 spring break

Mon. March 17 Objects and classes
Designing our own classes
1. Program 6 is due Wednesday, March 26 at 9 pm.
2. Work on these practice problems before  discussion on Friday.
Wed. March 19
More on designing classes

Link to Notes:
Lecture 11

Fri. March 21 Discussion: designing a class

Mon. March 24 Objects and classes
Cohoon exercise

Wed. March 26
Class design

Fri. March 28
discussion: writing classes
1. Read 7.1-7.4 in Cohoon and Davidson.
Mon March 31
exam review topics
practice problems for exam 2
selected solutions for exam review

Wed April 2
Exam 2

Fri April 4
Discussion section
1. Program 7 is due April 14, 2008 at 9 pm
Mon April 7
Discuss exam 2

Wed April 9
More on objects and classes
instance variables
Methods:
  return values
  parameters


Link to notes:
Lecture 12

Fri. April 11
Discussion: practice with objects and classes
1. Bring a copy of your Date class to discussion today.
Mon. April 14
Instance variables, local variables, and parameters:
scope and initial values

exam 2 returned

Wed. April 16 Inheritance and the Object class

Link to notes:
Lecture 13

Fri. April 18 discussion

Mon. April 21
Overriding the toString(), clone() and equals() methods from the Object class


Wed. April 23
Finish Square example
Arrays

Link to notes:
Lecture 13

Fri. April 25 Discussion: practice with overriding methods
TA evaluations
1. Read 8.1-8.4.
2. Program 8 is due April 25.
Mon. April 28 Arrays as method arguments and return values
More arrays
command line arguments

Exam 3 Q & A
review sheet for last exam
solutions for review sheet


Link to Notes:
Lecture 14
Lecture 15
Special topic: Electronic voting
1. Exam 3 is during class on Wednesday.
Wed. April 30
Exam 3

Fri. May 2
No discussion.