READING &
HOMEWORK
ASSIGNMENTS
(WEEKS 4 -
5)
Reading Assignments, Discussion Questions, and Programming Projects
will be listed here in chronological order by due date,
i.e., with the most recent ones at the bottom of the list.
This document was last modified on
February 26, 2008.
Jump directly to
Week 1
| Week 2
| Week 3
| Week 4
| Week 5
| Week 6
| Week 7
| Week 8
| Week 9
| Week 10
Note:
The textbook contains six different types of side notes.
You should always read the first three types: Quality Tips, Common
Errors, and Productivity Hints.
The Quality Tips contain important information on good programming
style. Reading the Common Errors notes will help you avoid
well-known pitfalls. The Productivity Hints are sometimes more
challenging, but helpful.
You should also generally read the Advanced Topics and How To sections unless I specify otherwise.
Random Facts are optional -- read them if you find them interesting.
The book has a Student Companion web site that includes web-only
features (such as source code that appears in the book and some of the
Productivity Hints or Random Facts) and
also has a list of any typos that have been found. You can get to the
website by going to www.wiley.com/college/horstmann,
then clicking on the picture of our textbook (5th Edition of Java
Concepts), and then clicking on the "Go to the Student Companion Site"
link within the "Students" box. Or you can click on this Student Companion Site
link directly. From there, click on the appropriate Resource link,
such as "Source Code" or "Features: By Chapter". For example, you could
find Productivity Hint 1.2 by going to the Student Companion Site,
clicking on Features: By Chapter, clicking on Chapter 1, then clicking
on Productivity Hint 1.2.
Week 4: Monday
- Reading assignment:
- Designing and Implementing Classes: Read
HOW TO Section 3.1 on pp. 92 - 95 and Sections 3.6 - 3.8,
including the Common Errors. (Have you ever made
Common Error 3.2?)
Read the Chapter Summary for Chapter 3.
- Writing Methods: Read the handout on
method descriptions.
- Look over the implementation for the
AquaFish class in
AquaFish.java. You do not need to read all the method
implementations, but you should be able to find and identify the main
pieces of the class -- the declarations of instance variables, the constructors,
the public methods, and the private methods that are available only within
the class.
- Discussion questions:
- R3.1 - R3.6.
- Where is an object's state reprepresented in the
AquaFish
class?
- How many constructors does the class have?
- How many public methods does the class have? Does this correspond
to the class
documentation for AquaFish? Why, or why not?
- What private methods does the class have? Are they represented
in the class documentation? Why, or why not?
Week 4: Tuesday
- Lab Entrance Assignment:
- Make sure you have finished all previous mini-labs in the Aquarium Lab
Series. Bring a hard-copy of your main method to class to turn in.
(Make sure you have updated the documentation as well as the code!)
- Programming Project
#3 is due at the beginning of lab.
Week 4: Wednesday
- Reading assignment:
- Scope: Read Section 8.1.
- Array Algorithms: Read Section 7.5.
- Discussion questions:
Week 4: Friday
- Reading assignment:
- Filling in gaps (or, Reviewing primitive types
and arithmetic operations): Read all of Section 4.2
(previously you stopped in the middle of p. 128), including
Quality Tips 4.1 and 4.2. Read Sections 4.3 - 4.5, including the
Common Errors and Quality Tips. Take a deep breath and then read
HOW TO 4.1 slowly, or maybe even twice (pp. 141 - 143). How does this
process compare with how you approached the Histogram lab or
programming project, or any of the other projects you have worked
on? Could it help you improve your own approach to programming or
problem-solving?
- Review strings: Review Section
4.6. Also, read the Chapter Summary for Chapter 4.
- Review comparing values: Review
Section 5.2.
- Discussion questions:
- No new discussion questions.
- Programming Project
#4
Be prepared to run your program in class. Note that the
final exercise involves creating
user documentation for your program that is accessible from the "Help" menu. Be
particularly careful to document the three methods that are unique to your program,
including how they can be used to draw a picture, and whether they makes
any assumptions
about the minimum dimensions for the grid.
Week 5: Monday
- Reading assignment:
- Review Boolean expressions: Review Section
5.4. Also, read the Chapter Summary for Chapter 5.
- While Loops, For Loops, Do Loops: Read
Sections 6.1 - 6.4. (Sections 6.2 and 6.3 should be review.)
Skip Quality Tip 6.1 on p. 213 (Horstmann's right that the bad
for loops he gives in Quality Tip 6.1, but I disagree
with his over-generalized conclusion.) Read the Chapter Summary
for Chapter 6.
- Implementing Classes: Review
Sections 3.4 and 3.5. Read Sections 3.7 and 3.8, and the Chapter
Summary for Chapter 3.
- Discussion questions:
- R6.1, R6.3, R6.4, and R6.11 on pp. 238-239.
Review any of the previous Reading Assignments with which you do not
feel fully comfortable. We have now read:
- Chapter 1
- Chapter 2
- Chapter 3, Sections 3.1 - 3.5, 3.7 - 3.8
- Chapter 4 (except Section 4.7)
- Chapter 5 (exception Section 5.5)
- Chapter 6, Sections 6.1 - 6.4 (but
while
loops will not appear on the midterm)
- Chapter 7, Sections 7.2 - 7.5
- notes on writing
methods (Word document)
Discussion questions:
Week 5: Wednesday
- The midterm exam will be Wednesday of Fifth Week.
Week 5: Friday
- Reading assignment:
- Arrays: Read Section 7.1 including
Common Errors 7.1 and 7.2 (pp. 250 - 254). Read HOW TO 7.1 (p.
271). Read Section 7.7 including Common Error 7.4 (pp. 272 - 276).
- Discussion questions:
Jump directly to
Week 1
| Week 2
| Week 3
| Week 4
| Week 5
| Week 6
| Week 7
| Week 8
| Week 9
| Week 10