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,
Java Software Structures: Designing and Using Data Structures,
2nd Edition by Lewis & Chase,
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
September 25, 2009.
Week 1:
- Reading Assignment for Wednesday of First Week
-- Software Engineering
- Read Chapter 1, including the Summary of Key Concepts and
Self-Review Questions at the end of the chapter. The material in
Sections 1.3 and 1.4, on the
Software Lifecycle and UML may be new to you. UML will be used
throughout the book to illustrate relationships among classes and
between classes and interfaces, so be sure to bring any questions
you have to class. Section 1.6 introduces the concept of algorithm
analysis, which we will review in class.
- Review arrays and the ArrayList class in your notes and/or textbook
from Introduction to Programming.
- Discussion questions for Wednesday of First Week:
- For review, do the Terminology Quiz 1 and 2 (handout from
class). You will not need to turn these in - we will discuss them in
class. Be prepared to ask questions about terms you are unsure of.
- Read through the class documentation for the
String class.
- Read through the
Indexing Substrings programming
project. Bring questions to class.
- Compare and contrast arrays and ArrayLists.
- Write out the code to print out all elements of an array and
an ArrayList.
- Write out the code to search for a particular element in an
array and an ArrayList.
- Come up with at least one situation where you would use each
of these data structures.
- Reading Assignment for Friday of First Week --
Java Review
- Read Chapter 2 up to the beginning of section 2.16 (p. 70).
Read the Summary of Key Concepts and
Self-Review Questions for the material you read. Most of the material in
this chapter should be review, but there may some new topics (such
as the
Iterator interface). There may also be some topics that we covered in
previous classes but without spending a great deal of time on them
(such as the static modifier and wrapper classes).
We will come back and discuss Generic Types and Exceptions later.
- Discussion questions for Friday of First Week:
- Try to finish stage one of the Indexing Substrings project. Come to class prepared to discuss the design of the project as a whole.
- Looking Ahead:
Week 2:
- Reading Assignment for Monday of Second Week
-- Collection Classes, List Interface,
ArrayList; Iterators
- Read Chapter 3 of Lewis and Chase on Collections and Sets.
- Read the first three sections of Chapter 4 (pp. 119 - 126)
on the concept of Linked Lists.
- Discussion questions for Monday of Second Week:
- What is the difference between an abstract data
type and a data structure?
- Code repetition is generally a bad thing. Do you see any way
to improve the constructors on p. 100?
- Explain the motivation for using iterator classes. Can you
envision a situation where it might make sense to have more than
one iterator class associated with the same data structure?
- Reading Assignment for Wednesday of Second Week
-- Linked Lists; Exception Handling
- Read the rest of Chapter 4 (pp. 126 - 138)
on implementing a Set using a Linked List.
- Read the last section of Chapter 2 (pp. 71 - 74)
on Exceptions.
- Discussion questions for Wednesday of Second Week:
- Reading Assignment for Friday of Second Week
- No new reading assignment.
- Looking Ahead:
Jump directly to
Week 1
| Week 2
| Week 3
| Week 4
| Week 5
| Week 6
| Week 7
| Week 8
| Week 9
| Week 10