Software Design (CSC-223 97F)
Outline of Class 39: Wrapup
- I misread the instructions on the course evaluation forms. Since
I need to give them in class, we'll need to use
much of today's class for those evaluations.
- The timing is less good than I would have liked, particularly
because I have been negligent in returning assignments. Feel
free to criticize me for that.
- I will therefore hold a review session sometime (or sometimes)
next week. My inclination is 11am Thursday, as I don't believe
we have a convocation. Let me know if you have other preferences.
- A review sheet with
sample problems is now available.
- Today's talk is on browser security.
- The order of presentations is now given in the
- In our continuing trend of "bashing big brother, I present the
following joke, taken from the EvangeList digest,
Bill Gates and Scott McNealy were playing a friendly game of frisbee on
the Gate's estate on the shore of Lake Washington. At one point, Bill
accidentally sends the frisbee over Scott's head, and the frisbee lands
in the lake. Scott walks out onto the surface of the lake and retrieves
The next day the newspapers report:
GATE'S THROW EXCEEDS EXPECTATIONS
Sun CEO Unable to Swim
- Before reviewing what we've learned in the class, I'd like to step
back for a few moments and reflect on the course and its processes.
- This is a somewhat unique version of CS223.
- It is perhaps the only time we'll have a 223 that includes so much
time on Java. Hopefully, we can assume Java knowledge when it is
- We therefore spent more time on Java and less on other issues.
- It appears at an odd time in the development of Java. In a few
years, we'll have better equipment and better environments.
- This may reduce programming and debugging time.
- It is the first time I taught software design. While I am
familiar with all the topics we covered, I've never before tried
to figure out how to fit them in one class.
- This made the class less structured and more variable than I
would have liked.
- This is my first term at Grinnell.
- I clearly had incorrect expectations about your knowledge.
- There are a number of things that I could have done to make the
class better. In general, my failures to do so are related to time
issues and my getting settled here. I apologize for not doing better.
- I clearly should have graded your assignments more quickly and
otherwise provided you with more regular feedback.
- I should have provided more online examples, particularly as we were
- I should have spent more time on the makeup of groups.
- I should have provided more of a "stick" to enforce an appropriate
work ethic (see below). Of course, given my own failings, it was
difficult for me to crack down too hard on you folks.
- I should have been more organized.
- Fill in your own.
- There are also a number of things that I'd recommend that you do to
improve your own learning.
- Please do the reading before each class. Many topics could have
been covered much more quickly if you'd had the background the
readings were intended to give.
- Please start assignments earlier. You will do a much better job on
your assignments if you give yourself time to reflect, correct errors,
- Please try to incorporate what we discussed in class within your own
work. For example, many of you completely ignored my advice to have
TESTING variable when you were printing
- Please be prepared to participate actively in class. Ask questions,
be willing to make mistakes, etc.
- Realize that not all of your learning can be from reading, class, and
assignments. [I'm guessing this is why so few of you are facile at
algorithm analysis; it seems that while you read and discussed algorithm
analysis, you rarely did it on homework assignments.]
- Fill in your own.
- Today's review will necessarily be short. More information can
be found in the handout.
- Note that we've learned stuff from a variety of sources, including
lecture/discussion, readings, exercises, and presentations.
- I'd categorize the stuff we've learned into a few (many?) core
areas. In no particular order, they are
- The software construction process
- Human factors
- Software insecurity
- My mother taught Psychology at Boston University for over thirty
years. ("Aha, that explains SamR's personality.") She ended every
class with the same statement. I try to do the same, although the
statement is filtered through my sensibilities.
Most of us will take or teach other classes. However, this one is
unique; none will ever be quite like this it for a number of reasons.
The people in the class made it what it was. We should acknoledge
each other's contributions and commit ourselves to making similar
contributions in future classes. I thank all of you for your
- Mom also makes a statement on the order of
While I enjoyed having you in my class, I'm also happy to have you
move on to other things. Like any parent, I've enjoyed seeing
you grow, but also want you to test your own wings.
- Mom also tells a story of an elementary school teacher she had worked
with who was leaving her job. Mom stopped by to give the teacher a
goodbye present. The teacher cried. Mom said "I expect that you've
been crying all day as you said goodbye to your students." The teacher
said "No, I forgot to say goodbye." Since then mom has always made it
a point to say goodbye to her classes. I encourage you to say goodbye
to your friends and colleagues who you may not see again.