CPSC 225 Intermediate Programming Spring 2014

CPSC 225 Syllabus

Readings are to be done for the class period where they are listed.

Dates for things in light gray are tentative and may shift slightly.

 Assignments

Week 1: 1/22-1/24

Topics: introduction; review of object-oriented program design; correctness and robustness

   

Wed Notes:    

Thu   lab 1
Eclipse
due Thu 1/30
programming assignment 1
Fire
due Thu 2/6

(rubric)

Fri Reading: Eck sections 8.1-8.2

Notes:

  • slides (correctness and robustness)

Week 2: 1/27-1/31

Topics: correctness and robustness, debugging


Mon Reading: Eck sections 8.3-8.4

Notes:

  • slides (correctness and robustness, assertions and exceptions)

Wed Notes:

Thu   lab 2
Robustness, Correctness, and Debugging
due Thu 2/6

Fri Reading: Eck sections 7.3.1-7.3.2 (review)

Notes:

  • Array.java (working with partially-full dynamic arrays)

Week 3: 2/3-2/7

Topics: linked lists, ADTs, List


Mon Reading: Eck section 9.2

Notes:


Wed Notes:

Thu   lab 3
Linked Lists
due Thu 2/13
programming assignment 2
Solitaire Encryption
due Thu 2/20

(rubric)

Fri Reading: first two paragraphs of the introduction in Eck section 9.3

Notes:


Week 4: 2/10-2/14

Topics: stacks and queues


Mon Reading: Eck section 9.3

Notes:


Wed Notes:
  • slides (implementing stacks and queues, applications of stacks)
  • ArrayQueue.java (implementation of Queue using a circular array)

Thu   lab 4
Priority Queue
due Thu 2/20

Fri Notes:
  • slides (implementing priority queue, applications of stacks, stacks/queues in Java)

Week 5: 2/17-2/21

Topics: more linked lists, analysis of algorithms


Mon Notes:

Wed
exam #1
Wed 2/19 in class

Thu   lab 5
Testing
due Thu 2/27
programming assignment 3
Maze Solver
due Thu 3/6

(rubric)

Fri Reading: Eck section 8.5

Notes:


Week 6: 2/24-2/28

Topics: searching, sorting, shuffling; recursion


Mon Reading: Eck section 7.4

Notes:


Wed Notes:

Thu   lab 6
Algorithm Detective
due Thu 3/6

Fri Reading: Eck sections 9.1.1-9.1.3

Notes:


Week 7: 3/3-3/7

Topics: recursion; binary trees


Mon Reading: Eck section 9.1.4

Notes:


Wed Notes:

Thu   lab 7
Fractals
due Thu 3/13
 

Fri Reading: Eck section 9.4.1

Notes:

  • slides (trees, applications of trees, binary trees, Binary Tree ADT)
  • BinaryTreeExamples.java (working with binary trees - building, printing, counting nodes)
 

Week 8: 3/10-3/14

Topics: binary trees and binary search trees

 

Mon Notes: programming assignment 4
Backtracking
due Thu 4/3

(rubric)

Wed Reading: Eck section 9.4.3

Notes:


Thu   lab 8
20 Questions
due Thu 4/3

Fri Reading: Eck section 9.4.2

Notes:


Spring Break: 3/17-3/21


Week 9: 3/24-3/28

Topics: Java Collections and generic programming


Mon Reading: Eck section 10.1
Note: if you don't have a chance to do the reading before Monday, do it before the end of the week.

Notes:


Wed
exam #2
Wed 3/26 in class

Thu  

Fri Reading: Eck section 10.2

Notes:


Week 10: 3/31-4/4

Topics: Java Collections and generic programming


Mon Reading: Eck section 10.3

Notes:

  • slides (collections, lists, and sets)

Wed Reading: Eck section 10.4

Notes:


Thu   lab 9
Collections
due Thu 4/10
programming assignment 5
File Compression
due Thu 4/17

Fri Reading: Eck section 10.5

Notes:

  • slides (generic classes and methods)

Week 11: 4/7-4/11

Topics: representation and choosing data structures; streams, readers, writers, files


Mon Notes:

Wed Reading: Eck section 11.1

Notes:


Thu   lab 10
Random Writer
due Thu 4/17

Fri Reading: Eck section 11.2-11.3

Notes:


Week 12: 4/14-4/18

Topics: client-server networking; object-oriented analysis and design; review of Swing basics


Mon Reading: Eck section 11.4

Notes:


Wed Notes:

Thu   lab 11
Calculator
due Thu 4/24
final project
Adventure
due Sat 5/10

Fri Reading: Eck sections 6.1, 6.3-6.4, 6.6-6.7

Notes:


Week 13: 4/21-4/25

Topics: Swing and graphics


Mon
exam #3
Mon 4/21 in class

Wed Reading: Eck sections 6.8.1-6.8.3

Notes:


Thu   lab 12
GUI Calculator
due Thu 5/1

Fri Reading: Eck sections 13.1.1-13.1.3, 13.1.5

meet in Gulick 208 lab today

Notes:


Week 14: 4/28-5/2

Topics: advanced graphics and GUI programming


Mon Reading: Eck section 13.2

meet in Gulick 208 lab today

Notes:


Wed Reading: Eck sections 13.3.1-13.3.5

meet in Gulick 208 lab today

Notes:


Thu    

Fri Reading: Eck sections 13.4.1-13.4.4

Notes:

  • slides (robustness with streams, lab 11)
  • slides (MVC, JList)
 

Week 15: 5/5-5/6

Topics: wrapup

 

Mon Reading: Eck section 13.5

Notes:

 

Reading Period: 5/7-5/9

 

Wed    

Thu    

Thu    

Fri    

Final Exams: 5/10-5/13

 

Sat   end-of-semester deadline
no work accepted after 5/10 11:30am

Sun      

Mon      

Tue      

Valid HTML 4.01!