[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci Dept] / [R J Botting] / [CSci201] / resources
[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:26 PST 2008
Opening the PDF files on this page may require you to download Adobe Reader or an equivalent viewer (GhostScript).

Contents


    Useful Resources for CS201: Introduction to Computer Science

      Syllabi and Schedule

      My general syllabus: [ syllabus.htm ] and the CS201 [ syllabus.htm ] and schedule [ schedule.htm ] plus some notes on projects: [ projects ]

      Help with projects and C++: The template file project.cpp: [ project.cpp ] plus a demonstration of what a project looks like [ demo.cpp ] when done.

      Frequently Asked Questions

      Frequently asked questions (and some my answers) about our system here: [ CS_FAQ.html ]

      As the quarter proceeds the "Notes" will be filled in with your questions and some answers. The whole set is linked into the course web page search to help you answer qustions and review the the material.

      Special Topics

        Introduction

        [ hello.cpp ]

        [ coins1.cpp ]

        How programs work

        [ ch02.cpp ] [ av03a.cpp ] [ av03b.cpp ]

        How to write simple programs:

        [ polya.html ]

        Fill in the blanks: [ project.cpp ] [ demo.cpp ]

        Objects

        Decisions

        [ luv.cpp ]

        Loops

        [ while0.cpp ] [ uscor.cpp ] [ bresenham.cpp ] [ sqrt1.cpp ] [ tsqrt.cpp ] [ tsqrt1.cpp ] [ sqrt2.cpp ] [ tsqrt2.cpp ] [ r62.cpp ] [ piman.cpp ] [ terminator.cpp ] [ terminator2.cpp ] [ mtable.cpp ]

        Functions

        [ functions.html ] [ function.help ] [ function.cpp ] [ a09.cpp ] [ fred.cpp ] [ fac.cpp ]

        [ mini.bad ] [ mini.cpp ] [ maxi.bad ] [ maxi.cpp ] [ quad.bad ] [ quad.cpp ] [ quad2.cpp ] [ swap.bad ] [ swap.cpp ] [ order.bad ] [ order.cpp ]

        [ av07.cpp ] [ av26.cc ] [ av27.cc ] [ 03b.cc ] [ 03c.cc ] [ 03d.cc ]

        Testing and Debugging

        Classes

        [ ch06.html ] [ animals.cpp ] [ f8.cpp ] [ ex15.cpp ] [ ex15a.cpp ]

        Vector and Arrays

        Notes: [ vectors.html ] Examples: [ bar.cpp ] (salary bar chart) [ ex18a.cpp ] (find biggest number)

        Putting a vector inside a class: a class that stores a sample and calculates statistics: [ e19.cpp ]

        Example of a 2 dimensional array: [ demo2d.cpp ]

        An unsafe array wrapped up to make a safe class: [ array.cpp ]

      Old Quizzes

      Many of the quizzes are complete C++ programs with a name that ends ".cpp". You can download these them by holding down the Shift key and clicking the links below. [ q05.cpp ] [ q06.cpp ] [ q08.cpp ] [ q11.cpp ]

      Here are some more old quizzes. Quizzes 3 and 4: [ q03.htm ] [ q04.htm ] Quiz 06 with errors [ q06.bad ] , corrected [ q06.cpp ] , and the differences between the bad and the good: [ q06.delta ] (as generated by the command

       		diff q06.bad q06.cpp
      )

      Answer to quiz 07 is in [ ch04b.htm ]

      Quiz 10: Bad [ q10.bad ] and fixed: [ q10.cpp ]

      Quiz 10: Fill in blanks in [ q12.set ] giving [ q12.cpp ]

      C++

        Help and Comfort

        [ c++.is.hard.mbox ] [ function.help ] [ function.cpp ]

        Documentation

        [ c++.stream.cpp ] [ ccc.html ] [ c++.html ] [ C++.FAQ ] [ C++.libraries.FAQ ] [ C.FAQ ] [ http://csci.csusb.edu/dick/doc/ ]

        Examples

        From the CS201 book [ examples ]
      1. and other [ examples ]

      . . . . . . . . . ( end of section C++) <<Contents | End>>

      Unified Modeling Language UML

      [ uml.html ]

      UNIX

      A Beginners guide to UNIX [ http://www.dafydd.net/soft/unix/uguide/ ]

      List of UNIX Commands: [ unix.commands ] [ timing.a.program ] [ unix.commands.html ]

      How to become a power user: (1) Join the CSci Club, (2) take this class [ http://csci.csusb.edu/dick/cs360/ ]

      vi

      Starting: [ vi.txt ] [ vi.commands ]

      To be downloaded and printed: [ vi1.gif ] and [ vi2.gif ] Plus [ vi_charts.pdf ] (first page in PDF (Ok for Linux)) and [ vi_charts.ps ] (Postscript).

      More advanced stuff: [ vi.notes.html ] [ vi.FAQ ]

      Glossary

      Here is a fun and useful guide to the words and phrases that computer people use. I think it is both comprehensive, funny, pretty accurate:
    1. Jargon::= See http://www.tuxedo.org/~esr/jargon/html/The-Jargon-Lexicon.html. Enjoy!

    2. AKA::=Also Known As.
    3. abstract::=Describes something that is kept simple by omitting distracting details.

    4. analysis::=documenting what the problem is, in terms of what is given and what is desired plus the operations and formulae that can be used.

    5. class::=A description of a set of similar objects that perform similar operations and encapsulate more or less similar data.

    6. code::verb=Translating a program design into a computer programming language and testing to remove any errors.

    7. data_object::=An abstract view of an object as a container of information rather than as an active participant on the piece of software.

    8. design::=Producing a step-by-step or piece-by-piece description of how an analyzed problem is to be solved.

    9. emoticon::=One of a number of ASCII characters that encode emotional states of the writer. :-) indicates a joke and :-( unhappiness.

    10. encapsulated::=Something that is protected from accidental tampering. Something that someone else is responsible for. None of our business at this time.

    11. FAQ::=Frequently Asked Question.

    12. IMHO::=In my humble opinion.

    13. interface::=A abstract description of how an object is used: created, operated on, and deleted.

    14. KISS::=A slogan used by computer people when somebody comes up with a complicated way of doing something when a clever solution would be simpler.

    15. kludge::=A design, thing, or plan that works but is an inelegant because of time or other problems. Example: wearing glasses that have been repaired with duct tape.
    16. object::=Something that is manipulated by operations and contains encapsulated information and processing.

    17. operations::=Actions that an object will perform when requested.

    18. TBA::=To Be Announced.
    19. TLA::=Three Letter Acronym.

    . . . . . . . . . ( end of section CS201: Introduction to Computer Science) <<Contents | End>>

    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