Latest Update: 03/30/2000


Week 07 Notes for CS 2500 -- Spring 2000
(this is draft material)

* Take roll 
* Schedule Highlights
  + reading assignment
  + level-two program due this Friday.

* There is now grade information for program two
  in the web space.

* I sent individual grade reports back to you by
  email.  In some, I included a fair number of
  comments and suggestions.  In others, not.

=========================
MONDAY 
=========================

* ANNOUNCEMENT:  Check the quiz that was handed
  back.  Make sure every problem was graded and
  that the points were correctly summed.  Let me
  know if there is any problem.  (Keep on doing
  this for future quizzes and assignments.)

* ANNOUNCEMENT:  I checked the Asg #2 programs
  (GCD calculators.)  Of 19 submissions, 15 work
  correctly and 4 do not.  I will assign grades
  and e-mail results ASAP.

* I made some corrections to the specifications
  for program #3.  Keep checking back in the web
  space to make sure you have the latest
  version.  Dates of changes are noted at the
  top.

* We need to discuss level two of the program
  design.  There is new material in the
  assignment directory to help with that.

=========================
WEDNESDAY
=========================

* If you are starting to feel real relaxed about
  "how little" you really need to do for the
  level two program, then perhaps you should
  give some thought to the fact that you need to
  include a great many stubs, all which are
  supposed to have complete header comments,
  finished-out parameter lists, and stub code of
  varying complexity.  Don't be complacent.  Try
  to finish early, and maybe you will not finish
  late :-)

* Each student needs to create some test input
  files.  It is the job of the programmer to
  test the program for correctness and to create
  test inputs that cause the program to be
  tested adequately.

  For now you need at least one version of
  "clients" and one version of "datecoms".
  Later when the program is more developed, you
  may need more.

  When you make these files, think ahead.  Put
  enough in the files to give your program a
  "good workout" -- enough so that any bugs in
  your program are likely to be caught when you
  test using these input files.

=========================
FRIDAY
=========================
* I made some additions to the list of "gotchas"
  for programming assignment #3.

* Reminder about testing:

  Avoid being penalized heavily for errors in
  your program.

  You have to really examine the output you get
  from your test runs, else you don't find out
  the results!

  Try to write your program so it gives you some
  helpful information while you are still
  developing.  Then check that the information
  coming out is as it should be.

  For example:  Information your program reads
  from "clients" should show up in "clients.out"
  unchanged.  Verify that.  If there is an
  inconsistency, you can follow up on it and
  repair the problem in the program that caused
  it.

* We need to go over the list code, come to
  understand it, figure out how to convert it
  for use as list of client records.  HOWEVER:
  keep in mind that you do *not* need to even
  "touch" list code until you start programming
  the level three part of the program.

* Do people want to see a solution of the
  GCD program problem?
  
* The files "diffs.h" and "diffs.cpp" in the
  assignment directory show what the differences
  are between list code for client records and
  the generic list code.  We can review the
  information.

* We need to look at the manner in which the
  list code is "glued" to the rest of the
  program.  (See help file "listGlueHelp" in the
  assignment directory.) 

* Isn't it amazing how complicated this "silly
  little program" has become?  This gives you
  some perspective on why we concentrate so much
  on design methodology in this class.  It is a
  way to avoid being overcome by complexity.

* We have to start discussing pointers and
  linked lists.

=========================
REMINDER FOR NEXT WEEK
=========================

We have to look and see what happens when we introduce the
string list class.  We have to make another set of copies of
listA.h and listA.cpp.  We make changes to the copies to turn
the class into a list of strings class.  Also we have to return
to the clientList.h file and make a few small changes.