Schedule - CS 305j - Fall 2010


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, Building Java Programs by Reges and Stepp, unless otherwise noted. Read the assignments before class.
Wed Aug 25 Syllabus and Course Introduction

Link to Notes:
Intro to cs 305j
Frog and Toad Puzzle

1.Read the course syllabus carefully.
2. Read sections 1.1 - 1.3 in the book.
3. Apply for your lab account today - see the syllabus for more details.

4. Read Advice for CS Undergrads (from Joel on Software)

Program 1 assigned.
You will start, and hopefully complete, this first assignment in the lab during next Tuesday's discussion section. If you finish the assignment before discussion, you do not need to attend the first discussion section meeting.

Fri Aug 27 Computers and Languages
How Java Works
Basic Java Programs
Lecture 1
  1. Read sections 1.4-1.5.
  2. Practice-It! exercises: 1.1 Stewie, 1.5 Stewie2
  3. Puzzler of the Day
Mon Aug 30 Simple Java Programs
Comments in Java
Algorithms
Static Methods and Procedural Decomposition
Notes in ppt and pdf
1. Ch 1 self-check problems: 5, 7, 13, 15, 16, 17, 19
2. Practice-It! exercises: 1.6 DrawEgg
3. Puzzler of the Day
Tues Aug 31 optional discussion section - attend if you need help with class software or lab 1
Wed Sept 1 Procedural Decomposition and static methods example
1. Re-read the case study in section 1.5.
2. Puzzler of the Day
3. Practice It! exercises: 1.10 Shining
Fri Sept 3 Procedural Decomposition - Case Study Solution
Data Types, Variables, Arithmetic operators
Notes in ppt and pdf

1. Read 2.1-2.2.
2. Chapter 2 self-check problems: 1 - 5, 8-9
3. Correct the typo in the lab 1 program before submitting it. See class discussion group for more information.
4. Remember that you are not allowed to use slip days for lab 1.

Mon Sept 6 labor day holiday - no class
Tues Sept 7 Discussion section:
Discussion assignment - algorithms, practice with println(), static methods
Quiz likely
1. Review the case study that we did in class on Friday.
Wed Sept 8 Variables, Arithmetic operators, string manipulation
1. Read 2.3-2.4.
2. Practice It! exercises: 2.4: expressions 3

Fri Sept 10
Increment and decrement operators, assignment operators

Notes in ppt and pdf
1. Finish reading chapter 2.
2. Practice It! exercises: 2.2: loop squares
3. Puzzler of the Day
4. Chapter 2 self-check problems: 10 - 13
5. Quiz likely
Mon Sept 13
for loops
1. Chapter 2 self-check problems: 16, 19
2. Practice It! exercise: 2.5 star triangle
Tues Sept 14

Discussion
  1. Discussion assignment 2
  2. Practice with arithmetic operators and loops
  3. Quiz likely
  4. In-class exercises
Wed Sept 15
nested loops
class constants
first look at user input

Notes:
nested: ppt and pdf
constants: ppt and pdf
scanner: ppt and pdf
1. Ch 2 self-check problems: 22, 24-26
2. Practice It! exercises: 2.6 number triangle, 2.7 spaced numbers
3. Ch 3 self-check: 16-19
4. Read 3.4, pages 152-154
Fri Sept 17
case study: nested loops
pseudocode

Notes: ppt and pdf
In-class example: XBoxPart1.java
1. Ch 2 self-check: 27-28
2. Ch 2 exercises: 6-9, 13-15
3. Practice It! exercise:3.5s: printStrings, 2.15 print design
Mon Sept 20
parameters
method overloading
the Math class
return values

Notes: ppt and pdf
In-class examples:
BoxHeroes.java, SumInt.java
1. Ch 3 self-check: 1, 2, 4
2. Practice It! exercises: 3.8 mathExpressions, 3.9 parameterMystery3
3. Read 3.1-3.2
Tues Sept 21
Discussion
1. Finish the assignment for last week: 1bcd, 2, 5, 6
2. quiz
Wed Sept 22
Using objects
String, Scanner, Random and Point objects
User input
non-static methods

Notes: ppt and pdf

1. Finish reading chapter 3
2. Practice It: 3.4 parameterMystery2, 3.5s printSrings
3. JavaBat exercises: Warmup-2 stringTimes, Warmup-2 stringBits
4. Read 3.3-3.4
5. Ch 3 self-check problems: 10-14, 18

Fri Sept 24
More on objects
Introduction to simple graphics

Notes: ppt and pdf
In-class examples:
ReverseString.java
StringPractice.java
SumThem.java
1. Read chapter 3G
2. Self-check exercises: 1, 3
Mon Sept 27
graphics
Conditional Statements

Notes: ppt and pdf
1. Read 4.1-4.2
2. Discussion Assignment for Sept 28th.
3. The DrawingPanel.java file you will need for graphics.
Tues Sept 28
Discussion section
1. Quiz 4 likely
2. Q&A on programming project
Wed Sept 29
Conditional Statements

Notes: decisions
1. Read 4.3-4.4
2. JavaBat: Warmup-1 sumDouble, String-1 makeAbba, String-2 doubleChar
3. Practice It! exercises: 4.5 logicExpressions1, 4.7 smallestLargest
4. Midterm 1 review sheet
5. Sample Exam 1 (given Fall 2009)
Fri Oct 1
Conditional execution - case study
1. Finish reading chapter 4
2. Midterm 1 review sheet solutions
Mon Oct 4
Midterm 1 review

Examples from class:
CapFirst.java, FindHappyDay.java, MaxMinAvg.java, ThrowDice.java
1. Read 5.1-5.2
2. Self-check problems, chapter 5: 1-6, 9-11, 22
3. Self-check exercises, chapter 5: 3, 5, 6, 7, 15
4. Practice It! exercises: 5.4 whileLoopMystery2, 5.11 logicExpressions2
5. JavaBat:  Logic-1 squirrelPlay, Logic-1 sortaSum, Logic-1 lastDigit

Tues Oct 5
Discussion section
1. Quiz likely
2. Review for midterm exam - solve discussion assignment and work review sheet problems before class
Wed Oct 6
Midterm 1, 10-10:50, location TBD
1. Solutions for midterm 1
Fri Oct 8
Decisions
1. Quiz likely


Mon Oct 11
More decisions
Midterm 1 results discussed
Tues Oct 12
discussion: midterm 1 returned
1. Discussion assignment: create a javabat account here. Then go to the preference page on the javabat page, and enter your TA's email address. You must list your first and last name with your account. Before you go to discussion, complete the following Javabat problems:
String-1 makeAbba, Logic-1 lastDigit, String-2 countHi
You must complete these programs before you go to discussion section!
As with other discussion assignments, we may count part or all of your assignment as a quiz.
Wed Oct 13
while loops, do while loops
error-checking methods in Scanner class
1. javabat: String-1 minCat, String-2 catDog
2. Practice It exercises: 5.2 printAverage, 5.6 diceSum
Fri Oct 15
More indefinite loops
1. Loop review questions
Mon Oct 18
practice with sentinel loops and the Random class
1. Practice It exercises: 5.5 makeGuesses, 5.7 gcd
2. Read 5.3-5.5.
3. Self-check exercises, chapter 5: 18, 19, 22, 26
4. quiz likely
Tues Oct 19
discussion
1. Discussion assignment: practice it exercise 5.8 showTwos
Plus the following Javabat exercises:
String-2 bobThere, String-2 mixString, String-3 sumDigits
Also, for discussion: re-work midterm 1 and make sure you understand all the questions
2. quiz likely


Wed Oct 20
assertions and program correctness
More on decisions
1. Finish reading chapter 5.
2. Practice with conditionals and loops
Fri Oct 22
while loop case study

Mon Oct 25
File processing - introduction

Programs: FileRead.java, FileStuff.java, FindInt.java
1. Read 6.1-6.2
2. Practice It: 6.1 doubleSpace
Tues Oct 26
discussion - practice with loops, user input and file processing

In class assignment:
String and Scanner practice
1. discussion assignment - Programming project #1, p. 329. Store your program in file PigLatin.java, and bring a copy with you to class.
2. quiz likely
Wed Oct 27
Scanner objects and files
Line-based processing for files
1. Practice It: 6.4 inputStats
2. Discussion assignment for next week, part 1: write 3 questions that you think would make good exam 2 questions, and post them on the class yahoo group by Sunday at 11 pm
3. Read 6.3-6.4
4. Chapter 6 exercises: 5, 6, 7
Fri Oct 29
Arrays, part 1

Practice Problems: Strings, Files, Parameters and Return values
1. Read 6.5, 7.1
2. Discussion assignment for Tuesday, Nov 3
3. Chapter 7 self-check (p. 430-431): 1-6, 8, 10-12
4. Practice It: 7.14 allLess
5. Complete these before Tuesday's discussion -JavaBat: Array-1 firstLast6, Array-1 sameFirstLast

Mon Nov 1
Arrays, continued
1. Read 7.2-7.3
2. Complete before discussion tomorrow - JavaBat: Array-1 sum3, Array-1 maxEnd3
Tues Nov 2
discussion
1. Assignment - in class
Wed Nov 3
More arrays

Fri Nov 5
More arrays

Mon Nov 8
Review for exam 2
1. Midterm 2 review sheet
2. The exam review session will be at 6 pm. Once I know the location, it will be posted in the announcements section of the main class webpage.
3. I recommend that you study for the exam, and then work the problems on the review sheet (on paper, without your notes or a compiler) to test yourself.
4. Sample exam 2
Tues Nov 9
discussion
1. Q & A for midterm 2
2. Midterm 2 review sheet solutions
Wed Nov 10
exam 2

Fri Nov 12
arrays and command line arguments
multi-dimensional arrays

Notes: command-line args,
multi-dimensional arrays
array notes in pdf
1. Read the section on multi-dimensional arrays in 7.4
2. Practice It: 7.12 matrixAdd, 7.13 equals
3. Lab 8 available
Mon Nov 15
Classes and objects, part 1
1. Read chapter 8, sections 1-2
2. Chapter 8 self-check: 1-6, and exercises 1-2
3. Practice It: 8.1 manhattanDistance
Tues Nov 16
discussion: what to do with your unix account - a short introduction
Topics to include:
logging in, changing your password, format of unix commands, unix directory structure

1. Quiz likely.
Wed Nov 17
More objects and classes

Notes: objects and classes, take 2: pdf and ppt
1. Read 8.3-8.5
2. Chapter 8 self-check: 8-11, 13-16, exercises  4
3. Practice It: TimeSpan
4. Midterm 2 returned
Fri Nov 19
creating our own classes
1. Finish reading chapter 8
2. Lab 9 available - last project!
Mon Nov 22
Creating classes & object-oriented concepts
1. Read 9.1
Tues Nov 23
Discussion:
Practice writing classes
quiz

Wed Nov 24
No class

Fri Nov 26
No class, Thanksgiving holiday

Mon Nov 29
More on objects and classes
In-class exercise
1. Chapter 8 self-check exercises: 9-13
2. Chapter 9 self-check: 1-3, 6, 10-13
Tues Nov 30
Discussion:
quiz likely
1. teaching assistant evaluations
2. in-class assignment
Wed Dec 1
inheritance, interfaces and polymorphism
1. Read 9.1-9.3
2. Practice It: 9 Rabbit, 8 Circle
3. Practice It (review): 7.22: averageLength
Fri Dec 3
inheritance and polymorphism
final exam review
1. Final exam review sheet
2. Final review solutions
Mon Dec 6
 dead day

Tues Dec 7
dead day

Wed Dec 8
first day of final exam period

Tues Dec 14

last day of final exam period