[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci Dept] / [R J Botting] / [CSci201] / 02
[Text Version] [Syllabus] [Schedule] [Glossary] [Labs] [Projects] [Resources] [Grading] [Contact] [Search ]
Notes: [01] <02> [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
Podcasts: [01] [02] [03] [04]
Labs: [01] [02] [03]
Thu Jan 17 11:45:32 PST 2008

Contents


    Chapter 1: pages 1-26 Programming

      Podcast 2

      [ 02.mp3 ] The content of this chapter underlies everything we do in this course. If you understand this chapter it will help you do well in the laboratory work, the project work, and the quizzes.

      Reading

      In my guides to the reading I mark the sections with asterisks (*) to indicate important topics. When the book omits something that you need to know then I will mark my notes with plus signs (+). Stuff that is in the book that I don't want you to know I will mark with minus signs (-). The more stars, plusses and minusses there are the stronger is the implied hint.
    1. *** 1.1 Computer Structure and operation
      NameClerical Analogy
      Processor or CPUA clerk sitting at a desk with a calculator and pencil
      ProgramNote book telling the clerk what to do.
      Primary memory or RAM.The desk top with a note pad.
      Input devicesIn tray
      Output DevicesOut tray
      Secondary memoryFiling Cabinet
      Network Interfaces and ModemsTelephone
    2. **** 1.2 How to get the program into the computer
    3. +++ On Linux we compile a program in one step by writing
       		g++ -o example1 example1.cpp
    4. +++ On the csci.csusb.edu Linux labs we compile and run a program like this
       		Q example1.cpp
      (Dr. Botting wrote Q to make programming easier....)
    5. +++ In the labs use the KDE browser and editor to do your programming.
    6. +++ Remotely you will only have a command interface. The lab manual describes how to access the machines remotely (and securely) and suggests some tools that you can use.
    7. * 1.3 Programming languages The history here goes a long way to explaining some of the peculiarities of C++. For more information take the [ cs320/ ] Programming Language class.
    8. **** 1.4 The Process of developing programs
      1. Analysis
      2. Design
      3. Implement
      4. Test
      5. Install
      6. Operate and maintain forever

    9. **** 1.5 Algorithms
    10. Elementary steps
      • Reserve storage to hold values in variables -- (declarations)
      • Get input from user
      • Send output to the user
      • Do a calculation and store the answer.
    11. Structures
      • Sequence
      • Selection
      • Iteration
    12. ** 1.6 Top-down design
    13. * Exercises

      Key words

      I abbreviate definitions and descriptions use a couple of colons. Here is an example.
    14. computer::="A machine that can store and process information under the control of a program".
    15. algorithm::="A precise description of how to solve a particular problem".
    16. program::="A description in machine readable form of a set of instructions that carry out an algorithm".

      Questions

      [ 02q.html ]

      Next

      Class [ 03.html ] with Laboratory 2 [ lab02/ ] and quiz 1.

    Abreviations

  1. Gnu::="Gnu's Not Unix", a long running open source project that supplies a very popular C++ compiler.
  2. KDE::="Kommon Desktop Environment".
  3. TBA::="To Be Announced", something I should do.
  4. TBD::="To Be Done", something you have to do.
  5. UML::="Unified Modeling Language", [ uml.html ] (beginner's introduction to the UML).

End