CSC 207 Grinnell College Spring, 2012
 
Algorithms and Object-Oriented Design
 

Tentative Schedule of Class Discussions, Labs, Supplemental Problems, Due Dates, and Extra Credit Alternatives

This page provides a listing of labs, including relevant readings, lab instructions, and assignment options. This material also will be available in calendar form (without Web links) in .dvi format / pdf format / postscript formats.

The following class schedule will evolve through the semester.

Lab Index:  January:   1, 2, 3, 4
February:   5, 6, 7, 8, 9, 10, 11, 12
March:   13, 14, 15
April:   16, 17, 18, 19 20, 21
May:   22, 23


lab # Class Period Weekly Theme Topic Reading Lab Due Date Availability
for
Extra
Credit
  Mon, Jan 23 Week 1:
Introduction to Java and Object-Oriented Problem Solving
Introduction to Object-Oriented Programming      
  Tues, Jan 24 Introduction to Java and the Eclipse Development Environment      
1 Wed, Jan 25 Eclipse Development Environment, Java Packages Weiss, 1.1-1.6, pp. 3-20 lab    
2 Fri, Jan 27 Control Structures, Arrays reading lab Due Tues, Jan 31  
3 Mon, Jan 30 Week 2:
Objects and Classes
Reference Types
OO Design Case Study: A Racquetball or Volleyball Simulation
Weiss, 2.1-2.4, pp. 27-47 simulation reading Lab:    
4 Tues, Jan 31 OO Design Case Study, Concluded reading Labs:
  • Basic Solutions Lab: Descriptions for Steps 1, 2, 3a; Program for Step 4
  • Class Variables Lab: Descriptions for Step 1
Due: Tues, Feb 7
 
5 Wed, Feb 1 OO Design Case Study, Concluded reading Labs:   Steps of these labs submitted by Wed, Feb 15 eligible for extra credit
  Fri, Feb 3 Objects and Classes (review of basics) Weiss, 3.1-3.6 & 3.8, pp. 69-86 & 90-97      
  Fri, Feb 3 Supplemental Problem 1 (to be done individually)     Due: Supplemental Problem 1  
  Mon, Feb 6 Week 3:
Inheritance;
Generalization, Polymorphism, and Exceptions
Generalization, Polymorphism, and Exceptions reading
Weiss (inheritance) 4.1, pp. 109-124
Weiss (exceptions), 2.5, pp. 47-51
     
6 Tues, Feb 7 Generalization, Polymorphism, and Exceptions reading
Additional Examples:
lab    
7 Wed, Feb 8 Basic Input lab Due: Mon, Feb. 13  
  Fri, Feb 10 Using the Eclipse Debugger
Javadocs
lab (continued)    
  Mon, Feb 13 Week 4:
Interfaces, Generics, and Unit Testing
Generics      
8 Tues, Feb 14 Generics and Interfaces   lab    
  Wed, Feb 15 Observations Regarding Classes and Objects        
9 Fri, Feb 17 More Classes, Abstract Classes, and Interfaces   A library example Due: Fri., Feb 24  
  Mon, Feb 20 Week 5:
Design Patterns
Design Patterns reading (Chapter 1)      
  Tues, Feb 21 Builder Pattern Creational Patterns (Chapter 2) lab    
  Tues, Feb 21 Supplemental Problem 2 (to be done individually)     Due: Supplemental Problem 2  
10 Wed, Feb 22 Facade Pattern Creational Patterns (Chapter 3) lab    
11 Fri, Feb 24 State Pattern State Patterns (Chapter 4) lab Written summary of Design Pattern reading — one paragraph per pattern  
  Mon, Feb 27 Week 6:
Algorithm Analysis
Introduction to Analysis Weiss, 5.1-5.3, pp. 187-200      
12 Tues, Feb 28 Asymptotic Analysis Weiss, 5.4-5.8, pp. 201-214 lab    
  Tues, Feb 28 Take Home Test Distributed covers labs 1-11 Due: Friday, Mar 9
  Wed, Feb 29 Film Object-oriented problem solving Summary Due Wed., Mar 7  
  Fri, Mar 2 Class Canceled in honor of Take Home Test      
  Mon, Mar 5 Week 7:
Using Collections
Collections API Weiss, 6.1-6.5, pp. 229-258      
13 Tues, Mar 6 Sets and Maps Weiss, 6.7-6.8, pp. 261-274 lab    
  Wed, Mar 7 More Sets, Maps, and Multisets   lab    
  Fri, Mar 9 Stacks and Queues
Priority Queues and Collections: Applications
Weiss, 6.6, pp. 258-261;
Weiss, 6.9, pp. 274-279
     
  Mon, Mar 12 Week 8:
Sorting
Sorting Weiss, 8.1-8.5, pp. 351-364, reading      
14 Tues, Mar 13 Quicksort Weiss, 8.6-8.8, pp. 364-384, reading lab Wednesday, April 4  
Wed, Mar 14 Sorting It Out    
15 Fri, Mar 16 Inner Classes Weiss, 15.1-15.2, pp. 574-580 lab    
  Mon, Mar 19 Spring Break  
Tue, Mar 20 Spring Break
Wed, Mar 21 Spring Break
Fri, Mar 23 Spring Break
Mon, Mar 26 Spring Break
Tue, Mar 27 Spring Break
Wed, Mar 28 Spring Break
Fri, Mar 30 Spring Break
  Mon, Apr 2 Week 9:
Implementing Collections
Abstract Collection Weiss, 15.3-15.4, pp. 580-584      
16 Tues, Apr 3 ArrayList implementation Weiss, 15.5, pp. 585-590 lab Due: Friday, April 6  
Wed, Apr 4 Implementing Collections
  Fri, Apr 6 Stacks and Queues Weiss, 16.1, pp.595-605      
17 Mon, Apr 9 Week 10:
Stacks and Queues
Stacks and Queues — Testing Weiss, 16.2-16.5, pp. 605-615 lab Due: Tuesday, April 17  
  Tues, Apr 10 Supplemental Problem 3 (to be done individually)     Due: Supplemental Problem 3  
  Tues, Apr 10 Linked Lists in Java Weiss, 17.1-17.3, pp. 619-633      
  Tues, Apr 10 Take-home Tests 2a, 2b Distributed covers labs 1-17 Test 2a due Wednesday, April 18
Test 2b due Tuesday, April 24
  Wed, Apr 11 Film?        
  Fri, Apr 13 Class canceled        
18 Mon, Apr 16 Week 11:
Linear Structures
Singly Linked Lists
Java examples:
Weiss, 17.1-17.3, pp. 619-633 lab   Eligible for extra credit if submitted by Tues., May 1
  Tues, Apr 17 Doubly Linked Lists Weiss, 17.4-17.5, pp. 633-646      
19 Wed, Apr 18 Circular Linked Lists   lab Due: Friday, April 27  
  Fri, Apr 20 Pause for Breadth        
  Mon, Apr 23 Week 12:
General Trees and Binary Search Trees
Trees Weiss, 18.1-18.2, pp. 651-664      
20 Tues, Apr 24 Binary Trees Weiss, 18.3-18.4, pp. 665-680
reading
lab    
21 Wed, Apr 25 Binary Search Trees Weiss, 19.1, 19.3, pp. 687-697, 702-706, reading lab Due: Wednesday, May 2  
Fri, Apr 27
  Mon, Apr 30 Week 13:
Hash Tables and Priority Queues
Hash Tables: Algorithms Weiss, 20.1-20.3, pp. 773-784      
22 Tues, May 1 Hash Tables: Practice Weiss, 20.4-20.7, pp. 784-801 lab Due: Monday, May 7 Extra Credit: lab
  Wed, May 2 Hash Tables: Analysis        
  Fri, May 4 Priority Queues / Binary Heaps Weiss, 21.1-21.3, pp. 807-822      
  Mon, May 7 Week 14:
Heaps and Heap Sort
Heaps Weiss, 21.5, pp. 823-836      
  Tues, May 8 Supplemental Problem 4 (to be done individually)     Due: Supplemental Problem 4  
23 Tues, May 8 Heaps   lab   Extra Credit: lab
  Wed, May 9 Heap Sort        
Fri, May 11 Semester Wrap Up Class Discussion; End-of-Course Evaluations

created 10 May 2011
last revised 8 May 2012
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.



Copyright © 2011-2012 Henry M. Walker.
CC-BY-NC-SA
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License .