This course is being taught for the sixth time in the Fall of 2008. It is normally scheduled once per year. There is no required text book. Instead there will be readings on the Web. I will refer you to a particular page on my web site for this class [ http://cse.csusb.edu/dick/cs372/ ] for you to study. Most readings will have a set of review questions to be answered as the assigned work for the class.
Note: many of the skills are embodied as procedures, calculations, and diagrams: Data Flow Diagrams, Critical Path Method, Entity-Relationship Diagrams, Normalization, Activity Diagrams, etc., I expect you to learn to do them correctly.
Reading
(Required Reading): You will be required to read
handouts and designated papers on the World Wide Web.
Detailed reading assignments will be in the pages for each class on the
web -- these will be ready in time to prepare for each class.
Here is a list of topics covered
As you study these web resources look out for Stories, Patterns, Principles, Diagrams, Calculations, Errors, Smells, and Jokes.
Stories (a short concrete description) are a neat way to express an idea. They will be used to introduce topics. eXtreme Programming uses them for requirements. "War stories" of real life systems are worth taking note of.
Patterns are solutions to complex problems that are good enough to be used again and again. Watch out for these in each topic we cover.
Principles are general properties or rules that we use. Some are based on theory and sometimes on practice. Again look out for these.
Diagrams are useful tools. We express our ideas about particular systems using pictures with well defined meanings. An example is the Data Flow Diagram or DFD that shows how parts of a system effect each other. Another is the Activity Diagram that records a particular procedure used in an organization. You must master the rules for half-a-dozen diagrams so you can use them as needed in your career.
Calculations help check that our diagrams work. We use calculations to evaluate designs and plans. For example we can use an activity diagram to describe the work to be done next week, and the "Critical Path Method" to calculate how long it will take and which steps in the plan are most critical for completing it before the week is over.
Errors occur when you don't follow the rules for particular Diagrams or Calculations -- like when you add 2 and 2 and get the answer 5. These are like syntax errors uncovered in your program by a compiler. You must avoid these (and spot them) to do well in this class.
Smells tell you something is wrong. For example a good doctor can diagnose a strep throat from the smell on the patient's breath. Similarly a program that does not give a name to a constant does not smell good: it might compile and run, but something is rotten in it. A smell in a diagram does not mean it is incorrect -- but it means you should try figure out what is really going on, and perhaps change the diagram.
Jokes encapsulate folk wisdom. Here is an example. [ TireSwingTable.html ] (Cartoon) [ treeswing.htm ] (History and origins)
The Wikipedia is fairly trustworthy, but check with me.
Lecture Discussion
40 points(8%). Lectures and discussions will be based on assigned reading.
Participating in the 20 classes will be worth 2
point each. My plan is to set you lots of exercises starting with a task to
be done while I grade the
[ Assigned Work ]
next below. There will be short lectures.
Assigned work
36 points(7.2%). There are 18 assignments.
Each is worth 2 points. You will normally be given some web pages to study.
They end with a set of review questions. You should try to answer as many of
review questions as you have time for. Bring one question and its answer to class
on a piece of paper with your name on it.
It is worth 2 points. If you don't have a review question+answer
hand in a blank sheet of paper with your name on it to at least
prove you were in class. In some class meetings there is no reading and so
no review questions. Instead hand in a question you want answered.
Field Trips
45 points(9%). There will be 3 field trips.
Participation is worth 5 points and a written report
is worth
10 points. The report is due at the start of the
following class. It should be at least one page long. It should present
your own observations and thoughts.
You can make up for missing a field trip by organizing your own visit to any office on campus and writing a report on how computer technology is used in that office.
Project
50 points(10%). Parts of five(5)
sessions (Schedule) will be dedicated to developing a team project
that interests you.
5 points will be
given for work done in class time and a further 5
points for completing the work ready for the following
session starts. Hand in what you have at the start of the next
session. I will also ask for a short progress report from each team
at the start of the class. At the end of the course you will be asked
to present your project to the class. These classes will be passed to
CSCI375 for further development. In the past some projects have ended up
being implemented as Senior Projects.
Quizzes
150 points(30%), 15 points each in 10 classes(Schedule). Note.
This the largest component in the assessment prior to the final.
Quizzes will test your memory of topics covered plus skill with
the techniques covered.
Bonus
You can earn the standard 5 points bonus/make up points by attending
a computer science seminar or Masters project presentation.
See
[ ../seminar/ ]
for the schedule. You must attend the seminar and,
at the next class meeting, hand in to me a short report: who, what, when, why, how, ...
(less than 250 words) on the presentation.
Course Work
You can score a maximum of 300 points before the final.
Final Examination
200 points comprehensive(40%). Questions will
be based on work done in class (including field trips and project work)
and in assignments
during the quarter.
See a previous years
[ mock.html ]
[ mock.pdf ]
mock finals.
. . . . . . . . . ( end of section Instructional Methods) <<Contents | End>>
Schedule
[ schedule.html ]
See Also: Policies and Schedule
See my generic syllabus
[ ../syllabus.html ]
for the general policies
that apply in my classes. Also check out the on-line
[ schedule.html ]
on my web site.
Changes Can Happen
This is a tentative syllabus. If I have to change anything it will be announced
on this website
[ index.html ]
, in class, or even by EMail to your CSUSB Email address. If I make changes
a note will be posted on the blog for this class. My web page has links to
changes on my site. These may lag a a day behind.
What is this class about
This class includes materials often covered in courses called
. . . . . . . . . ( end of section CS372 Syllabus) <<Contents | End>>
Abbreviations
Also see [ glossary.html ] for more special abbreviations and phrases.