Syllabus
WEEK 1
LECTURE 1: Thursday 9/04/2014
Introduction to cs230
Java, Strings, Data Types, Expressions, the Scanner Class
Reading: LDC Ch 1 & 2

LAB 1: Thursday 9/04/2014 and Friday 09/05/2014
Lab #1: DrJava, Objects and Classes, random numbers, and Scanner
Reading: Pair Programming

WEEK 2

LECTURE 2: Monday 09/08/2014
Using Classes and Objects.
The Random and Math classes. Wrapper Classes.

Reading: LDC Ch 3. (Optional: 3.6 Formatting Output; 3.7 Enumerated Types.)

LECTURE 3: Thursday 09/11/2014
Lesser-known control statements. Writing Classes
Reading: LDC Ch 4 & 5

Assignment 1 due midnight Wednesday

LAB 2: Thursday 09/11/2014 and Friday 09/10/2014
Pre-Lab
Lab #2: Debugging
Reading: DrJava's Help (online) - Ch 9 "Debugger"

WEEK 3

LECTURE 4: Monday 09/15/2014
Static variables and methods, Arrays (Declare and Use), 2-d Arrays, Command Line args. Variable Length Parameter Lists.
Reading: LDC Ch 7

LECTURE 5: Thursday 09/18/2014
Arrays of Objects, Inheritance (Subclasses, Overriding Methods, Class Hierarchies).
Reading: LDC Ch 8.

Assignment 2 due (countflips, stringOps, DiceGame) midnight Wednesday


LAB 3: Thursday 09/18 and Friday 09/19/2014
Pre-Lab
Lab #3 Inheritance, Hierarchies and Arrays of Objects: Shapes


WEEK 4

LECTURE 6: Monday 09/22/2014
Inheritance.
(Recursion optional - skim over LDC Ch 11)

LECTURE 7: Thursday 09/25/2014
Graphical User Interfaces
GUI Elements, Events, Components and Event Handling
Reading: LDC Ch 6.1, 6.2

LAB 4: Thursday 09/25/2014 and Friday 09/26/2014
In-lab Exam 1 during Lab time

WEEK 5

LECTURE 8: Monday 09/29/2014
GUI Layout Managers
Reading: LDC Ch 6.3, 6.7

LECTURE 9: Thursday 10/02/2014
Polymorphism via Inheritance
Reading: LDC Ch 9.1 - 9.2

Assignment 3 due(GradSchools, BankAccounts) midnight Wednesday

LAB 5: Thursday 10/02/2014 and Friday 10/03/2014
Pre-Lab
Lab #5 TicTacToe GUI

WEEK 6

LECTURE 10: Monday 10/06/2014
Interfaces.
Reading: LDC Ch 9.3 - 9.4
Exceptions
Reading: LDC Ch 10 (except 10.4)


LECTURE 11: Thursday 10/9/2014
IO
Collections and Stacks
Reading:LDC Ch 14.1 - 14.9

Assignment 4 due(GradSchool GUIs) midnight Wednedsay

LAB 6: Thursday 10/9/2014 and Friday 10/10/2014
Pre-Lab
Lab #6 Exceptions and I/O

WEEK 7

FALL BREAK: Monday 10/13/2014 (No class)


LECTURE 12: Thursday 10/16/2014

Stack implementation, CLASSPATH
Reading: LDC Ch 14.1-14.9

LAB #7: Thursday 10/16/2014 and Friday 10/17/2014
Lab #7 Stacks

WEEK 8

LECTURE 13: Monday 10/20/2014
Analysis of Algorithms
Reading: LDC Ch 12

LECTURE 14: Thursday 10/23/2014
Searching and Sorting
Reading: LDC Ch 13

Java's Linked Lists
Reading:
LDC Ch 14.10 - 14.14

Assignment 5 due (Encryption interface, cyberspace walk) midnight Wednesday

LAB 8: Thursday 10/23/2014 and Friday 10/24
Pre-Lab
Lab #8 Linked Lists, Student organizations.

WEEK 9

LECTURE 15: Monday 10/27/2014
Queues
Reading: LDC Ch 15.1 - 15.5

LECTURE 16: Thursday 10/30/2014
Introduction to Graphs
Reading: LDC Ch 19.1-19.4

Assignment 6 due (big-O, sorting) midnight Wednesday

Takehome Exam 2 out

LAB 9: Thursday 10/30/2014 and Friday 10/31/2014
Lab #9 on queue implementations and applications.

WEEK 11

Takehome Exam 2 due

LECTURE 17: Monday 11/03/2014
Graph Traversals - DFS
Reading: LDC Ch 19.5

LECTURE 18: Thursday 11/06/2014
BFS, Graph Topological Sort
Reading: LDC Ch 19.5

LAB 10: Thursday 11/06/2014 and Friday 11/07/2014
Lab #10 Graphs

WEEK 12

Assignment 7 due (Graph implementation) midnight Sunday

LECTURE 19: Monday 11/10/2014
Trees
Reading: LDC Ch 16

LECTURE 20: Thursday 11/13/2014
Tree implementation; Decision Trees
Reading: LDC Ch 17.1, 17.2

Final Project Phases out


LAB 11: Thursday 11/13/2014 and Friday 11/14/2014
Pre-Lab
Lab #11 Trees

WEEK 13

Assignment 8 due (trees) midnight Sunday
LECTURE 21: Monday 11/17/2014
Binary Search Trees
Reading: LDC Ch 17.3

 

LECTURE 22: Thursday 11/20/2014
Hashing
Reading: LDC Ch 20

Takehome Exam 3 out

LAB 12: Thursday 11/20/2014 and Friday 11/21/2014
Lab #12 Hash Tables

WEEK 14

Takehome Exam 3 due (midnight Sunday)

Project Description Email (Phase 0) due (Tuesday 11/25/2014)

LECTURE 23: Monday 11/24/2014
Priority Queues and Heaps
Reading: LDC Ch 18

NO CLASS: Thanksgiving Thursday 11/27/2014

 

NO LAB: Thanksgiving Thursday 11/27/2014 and Friday 11/28/2014


WEEK 15

Project Specification (Phase 1) due

LECTURE 24: Monday 12/1/2014

Advanced graph algorithms; NP completeness
Reading: LDC Ch 18

LECTURE 25: Thursday 12/4/2014
First group of in-class Project GUI Presentations (Phase 2 due)

LAB 13: Thursday 12/4/2014 and Friday 12/5/2014
Workshop mode: Work on your project during lab time

 

LECTURE 26: Monday 12/8/2014
Second group of in-class Project GUI Presentations (Phase 2 due)

 
During Exam period:
Contact Instructors to schedule your Final Presentations (Phase 3)