CSC 207 | Grinnell College | Spring, 2013 |
Algorithms and Object-Oriented Design | ||
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
|
Lab: | ||
4 | Tues, Jan 29 | OO Design Case Study, Concluded | reading | Labs: |
|
||
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 |
|
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |