CSC 207 Grinnell College Spring, 2013
 
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, 5
February:   6, 7, 8, 9, 10, 11
March:   12, 13, 14
April:   15, 16, 17, 18, 19 20, 21, 22, 23
May:   24, 25


lab # Class Period Weekly Theme Topic Reading Lab Due Date Availability
for
Extra
Credit
  Mon, Jan 21 Week 1:
Introduction to Java and Object-Oriented Problem Solving
Introduction to Object-Oriented Programming      
  Tues, Jan 22 Introduction to Java and the Eclipse Development Environment      
1 Wed, Jan 23 Eclipse Development Environment, Java Packages Weiss, 1.1-1.6, pp. 3-20 lab    
2 Fri, Jan 25 Control Structures, Arrays reading lab Due Tues, Jan 29  
3 Mon, Jan 28 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 29 OO Design Case Study, Concluded reading Labs:
  • Basic Solutions Lab: Descriptions for Steps 1, 2, 3a; One version of a program for Step 4
  • Class Variables Lab: Descriptions for Step 1
Due: Mon, Feb 4
 
5 Wed, Jan 30 OO Design Case Study, Concluded reading Labs:   Steps of these labs submitted by Wed, Feb 13 eligible for extra credit
  Fri, Feb 1 Objects and Classes (review of basics) Weiss, 3.1-3.6 & 3.8, pp. 69-86 & 90-97      
  Mon, Feb 4 Week 3:
Inheritance;
Generalization, Polymorphism, Exceptions, and Basic Testing
Generalization, Polymorphism, and Exceptions reading
Weiss (inheritance) 4.1, pp. 109-124
Weiss (exceptions), 2.5, pp. 47-51
     
6 Tues, Feb 5 Generalization, Polymorphism, and Exceptions reading
Additional Examples:
lab    
  Wed, Feb 6 Notes on Testing and Debugging
Black and White Box Testing
Debugging Variables
       
  Fri, Feb 8 Film Object-oriented Problem Solving   Paragraph response due: Mon. Feb. 11  
7 Mon, Feb 11 Week 4:
Basic Input, Program Format (with Javadocs), Generics, and Interfaces
Basic Input lab Due: Mon, Feb. 18  
  Tues, Feb 12 Supplemental Problem 1 (to be done individually)     Due: Supplemental Problem 1  
7 (cont) Tues, Feb 12 Using the Eclipse Debugger
Javadocs
lab (continued) Due: Mon, Feb. 18  
  Wed, Feb 13 Generics      
8 Fri, Feb 15 Generics and Interfaces   lab    
  Mon, Feb 18 Week 5:
Software Development with Classes and Objects; Algorithmic Analysis
Observations Regarding Classes and Objects        
9 Tues, Feb 19 More Classes, Abstract Classes, and Interfaces   A library example Due: Fri., Feb 22  
  Wed, Feb 20 Introduction to Analysis Weiss, 5.1-5.3, pp. 187-200
AlgsForAnalysis.java
     
10 Fri, Feb 22 Asymptotic Analysis Weiss, 5.4-5.8, pp. 201-214 lab    
  Mon, Feb 25 Week 6:
Using Collections
Collections API Weiss, 6.1-6.5, pp. 229-258      
11 Tues, Feb 26 Sets and Maps Weiss, 6.7-6.8, pp. 261-274 lab    
11 (cont) Wed, Feb 27 More Sets, Maps, and Multisets   lab    
  Fri, Mar 1 Pause for Breadth        
  Mon Mar 4 Supplemental Problem 2 (to be done individually)     Due: Supplemental Problem 2  
12 Mon, Mar 4 Week 7:
Assertions and Loop Invariants
Software Development with Assertions and Loop Invariants reading lab    
  Tues, Mar 5 Take Home Test 1, Parts A and B, Distributed covers labs 1-13 Test 1 Part A Due: Tues, Mar 12
Test 1 Part B Due: Fri, Mar 15
  Tues, Mar 5 Pictoral Loop Invariants reading      
13 Wed, Mar 6 Pictoral Loop Invariants lab    
  Fri, Mar 8 Film Sorting Out Sorting   Paragraph response due: Mon. Mar. 11  
  Mon, Mar 11 Week 8:
Sorting
Stacks and Queues
Priority Queues and Collections: Applications
Weiss, 6.6, pp. 258-261;
Weiss, 6.9, pp. 274-279
     
  Tues, Mar 12 Sorting Weiss, 8.1-8.5, pp. 351-364, reading      
14 Wed, Mar 13 Quicksort Weiss, 8.6-8.8, pp. 364-384, reading lab Wednesday, April 3  
Fri, Mar 15 Sorting It Out    
  Mon, Mar 18 Spring Break  
Tue, Mar 19 Spring Break
Wed, Mar 20 Spring Break
Fri, Mar 22 Spring Break
Mon, Mar 25 Spring Break
Tue, Mar 26 Spring Break
Wed, Mar 27 Spring Break
Fri, Mar 29 Spring Break
15 (Extra Credit) Mon, Apr 1 Week 9:
Implementing Collections
Abstract Collections Weiss, 15.1-15.4, pp. 580-584     Extra Credit: Inner Classes: Weiss, 15.1-15.2, pp. 574-580, lab
16 Tues, Apr 2 ArrayList implementation Weiss, 15.5, pp. 585-590 lab Due: Tuesday, April 9  
Wed, Apr 3 Stacks and Queues        
16 (cont) Fri, Apr 5 Implementing Collections, Continued Weiss, 15.5, pp. 585-590 lab Due: Tuesday, April 9  
17 Mon, Apr 8 Week 10:
Linear Structures
Stacks and Queues — Testing Weiss, 16.2-16.5, pp. 605-615 lab Due: Wednesday, April 17  
  Tues, Apr 9 Linked Lists in Java Weiss, 17.1-17.3, pp. 619-633      
18 Wed, Apr 10 Singly Linked Lists
Java examples:
Weiss, 17.1-17.3, pp. 619-633 lab   Eligible for extra credit if submitted by Tues., May 1
19 Fri, Apr 12 Doubly Linked Lists Weiss, 17.4-17.5, pp. 633-646      
  Mon, Apr 15 Week 11:
Choosing Data Structures
Supplemental Problem 3 (to be done individually)     Due: Supplemental Problem 3  
  Mon, Apr 15 Circular Linked Lists lab (Group work NOT allowed)      
  Tues, Apr 16 Take-home Tests 2a, 2b Distributed covers labs 1-17 Test 2a due Tuesday, April 23
Test 2b due Friday, April 26
20 Tues, Apr 16 Software Development: Choosing Data Structures, Incremental Development        
  Wed, Apr 17 Trees Weiss, 18.1-18.2, pp. 651-664      
  Fri, Apr 19 Class canceled in honor of Test 2        
21 Mon, Apr 22 Week 12:
General Trees and Binary Search Trees
Tree Traversals Weiss, 18.3-18.4, pp. 665-680
reading
lab    
22 Tues, Apr 23 Binary Search Trees Weiss, 19.1, 19.3, pp. 687-697, 702-706, reading lab Due: Wednesday, May 1  
Wed, Apr 24
  Fri, Apr 26 Notes on Software Development and Debugging        
  Mon, Apr 29 Week 13:
Hash Tables
Hash Tables: Algorithms Weiss, 20.1-20.3, pp. 773-784      
23 Tues, Apr 30 Hash Tables: Practice Weiss, 20.4-20.7, pp. 784-801 lab Due: Monday, May 7  
  Wed, May 1 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      
24 Tues, May 8 Heaps   lab Due: Friday, May 10  
  Wed, May 9 Heap Sort        
  Fri, May 11 Semester Wrap Up Class Discussion; End-of-Course Evaluations

created 10 May 2011
revised 10 April 2013
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 .