CS230 - Data Structures - Spring 2012
CS230 HOME PAGE
SYLLABUS
ASSIGNMENTS
DOCUMENTATION
CS DEPT
Syllabus
Monday Lecture
Tuesday Lab
Thursday Lecture
1/26
Introduction
Program example:
WordList.java
1/30
Recursion
Program example:
StringTest.java
1/31
Lab #1:
Introduction to Linux, X and Emacs.
Your first Java program: edit, compile & run (Hello.java)
Electronic submission of code for assignments.
Read:
(1)
Linux, X, Emacs, and Java
, (2)
Introduction to Unix and the X Window System
, (3)
Introduction to the Emacs Editor
and (4)
GNU Emacs Reference Card
.
Handout:
Emacs Cheat Sheet
2/2
Arrays
Program example:
ArrayExercise.java
2/6
Object oriented programming
Program example:
Songs
2/7
Lab #2:
Recursion (powers and palindromes)
Command-line arguments
2/9
The LinkedList data type
Program example:
Lists
Assignment 1 due
2/13
Java I/O
Program example:
FileOps
2/14
Lab #3:
OOP
2/16
Review
Assignment 2 due
2/20
Presidents' Day
2/21
Lab #4:
Cyberspace (Java I/O, LinkedLists and sorting)
2/23
IN-CLASS EXAM
2/27
Analysis of algorithm performance
Program examples:
ArraySearch and Sorting
2/28
Lab #5:
Inheritance
3/1
Stacks
Program example:
StackTest
Assignment 3 due
3/5
More Stacks and Exception Handling
Program examples:
Exception and StackSearch
3/6
Lab #6:
Stacks in War &
JavaDoc
Javadoc reference
3/8
Queues
Program example:
Queues
Assignment 4 due
3/12
More queues
Program example:
QueueSearch
3/13
Lab #7:
Simulating a Printer Queue
3/15
Graphical User Interfaces
Program examples:
GUIDemo and TicTacToe
Assignment 5 due
3/19
Spring Break
3/20
Spring Break
3/22
Spring Break
3/26
Trees
Program example:
Trees
3/27
Lab #8:
Working with Java GUIs
3/29
More trees
Program example:
Trees
4/2
Tables
Program example:
Tables
EXAM 2 due
4/3
Lab #9:
Trees
4/5
Beyond CS230
4/9
Binary search trees
Program example:
BSTables
Assignment 6 due
4/10
Lab #10:
Tables/GUIs (Oscars)
4/12
Hash tables
Final Project Phase 1 due
4/16
Patriots' Day
4/17
Lab #11:
Spell-checker (Hash tables)
4/19
AVL trees
EXAM 3 due
4/20
Priority queues
Program example:
PriorityQueues
4/23
File compression
4/24
Lab #12:
Priority queues
4/26
Graphs
Final Project Phase 2 due
4/30
More graph algorithms
5/1
Lab #13:
Project presentations
Final Project Phase 3 due
5/3
Wrap Up
Assignment 7 due
5/7
Reading period
5/8
Reading period
5/10
Final Exams
5/15
Final Exams
5/14
Final Exams