(Latest Revision: 09/09/2001)  
 Week 02 Notes for CS 1500 -- Fall 2001 
-  Take Roll  
 -  Announcement(s)
     
 
     -  (New 09/13/01) The math and computer science departments are
          working on hiring a tutor for CS 1500.  The math chair,
          Louis Feldman, has money for 4 hours per week.  More on this
          later ...
     
 -  It may not work well to print my web pages from the Sun
          Ultra's.  To print web pages, please print from one of the
          NT machines or one of the Mac's.
     
 -  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.
     
 -  Note: The schedule contains a reading assignment for each
          week -- all semester long.
     
 
  
 -  If computer accounts are ready, pass them out.  Collect any
     account request forms that were not turned in (sec #3/MWF class?)
     
 -  Take care of Add/Drop??  (I will bring forms)  
 -  Assign Partners: Students may make swaps if they notify me by
     e-mail.  
     
         (I make arbitrary initial assignments.  If you want to change
         partners you and the other parties involved must take care of
         all the "divorcing" and "remarrying" required so that
         everyone has a partner.  Then you must let me know by e-mail
         what the new partner assignments are.)
     
  
 -  Assignment:  
     
     -  Students need to read and study the Hello World!
          assignment to prepare for performing the assignment in lab
          this week.  I will go over some of the steps first, and
          later the class will perform the lab.  (MWF class on W, and
          Tu-Th class on Th)
     
 -  If possible, study the online version of the Hello
          World! directions -- you will be able to follow links to
          advice for choosing a password and directions on logging in.
     
 -  You can look at pp. 16-17 of your little Unix book by
          Andersen to get help on choosing a password.
     
 -  You should make up a new password and have it all ready
          before we start lab next week.
     
 
 
 -  Lecture topic: Class must learn to work on Suns 
     
     -  The Suns provide a standard environment and a level playing
          field for the whole class -- everybody learns the same
          system -- everybody's questions apply to everybody else --
          we all go forward together.
    
     
 -   The Suns are equally accessible to all members of the class
     
 -  The Suns are accessible via telnet 24 hours a day, seven
          days a week to all members of the class -- you can telnet
          from home or from another computer lab on campus.  
     
 -  It's good preparation for the future to learn how to get
          along on Sun's: You get exposure to advanced operating
          system features.  Leading employers in computing-related
          fields usually value Unix knowledge highly.
     
 -  I like Unix! :-)
     
 
 
 -  Lecture topic: Each Sun is equivalent to the others. 
 -  Demo some of the tasks required in doing the 
     
      Hello World! 
     Lab. 
 -  About Compiling:  
     
     -  Computers have their machine language 
      -  Each micro-processor has its own machine language. 
          
          -  In general a different language for each chip, although
               typically designers make sure that the newer version of
               a chip model will run all the instructions of the
               earlier model.
          
 -  The machine language instructions do *really simple*
               things.  It takes a great many of them to do anything
               of "much consequence."
          
 -  High level languages solve the problem (well, to a
               degree).  High level languages do a lot more with each
               instruction, and they are portable too.  Portable
               programs are a big plus.
          
 - 
          
 
      -  Computers need support, or they cannot run high level
          languages.  A computer that could execute C++ instructions
          natively would be prohibitively expensive. 
          
          -  The computer needs a compiler or interpreter -- a
               program that translates high level programs into
               machine language programs.
          
 -  Since the machine languages of computers vary,
               different computers need particular compilers designed
               to produce their native language.
          
 -  We create a C++ program called hello.cpp with a
               character-file editor.  Word processors don't tend to
               work well for this purpose because the files they
               output are formatted with special codes that the
               compilers and interpreters are not designed to
               understand.  Also, editors for programs tend to include
               features that are helpful to programmers, such as
               auto-indent, and integration with compilation.  Word
               processors don't do that.  The g++ command translates
               hello.cpp into a.out.  g++ is the name of the compiler.
               If we do "which g++" or "whereis g++", we can see where
               the g++ program is in the system.  The translated
               program is called "a.out".  We type its name to run the
               program.
          
 - 
          
 
      - 
     
 
 -  Look at the assignment of Solo Prog #1 and discuss elements we
     need to build solution -- how do we make function calls and
     declare functions?  Where are the examples in the text that will
     guide us?  The example on pages 37-38 should serve well. 
 -  Show students how to do compilation of a program with JOVE. 
 -  Note that using JOVE as above makes debugging go easier. 
 -