[Skip Navigation] [CSUSB] / [CNS] / [CSE] / [R J Botting] / [CSci202] / index
[Text Version] [Syllabus] [Schedule] [Glossary] [Resources] [Grading] [Contact] [Question] [Search ]
Notes: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
Labs: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10]
Mon Jun 20 08:22:02 PDT 2011
Opening the PDF files on this page may require you to download Adobe Reader or an equivalent viewer (GhostScript).


    CSE202 Web Site and Blog

      2011-06-20 Mon Jun 20 08:20 Grades include make up points from Friday

      [ grading/ ]


      (Close Table)

      2011-06-16 Thu Jun 16 14:04 First draft of Course grades including Final Posted

      [ grading/ ]

      If you have less than 300 points for the course work -- labs, projects etc. you can still make up the missing points and perhaps imp[rove your overall grade by attending one of tomorrows seminars [ ../seminar/ ] and sending me a report before Monday morning.

      2011-06-14 Tue Jun 14 16:19 Grades published and FAQs updated

      I've added some questions and answers to [ FAQ.html ] and made them searchable for review purposes.

      Grades [ grading/ ] have been posted.

      2011-06-08 Wed Jun 8 12:42 Template for final published

      Here [ mock.pdf ] is a template for this quarters final examination. All the details are missing but you can see whta topics are being tested...

      2011-06-07 Tue Jun 7 09:44 Grades posted

      Just posted [ grading/ ] the latest grades for projects, quizzes, labs, and bonusses.

      The assigned work to prepare for Wednsday is to review the first 10 chapters in the text and write down one question that you need answered before the final next week.

      Reminder: the last class is on next Monday when we will review the rest of the material in this course. This the Bonus deadline for perfect work in the last project.

      2011-05-31 Tue May 31 14:31 Online SOTE week

        Dear Dr Richard Botting,

        Thank you for your assistance with the Online SOTE pilot study.

        We would like to provide you with instructions for communicating the online SOTE with your students.

        During the first class meeting of SOTE week, please communicate the information below to your students:

        "We are now in SOTE week. Students should check their CSUSB e-mail accounts as they will be receiving an e-mail that contains a password and link to access the online SOTE. Each student should complete the SOTE no later than June 8."


        Thank you again for your help with this pilot study.

        Best regards, The Online SOTE Ad Hoc Committee

      2011-05-27 Fri May 27 13:12 Grades posted

      [ grading/ ] (doesn't include bonusses earned on Friday...)

      2011-05-24 Tue May 24 15:34 News of the Job market

      [ http://chronicle.com/article/Median-Earnings-by-Major-and/127604/ ]

      2011-05-19 Thu May 19 14:46 Feedback on Templates homework -- classes vs functions

      A template class generates a special class with its own data and functions, but you only get one function each time you instatiate a function.

      Also -- you don't have to tell a function what type of data it has -- and so the type in the template is inferred from the call. But to instanciate a template class you must explicitly state the actual type.

      The next topic [ 15.html ] is "Exceptions" and is based on chapter 17 in the text book. Study these to prepare for Monday's class.

      Grades posted real soon now.

      2011-05-13 Fri May 13 17:24 Answer to Question 2 on last Quiz

      Latest grades are on line.... [ grading/ ]

      One question involved completing a class and a constructor for a doubly linked list given the UML and a test program. The example is set up so that there is very little choice, except the sequence of the lines inside the class and the constructor:

       class Node
           Node(string s);
           string item;
           Node * previous;
           Node * next;
       Node::Node(string s)
      This code has been compiled and tested.

      2011-05-11 Wed May 11 14:25 Seminars announced

      [ ../seminar/ ]

      2011-05-08 Sun May 8 17:03 Change of Schedule in Class Meeting 18

      I've decided to remove that last 4 sections of Chapter 20 and insert Chapter 13 but not sections 13.2 & 13.3.

      The next class is [ 11.html ] and reviews the content in chapter 12(lists, linking, stacks, queues). Then we move on the Chapter 14. we return to chapter 13 in week 9.

      2011-05-05 Thu May 5 08:08 Grades posted and planning ahead

      [ grading/ ]

      Future Events

      115/9Chapter 12Lists, stacks, queues [ 11.html ] Streams [ lab06.html ]
      -5/11Project 2 [ p2.html ] Chapter 10, 11 or 12
      125/11Chapter 14Overloading operators [ 12.html ] " [ lab06.html ]
      -5/11*Quiz 3 on Chapter 10,11,& 12 [ alg.html ] , P 2

      (Close Table)

      Since we are waiting for toner cartridges for the lab printers I will accept project work that is sent to me pasted into an email message [ contact.html ] -- with same deadlines.

      2011-05-02 Mon May 2 14:05 Grades posted

      [ grading/ ]

      2011-05-02 Mon May 2 13:13 A Web page of programming from an alumni

      There is a lot of truth in [ 21-days.html ] ("Teach Yourself Programming in Ten Years" by Peter Norvig).

      2011-04-26 Tue Apr 26 09:32 Two questions -- seminar and Thursdays quiz

      The list of seminars can be found at [ ../seminar/ ] and the content of the next quiz is in the schedule [ schedule.html ] :
      -4/27Project 1 [ p1.html ] Chapter 7,8,or 9
      84/27Chapter 10Recursion [ 08.html ] " [ lab04.html ]
      -4/27*Quiz 2 on Chapter 7,8,9, project 1, and UML

      (Close Table)

      2011-04-25 Mon Apr 25 16:23 Note on asssigned work

      If you gave me chapter 10 assigned work today, please submit chapter 22 for thursday...

      2011-04-21 Thu Apr 21 11:24 grades posted

      Grades have been posted at [ grading/ ]

      The distribution looks like this

      (Close Table)

      The best percentage score in the class is 96.2% and if this was the end of the quarter, including the final and all bonusses.... I would multiply all the scores by 1.04 because nobody got an A (98.33). Notice: I don't do any rescaling until the end. And usually I get someone with an A in this class without rescaling.

      2011-04-21 Thu Apr 21 07:40 Solutions to last lab work

      I have just made these files public.

      Four of my solutions: [ lab02string.cpp ] (use C++ 'string' type) [ lab02get.cpp ] [ lab02get2.cpp ] (input one character at a time and discard the extra ones) [ lab02getline.cpp ] (use getline... and tidy up extra input if needed).

      2011-04-18 Mon Apr 18 17:04 Exercise R8.4 outputs 1 not 10

      [ R8.4.cpp ]

      2011-04-14 Thu Apr 14 13:45 Grades before Quiz 1 posted

      The quizzes are being graded.... but in [ grading/ ] you will be able to use you 3-letter PIN to see your scores on the first 4 meetings/assigned work and two (easy) labs.

      By the way I have posted the code for [ R7.8.cpp ] (Review exercise 7.8 on pointer assignments) to see what assignments are legal and in error -- not an easy review exercise.

      Question R7.4 asked two (2) question and has therefore two answers.

      2011-04-07 Thu Apr 7 09:44 First Grades Posted

      I've posted the first grades for people on my roster as of last night. If you handed in your keyword sheet/contract you should be able to see your grading at [ grading/ ] by inputting the first 3 letters of your keyword.

      Currently we have 45 A/A-s, 6B-/B+/Bs, ... and 5 Fs. But these are early days.

      2011-03-17 Thu Mar 17 09:16 Class Full

      We have hit the limit (60) for this class. The dean has instructed us to take in no more students into CSE classes. This has never happened in the last 29 years I have been here.

      If you want to add this class, you will have to wait for somebody to drop it. You can attend the first 6 sessions in hope of this but if you are not on my roster by then you must leave.

      If you have any doubts about this (or any other class) please drop it as soon as possible to make room for others. I will have to drop people who don't attend class and don't contact me with excuses during the first 6 sessions.

      I am redacting this blog to remove old and useless items.

      2011-03-15 Tue Mar 15 10:08 Draft tentative schedule for Spring 2011 Posted

      This [ schedule.html ] will almost certainly have errors that need correcting -- Contact me if you spot one.

      2011-02-02 Wed Feb 2 14:25 Text for Spring 2011

      We will be using the same textbook as last year... and in this year's CSE201 [ bigcpp1.html ] -- Horstmann & Budd.

      I'll be posting the schedule and syllabus (no big changes planned, closer to the start of spring.

      2010-06-21 Mon Jun 21 11:44 Spring 2010 First cut for final course grades posted

      Because there was no "A" in the raw scores, the rules in my syllabus scaled the total up to make the best total = 100%.

      This gave the following grade distribution
      Grade DistributionA/A-B+/B/B-C+/C/C-D+/D/D-F

      (Close Table)

      Let me know as soon as possible if you spot an error.

      2010-06-15 Tue Jun 15 16:28 Grades Posted

      Currently 20% of the class has got the maximum (300 points) allowed prior to the final exam.

      Best of luck -- the final is design to determine the grade for the class.

      2010-06-14 Mon Jun 14 16:40 Answers to questions posted

      [ 20q.html ]

      You can also use the Search [ ] to find information on a topic.

      Items redacted below

      2010-06-11 Fri Jun 11 06:44 Answer to Question about Extra Credit Seminars

      We have seminars after the final. Will I give credit for write-ups on these seminars?

      Yes I will accept reports on seminars on the last two days that are emailed to me with CSE202 in the subject the day before (Monday) the day when grades are due in CMS (Tuesday). However they do not make up for points lost on the final. Just for points lost in the course work.

      2010-06-10 Thu Jun 10 08:07 Alumni News -- Joriz De Guzman

      [ watch?v=uXTge0uP7NQ&NR=1 ]

      What to do when SSH is down

      Go to [ http://codepad.org/ ] , select C++, and copy/paste your code into the window...

      2010-04-23 Fri Apr 23 11:02 First Grades Posted

      If I have your PINword/Key I have posted your grades so far. Please go to [ grading/ ] , input your key and see your grades. If this fails comae and see me. If the scores are wrong -- come and tell me.

      By the way, see [ http://thisisindexed.com/2010/04/how-to-get-unstuck/ ] as an example of "Indexed" the web site.

      2010-04-13 Tue Apr 13 16:16 Joke of the day -- it is not a bug it is a feature

      [ http://xkcd.com/726/ ]

      2010-03-23 Tue Mar 23 14:08 Syllabus and schedule being printed

      And already I have had to make a change. It looks like the odd numbered review questions and programming projects have solutions on the web! So only even numbered projects and questions can be submitted as work.

      An older version of the text is at [ bigcpp1.html ] which makes intersting reading.

      2009-04-29 Wed Apr 29 06:37 SSH

      The downloads for the Secure Shell SSH have disapeared. I have been told that you can get get a free copy of "PuTTY" which is almost as good by searching for it on the web. To transfer files I'm told that "filezilla" is good. Note: I've not used these so I can't tell you anything about them.

      2009-04-01 Wed Apr 1 06:56 Why I hate arrays

      [ conficker-how-a.html ] (How to make a buffer overflow attack / virus).

      2007-06-15 Fri Jun 15 16:06 Grades include Bonus Points for Friday 15th

      Grade DistributionA/A-B+/B/B-C+/C/C-D+/D/D-F

      (Close Table)

      Millionare and our program

      This was sent to a colleague recently
      1. Subject: Thank you
      2. From: <Anonymous>
      3. Date: Sat, March 31, 2007 9:25 am
      4. To: concep@csci.csusb.edu

        My nephew may be attending Cal State shortly, so feeling a bit nostalgic, I decided to contact some of my professors. I'm not sure if you remember me, but I'm sure you remember my friend <anonimized> (yes, that was a joke). I admit that I thought most of your classes were a waste of time, but I was very wrong. I've built several successful companies, and now own a multi-million dollar corporation, all because of my knowledge and use of computer science. Since I graduated, I've found innovative ways to integrate my knowledge of computer science into every business I've owned. So, I suppose this is a thank you letter to let you know that I credit people like you with my success. If my nephew does attend Cal State (I'm trying to convince him), I'm recommending you as an instructor.

      Tue Nov 23 09:44:51 PST 2004 Previous Final Posted

      I've decided to publish a copy [ final2002.pdf ] of the CSci2002 Final examination from Fall of 2002. This was a course based on a different book. There is no guarantee that the new final will be similar -- I always make some small changes, and the change to Scansholm forces to make some big ones. However the layout, format, instructions, and most of the content will be the same.


    1. Dia::="Diagram Editor", -- a free drawing tool for Linux and Windoze.
    2. FAQ::="Frequently Asked Question".
    3. STL::= "Standard Template Library". [ The Standard Library in resources ]
    4. TBA::= "To Be Announced".
    5. TBD::= "To Be Done".
    6. UML::="Unified Modeling Language", [ UML in resources ]
    7. UNIX::Operating_system= See http://cse.csusb.edu/dick/cs202/resources.html#UNIX.

    . . . . . . . . . ( end of section CS202 Web Site) <<Contents | End>>


  1. accessor::=`A Function that accesses information in an object with out changing the object in any visible way". In C++ this is called a "const function". In the UML it is called a query.
  2. Algorithm::=A precise description of a series of steps to attain a goal, [ Algorithm ] (Wikipedia).
  3. class::="A description of a set of similar objects that have similar data plus the functions needed to manipulate the data".
  4. constructor::="A Function in a class that creates new objects in the class".
  5. Data_Structure::=A small data base.
  6. destructor::=`A Function that is called when an object is destroyed".
  7. Function::programming=A selfcontained and named piece of program that knows how to do something.
  8. Gnu::="Gnu's Not Unix", a long running open source project that supplies a very popular and free C++ compiler.
  9. mutator::="A Function that changes an object".
  10. object::="A little bit of knowledge -- some data and some know how". An object is instance of a class.
  11. objects::=plural of object.
  12. OOP::="Object-Oriented Programming", Current paradigm for programming.
  13. Semantics::=Rules determining the meaning of correct statements in a language.
  14. SP::="Structured Programming", a previous paradigm for programming.
  15. STL::="The standard C++ library of classes and functions" -- also called the "Standard Template Library" because many of the classes and functions will work with any kind of data.
  16. Syntax::=The rules determining the correctness and structure of statements in a language, grammar.
  17. Q::software="A program I wrote to make software easier to develop",
  18. TBA::="To Be Announced", something I should do.
  19. TBD::="To Be Done", something you have to do.
  20. UML::="Unified Modeling Language".
  21. void::C++Keyword="Indicates a function that has no return".