Readings & Assignments
Reading Assignments, Discussion Questions, and Programming Projects will be
listed here in chronological order, i.e., with the most recent ones
at the bottom of the list.
All reading assignments are from the textbook, Data Structures and the
Java Collections Framework by Collins, unless specified otherwise.
Jump directly to
Week 1
| Week 2
| Week 3
| Week 4
| Week 5
| Week 6
| Week 7
| Week 8
| Week 9
| Week 10
This document was last modified on
May 13, 2003.
Week 1:
- Reading Assignment for Monday of First Week --
Introduction to Data Structures, Java Review
- Read Chapter 1 in Data Structures and the Java Collections Framework
by Collins. Skip sections 1.1.15 and 1.1.16 on exception handling for
now.
- If you do not feel confident in Java, download the Aquarium
Lab Series and start going through the mini-labs. We will be going
over arrays (the subject of mini-lab 4) and the
ArrayList
class on Wednesday. If you are learning Java after having learned
C++, you may wish to look over the handout
comparing Java and C++ first.
- Reading Assignment for Wednesday of First Week
-- Java Review , including Arrays and
ArrayList
- Read Chapter 2 of Data Structures and the Java Collections Framework
by Collins up to section 2.4 (pp. 39 - 46).
- Discussion questions for Wednesday of First Week:
- What is a data structure?
- What is the difference between a class and an object?
- Reading Assignment for Friday of First Week --
MBS
- Read Chapter 5 of the Marine Biology Simulation case study. Download
and run the program with bounded and unbounded data files.
- Discussion questions for Friday of First Week:
- Questions 1 - 2 on p. 80 of the MBS
case study
Questions 1 - 3 on p. 83
- Question 1 on p. 87
- Questions 1 - 2 on p. 88
- Questions 1 - 3 on p. 90
- Looking Ahead:
- VLBoundedEnv Programming Project is due Thursday of 2nd
Week (see below)
Week 2:
- Reading Assignment for Monday of Second Week
-- Collection Classes, List Interface,
ArrayList; Iterators
- Complete reading Chapter 5 of the MBS case study if you haven't done
so already.
- Read Chapter 2 of Collins, sections 2.4 (pp. 46 - 48) and 2.5.4 (pp.
55 - 59).
- Read Chapter 5 up to 5.3.2 (pp. 149 - 165) and section 5.3.4 (pp. 168
- 169); much of Chapter 5 should be review, because you used the
ArrayList
class in CS 110.
- Discussion questions for Monday of Second Week:
- Questions 1 - 2 on p. 95 of the MBS
case study
Questions 1 - 2 on p. 97
- Questions 1 - 3 on p. 101
- Questions 1 - 2 on p. 103
- Reading Assignment for Wednesday of Second Week
-- Linear and Binary Searching; Exception Handling
- Read Chapter 13, sections 13.2.1 and 13.2.2 (pp. 496 - 498).
- Read Chapter 1, sections 1.1.15 and 1.1.16 (pp. 27 - 33).
- VLBoundedEnv Programming Project (due Thursday of Second Week)
Implement a very large bounded environment (VLBoundedEnv) using
an ArrayList, similar to the implementation of UnboundedEnv.
To capture the common list representation aspects of the two classes, create
a new abstract superclass, ListEnv, that implements only the
methods that support the ArrayList representation, regardless
of whether the environment is bounded or unbounded. VLBoundedEnv
and UnboundedEnv should then extend ListEnv, each
implementing just those methods that depend on the bounded-ness of the environment.
(See bullet 1 of Exercise 3 on p. 104 of the MBS
case study.)
- Reading Assignment for Friday of Second Week
-- Algorithm Analysis
- Read Chapter 3, sections 3.4.3 - 3.4.5 (pp. 75 - 82).
- Discussion questions for Friday of Second Week:
- Question 4 on p. 101 of the MBS case study.
- Questions 5 - 7 on p. 103 of the MBS case study.
- Exercises 5.1, 5.2, and 5.4 from pp. 175 - 176 of Collins.
- Looking Ahead:
- Iterator Lab Programming Project is due Friday of 3rd
Week (see Week 3)
Jump directly to
Week 1
| Week 2
| Week 3
| Week 4
| Week 5
| Week 6
| Week 7
| Week 8
| Week 9
| Week 10