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

3/17-3/21


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)
     

Valid HTML 4.01!