CPSC 225 Intermediate Programming Fall 2018

CPSC 225 Schedule

Reading is to be done for the class period where it is listed.

Dates for things in light gray are for planning purposes and may be adjusted slightly.

 Assignments

Week 1: 8/27-8/31

Topics: course introduction; review of CPSC 124; correctness and robustness

   

Mon Slides and Examples:    

Wed Reading:
  • Eck sections 8.1, 8.2.1, 8.4.1
Slides:
  programming assignment 0
Benford's Law

muddiest points due Thu 8/30 5pm

Thu   lab 1
Eclipse

due Mon 9/3

programming assignment 0
Benford's Law

due Fri 9/7
Fri Slides:

Week 2: 9/3-9/7

Topics: testing, robustness; linked lists


Mon Slides and Examples:  

Wed Reading:
  • Eck sections 8.2.2, 8.3
Slides:
 

Thu   lab 2
Correctness and Testing

due Mon 9/10 Thu 9/13

Fri Reading:
  • Eck section 9.2 (don't worry about the examples using recursive methods, such as printReversed)
Slides and Examples:
 

Week 3: 9/10-9/14

Topics: linked lists

 

Mon Slides and Examples:    

Wed Slides and Examples:   programming assignment 1
Solitaire Encryption

muddiest points due Thu 9/13 5pm

Thu   lab 3
Linked Lists

due Mon 9/17

programming assignment 1
Solitaire Encryption

due Fri 9/28
Fri Slides and Examples:

Week 4: 9/17-9/21

Topics: binary trees (and recursion)


Mon Reading:
  • Eck sections 9.4 (the introduction part), 9.4.1, 9.4.3
Slides and Examples:
 

Wed Slides and Examples:  

Thu   lab 4
Binary Trees

due Wed 9/26

Fri Slides and Examples:

Week 5: 9/24-9/28

Topics: recursion, recursive backtracking


Mon Reading:
  • Eck section 9.1
Slides and Examples:

Wed Slides:  

Thu   lab 5
Recursive Backtracking

due Mon 10/1

Fri Slides: programming assignment 2
Recursive Backtracking

muddiest points due Tue 10/2 5pm

Week 6: 10/1-10/5

Topics: ADTs; basic collections; using the Java Collections Framework


Mon Reading:
  • Eck section 9.3 (focus on what an ADT is and what stacks and queues are, what operations they have, and some applications; skim the parts about implementation)

Slides:

 

Wed Slides:   programming assignment 2
Recursive Backtracking

due Wed 10/24

Thu
exam 1 (during the lab period, in Eaton 110)

Fri Reading:
  • Eck sections 7.3.1-7.3.3
  • Eck sections 10.1.3-10.1.7

Slides and Examples:

 

Week 7: 10/8-10/12

Topics: fundamental algorithms (searching, sorting, shuffling)

 

Mon fall break (no class)

Wed Reading:
  • Eck sections 10.2 (introduction part), 10.2.1-10.2.3
  • Eck sections 10.3 (introduction part), 10.3.1
  • Eck section 10.4

Slides and Examples:

 

Thu   lab 6
Java Collections

due Mon 10/15

Fri Reading:
  • Eck sections 7.4 (introduction part), 7.4.1-7.4.2, 9.1.1
  • Eck sections 7.4.3-7.4.4, 9.1.3
  • Eck section 7.4.5

Slides and Examples:


Week 8: 10/15-10/19

Topics: fundamental algorithms (searching, sorting, shuffling); efficiency; implementing ADTs


Mon Reading:
  • Eck section 8.5

Slides:

 

Wed Slides:  

Thu   lab 7
Algorithm Detective

due Mon 10/22

Fri Slides:

Week 9: 10/22-10/26

Topics: implementing ADTs; streams, readers, and writers


Mon Slides and Examples:  

Wed Reading:
  • Eck sections 11.1, 11.2.1-11.2.2

Slides:

  programming assignment 3
File Compression

muddiest points due Thu 10/25 5pm

Thu   lab 8
Streams

due Mon 10/29

Fri Slides: programming assignment 3
File Compression

due Fri 11/9

Week 10: 10/29-11/2

Topics: implementing ADTs: BinaryTree, PriorityQueue, Map, Set; binary search trees


Mon Slides and Examples:  

Wed Slides:  

Thu   lab 9
More Collections

due Mon 11/5

Fri Reading:
  • Eck section 9.4.2

Slides:


Week 11: 11/5-11/9

Topics: designing programs


Mon Slides:  

Wed Slides:  

Thu   lab 10
OOAD

due Mon 11/12

Fri Slides: final project
Adventure

muddiest points due Sun 11/11 5pm

Week 12: 11/12-11/16

Topics: designing programs; inheritance and polymorphism


Mon Slides:   final project
Adventure

design due Fri 11/16

Wed Reading:
  • Eck sections 5.5-5.7

Slides:

 

Thu
exam 2 (during the lab period, in Eaton 110)

Fri Slides:
  • inheritance (interfaces, abstract classes, designing with inheritance)
 

Thanksgiving Break: 11/19-11/23


Week 13: 11/26-11/30

Topics: GUI programming (JavaFX)

  final project
Adventure

due Sun 12/16 11:30am

Mon Reading: (for Wednesday)
  • Eck (Javanotes 8.0) chapter 6
    Read section 6.1 for the background on JavaFX, then treat the rest as reference - look through the sections to see what is there so that you can come back for the details when you need them.

Slides and Examples:

 

Wed -- meet in Rosenberg 009 --

Reading:

Materials:

 

Thu   lab 11
GUI Calculator

due Mon 12/3

Fri -- meet in Rosenberg 009 --

Reading:

Materials:


Week 14: 12/3-12/7

Topics: GUI programming (JavaFX)


Mon -- meet in Rosenberg 009 --

Reading:

Materials:

 

Wed -- meet in Rosenberg 009 --

Reading:

Materials:

 

Thu   lab 12
Shape Painter

due Mon 12/10

Fri -- meet in Rosenberg 009 --

Reading:

Materials:


Week 15: 12/10-12/11

Topics: wrapup


Mon -- bring a device (laptop, tablet, phone) if you can --

Slides:

 

Reading Period: 12/12-12/14

 

Wed office hours 12-2pm  

Thu office hours 1-3pm  

Fri office hours 1-3pm  

Exams: 12/15-12/18

 

Sat    

Sun
final exam
12/16 8:30-11:30am
end-of-semester deadline
no work accepted after 12/16 11:30am

Mon  

Tue    

Valid HTML 4.01!