(Latest Revision: 02/23/2000)
02/23/2000 -- minor changes


Week 02 Notes for CS 1500 -- Spring 2000
(this is draft material)

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

* We have a new larger lecture room P-102 --
  just across the hall from the old room P-101.
  
* Pass out the computer accounts that were not
  claimed:

* Do Roll Call

==================================================
Please think about Guillermo's message and get
ready to let me know which of the hours he
suggests would be hours you could go for
tutoring help.  I will ask for a show of hands
on Wednesday.
==================================================
Guillermo Vargas' message:

Hi Dr. Sarraille:

We are planning on having four tutoring sessions
each week, two hours for CS 1500 and two hours
for CS 2500.

As you know, our goal is to help students
understand the material presented in class, as
well as to answer questions they may have about
their assignments.

This semester we also want to introduce new
material to the students before it is presented
by their professors.  We want to do this because
some students ( mainly from CS 1500 ) have
plenty of time and energy to learn more C++
programming.

I'm currently working on a website for the
workshops.  Hopefully, the site will be ready
next week.

These are the hours available for the workshops:

Monday or Wednesday
10:10 - 11:08
11:15 - 12:13
12:15 -  1:13
 2:30 -  3:20
 3:20 -  4:10

Tuesday or Thursday
1:00 - 1:50
2:00 - 2:50
3:00 - 3:50
4:00 - 4:50
==================================================

* Look at the texts.  Shiflet is for learning
  programming and Andersen is for learning Unix.

* Remind everyone that john@ishi.csustan.edu is
  the address to use to send me e-mail.  "john"
  or e.g. "john@saiph" does not work.

* Announcement: When we have quizzes, there will
  be questions from all the readings -- both
  texts: Carrano and Andersen.

* Announcement: Don't be confused by reading
  section 3.8 of Andersen.  On our Sun Ultra
  System, you need to use the command
  "nispasswd" to change your password.  The
  "passwd" command will not do the trick on our
  system.  Nispasswd is required to distribute
  the information around to all the Sun Ultra's.

* Look at what's coming up soon in the
  schedule.  We have a lab on Friday and a Solo
  program coming up.

* Review and repair lab partner assignments.
  Teams can make swaps if they notify me by
  e-mail.  People can't just abandon a partner
  -- they have to work out an arrangement wherein
  each person gets a new partner.

* Anatomy of the hello world program.
  + What does it mean?  What does "mean" mean?
  + Explicate the steps required to compile and
    run it.
  + Show what happens when you compile within
    JOVE and you get an error.
   + Talk about the fact that it should be "int
     main" and "return 0"
* Show class that all they have to do is vary
  the hello world program to get a program that
  will write just about whatever they like.
* Point out that this is a key observation in
  doing the next lab and the first solo program.

* Discuss simple C++ constructs
  + use of cout stream
  + Using expressions with <<
  + use of endl
  + using functions
    - good for parts of programs that have to be
      repeated.
    - with parameters, good for taking care of a
      large number of similar tasks with just
      one chunk of program code -- one small set
      of instructions with flexibility to do
      many different jobs.
  + idea of a return value

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

* Do roll call

* Is there anyone new that needs a partner?

* Do the polling for hours for Guillermo Vargas' tutoring.

* Finish up some of the Monday stuff -- anatomy of the hello
  world program.

* Announce that the second lab will be held on
  Friday and go over what has to be done for the
  second lab.
  -- you have to know how to grab a copy of the
     program from the browser and capture it in
     a file.
  -- you also have to know how to print a file.
          /* this works from a terminal command line.*/
       lp -d csok1 filename
  -- You also can print from an "Edit" window just with a menu
     selection. 
  -- Quick demo of telnetting to a SUN
  -- Quick demo of access to web (on PC or Sun)
  -- Quick demo of copy and paste of code from web page

* Announcement: Explain to class that they can
  print from the Macs by selecting all, pasting
  into a document, and printing the document --

* Announcement: Explain that this idea can also
  be used to get copies of program code for labs
  and solo programming assignments.

* Explain the point scores for Solo programs --
  point out what they lose if they do not turn
  in a script.  Point out that there will not be
  second chances.

* Do an example program to help explicate the
  first solo programming assignment.

* Keep in mind that computer are good for doing
  large numbers of similar jobs unerringly.
  However, for now the example programs we use
  will not illustrate "serious" programming.

* Show how cout can be used to output numbers,
  expressions, literals.  Give them an example
  of a function with parameters.  Glean the most
  important stuff from the text.

* Show example of how to read e-mail on the Sun
  Ultra's.