CPSC 225 Intermediate Programming Spring 2008

# CPSC 225 Syllabus

AssignmentsImportant Dates

### Week 1: 1/21-1/25

Topics: course introduction; representation, abstraction, and designing programs with classes; collections - arrays and multidimensional arrays; collections of varying size - partially full and dynamic arrays

Reading: Eck chapter 7.5 (arrays), 7.3 (partially full and dynamic arrays)

Lab 1: Introduction to Eclipse
due Tue 1/29

Programming Assignment 1: Fire
due Fri 2/1
(sample solution)

### Week 2: 1/28-2/1

Topics: correctness and robustness, assertions, exceptions; unit testing

Reading: Eck 8.1-8.4 (correctness and robustness)

Examples:

Lab 2: Eclipse Debugger
due Tue 2/5

### Week 3: 2/4-2/8

Topics: unit testing; linked lists

Reading: Eck 9.2 (linked data structures) - don't worry too much about when it talks about recursion

Examples:

Programming Assignment 2: Scrbl
due Mon 2/18

Lab 3: Unit Testing
due Tue 2/12

### Week 4: 2/11-2/15

Topics: linked lists

Reading: Eck 9.2 (linked data structures)

Lab 4: Linked Lists
due Tue 2/19

### Week 5: 2/18-2/22

Topics: analysis of algorithms; abstraction, representation, and collections ADTs; Vector, List, Sequence; stacks and queues

Reading: Eck 8.6 (analysis of algorithms), 9.3 (stacks and queues)

Examples:

Lab 5: Algorithm Detective
due Tue 2/26
Programming Assignment 3: Solitaire Encryption
due Tue 3/4

### Week 6: 2/25-2/29

Topics: stacks and queues; exam

Reading: Eck 9.3 (stacks and queues)

Lab 6: Priority Queue
due Tue 3/4

midterm #1
in class Wed 2/27
(review information)
solutions

### Week 7: 3/3-3/7

Topics: recursion

Reading: Eck 9.1 (recursion)

Examples:

Lab 7: Fractals
due Tue 3/11

Programming Assignment 4: Maze Solver
due Thu 3/13

### Week 8: 3/10-3/14

Topics: trees and binary trees

Reading: Eck 9.4 (binary trees), 9.5 (applications)

Examples:

Lab 8: 20 Questions
due Tue 3/25

spring break

### Week 9: 3/24-3/28

Topics: binary tree implementation; generic programming and Java collections

Reading: Eck 9.4 (binary trees), 10.1-10.4 (generic programming and Java collections)

Lab 9: Trees and Lists and Recursion, Oh My!
due Tue 4/1

### Week 10: 3/31-4/4

Topics: Java collections, lists, sets, maps; writing generic classes and methods

Reading: Eck 10.2-10.4 (lists, sets, maps), 10.5 (writing generic classes and methods)

Programming Assignment 5: File Compression
due Wed 4/16

Lab 10: Java Collections
due Tue 4/8

### Week 11: 4/7-4/11

Topics: maps; writing generic classes and methods

Reading: Eck 10.3.3 (hashtables), 10.5 (writing generic classes and methods)

Examples:

midterm #2
in lab Tue 4/8
(review information)
solutions
Lab 11: Mind Reader
due Tue 4/15

### Week 12: 4/14-4/18

Topics: backtracking

Reading: none

Examples:

Lab 12: Maze Solver Revisited
due Tue 4/22

Programming Assignment 6: Boggle
due Tue 5/6

### Week 13: 4/21-4/25

Topics: representation and choosing data structures; streams and files

Reading: Eck chapter 11.1-11.3 (streams and files)

Examples:

Lab 13: Cryptograms
due Tue 4/29

### Week 14: 4/28-5/2

Topics: streams and files; inheritance and design

Reading: Eck chapter 11.1-11.3 (streams and files), 5.5-5.7 (inheritance)

Examples:

Lab 14: Streams and Files
due Tue 5/6

### Week 15: 5/5-5/6

Topics: finish up lab and programming assignment

### Reading Period and Exams: 5/7-5/13

final exam
Mon 5/12 7-10pm
(review information)

 last updated: --Mon May 5 23:40:00 EDT 2008-- page owned by: bridgeman@hws.edu