CMPS 101, Winter 2007 (34052)


Instructor: Prof. Van Gelder
Office Hrs. MW 5:00 - 6:00


New Classroom = Physical Sciences 130


MAKEUP CLASS TUESDAY Mar 13 6PM-7:30 ROOM E2-194
Enter from the patio between Baskin Engr and E2.

Or go to my office Tuesday 4PM or later if you can't make 6PM. It's E2-355. I'll put a sign on the door if I am using a nearby room.

Click here to access Handouts, which are files beginning with ho.
Files with the same name except for the extension have the same content.
The syllabus and other official information is in ho01.{pdf,ps}.


Click here to access an approximate copy of Winter 2007 CMPS101 Class Locker, which is
      /afs/cats.ucsc.edu/courses/cmps101-avg/


Readers (useful for C program assignments): and Textbook Errata
A Discipline of Data Abstraction using ANSI C by Allen Van Gelder, about 25 pp.
From Java to C by Allen Van Gelder, 8 pp.
Download c-adt.pdf or c-adt.ps or javaToC.pdf or javaToC.ps from the Class Locker.
Download web-errata.pdf or web-errata.ps.
Hard copy needed? If so, I will arrange with copy services.

Click here to access student-dbx-guide
Click here to access student.dbxrc Click here to access grading-procedure


Key Dates, A.Y. 2006-07.
Registrar web page.


SOE Class Search.
Simplified access to Registrar web page.


Lecture times:
MWF 3:30-4:40pm, PS room B130    

Instructor:
Prof. Allen Van Gelder (avg @ cse.ucsc.edu)
Phone: (831) 459-4611
Office: 355 Engineering II
Office Hours: Mon., Wed. 5-6, plus drop-in or appt.

Teaching Assistant (all times and places tentative):
Dave Ilstrup ( davei @ cse.ucsc.edu)
Office Hours: Lab/Discussion Sections + by appt.
Unfortunately, TAs are not assigned an office, but appointments can be arranged in TA SPACE or perhaps in ``Jack's Lounge'' in the Baskin Engineering building.
Also, please arrange appointments well in advance to be sure the TA is actually available.

Classroom Section Times in BE 314 (all times and places tentative):
M 10:00AM - 11:30AM BE 314, Dave
F 11:00AM - 12:30PM BE 314, Dave

Computer Lab Times in Crown Computer Lab 201 or BE 105 (all times and places tentative):
M 5:00PM - 8:00PM Crown 201, by arrangement with tutor Victor, vmissiri at (you know where) ucsc dot edu
T 2:00PM - 3:30PM BE 105, Dave or tutor
W 12:30PM - 2:00PM BE 105, Dave or tutor
W 6:00PM - 7:30PM BE 105, Dave and/or tutor
There are other times on the IC schedule, but read the newsgroup to see whether they are covered any particular week.
BE 105 Lab Class Schedule - Winter 2007
Crown 201 Lab Class Schedule - Winter 2007

Making a Unix Link on the ICL Solaris system:
cd or pushd to a directory you will use for 101 work and type (noting the space and dot at the end of the command):
	ln -s /afs/cats.ucsc.edu/courses/cmps101-avg .
	
Now cmps101-avg appears to be a subdirectory; do
	pushd cmps101-avg/
	
and you are in that directory. If you do pushd now you are back in your directory (note the directories listed after each pushd command).
Links to other useful directories are done similarly.
     ln -s /afs/cats.ucsc.edu/courses/cmps101-avg/Supplements .
     ln -s /afs/cats.ucsc.edu/courses/cmps101-avg/AppendixCode .
     ln -s /afs/cats.ucsc.edu/courses/cmps101-avg/Lib .
     
pushd is more convenient than cd because it remembers where you have been; for more features, do
	man pushd
	

To read the newsgroup on an ICL Solaris machine:
        trn -q +x ucsc.class.cmps101
I have "rn101" aliased to this command.
If trn asks you whether to subscribe and where to put the newsgroup you can just hit carriage-return for each question.
If you use other software, be sure threading is disabled.
In the example above the "+x" disables threading.
In the example above the "-q" prevents asking about an infinite number of other newsgroups.
To back up and see an old message:
(1) Do trn as above if you have not done it yet.
(2) If trn asks ``... Read now?'', respond ``y''.
(3) If trn asks ``... What next?'', respond ``P''.
These steps get you into the newsgroup even if there are no unread messages.
Keep doing ``P'' as long as you want to back up more.
Do ``N'' go forward 1 article even if you already read it.
To go any specific message, type its number.
See ho04.txt for more information about reading the class newsgroup.
Class newsgroups can only be read from on-campus hosts.


A step-by-step guide for reading the newsgroup using pine:
PineToReadNews.txt

Programming:
As the catalog says, prior Unix experience is expected.
Programs will be assigned in both C and Java in approximately equal proportions. Fluency in at least one of these languages is assumed, and the other can be picked up during the quarter.
Buying a book on C and/or Java at the beginning of the quarter is NOT recommended. Wait until you are familiar with the materials in the text and on-line, then make your decisions.

After a week or two, if you had difficulty with Unix or C in pa01, get serious about choosing a helpful book and having it with you when you work on future programs.

As the syllabus states, you must pass the programming component of the course to pass the course.

Primary Textbook:
Computer Algorithms, 3rd Edition
by Sara Baase and Allen Van Gelder

Use the Supplements link below to find web-errata.ps and web-errata.pdf, which have important corrections.

Students should already be familiar with most of Chs. 1-3.
Lectures will cover advanced topics in chs. 1-3 and most or all of chs. 4, 7, and 8.
Parts of chs. 5, 6, and 9 will be covered.

Please click here to see Supplements
or visit Prof. Baase's web site: http://www-rohan.sdsu.edu/faculty/baase
and use the Back button on your browser if you want to return to this page.

Other Texts (for reference, no assignments):
Introduction to Computer Algorithms, 2nd Edition
by Thomas Cormen, Charles Leiserson, Ron Rivest, Clifford Stein (2001)
(The first edition is also good.)

C: An Advanced Introduction, ANSI C Edition
by Narain Gehani

These and several additional books will be on reserve in the Science Library.

Registering for a grade:
School of Engineering departments require undergraduate students to register for a grade in all upper division classes related to your major requirements.
If you did not choose letter grade when you enrolled, you should change to letter grade (if you are an undergrad). This does not increase or decrease your chance of passing with a C or better.
Note that C does not mean ``average'', it means ``satisfactory''. Since well over half the students do satisfactory or better, C is actually below average.

NO PERMISSION CODES FROM INSTRUCTOR BEFORE CLASSES BEGIN:
The Undergraduate Advising Office issues permission codes for certain administrative situations, where you "really" have the pre-requisites and "really" are in the major, but the Registrar records do not show it. See http://www.cse.ucsc.edu/advising/undergraduate/.
Attend the first class if you think you qualify for CMPS 101.
Talk to me after class or at the scheduled advising time for beginning-of-quarter or at office hours if you need a permission code from me.
Be warned: I never waive a pre-requisite because you failed to pass the course, i.e., you got NP, F, D, or W.
There is a School of Engineering form you need to fill out (on paper) and hand to me in connection with getting a permission code. Ask the Undergraduate Advising Office for a copy, or check their forms page for a pdf version to download. See http://www.cse.ucsc.edu/advising/undergraduate/current/forms.html. This does not apply to graduate students.



Questions regarding about page content should be directed to
webmaster@cse.ucsc.edu
Last modified Tuesday, 13-Mar-2007 11:12:19 PDT.

Back to the CE / CS Class Home Pages.
Back to the CE / CS Home Page.