CMPS 101, Spring 2012 (60605)
Instructor: Prof. Van Gelder
Office Hrs. MW 2:00 - 3:00
MAILING LIST IS BROKEN.
These 2 messages should have appeared last Monday:
Subject: ho11-practice-mid2.{pdf,ps}
ho11-practice-mid2.{pdf,ps}
is in the Handouts directory off the class web page and will be handed out
in class today, monday, may 14. --Allen
Subject: pa02 slight extension of time
Due to week-end difficulties with unix.ic pa02 will be open for submissions
up until Monday May 14 11:59 PM
--Allen
These 2 messages should have appeared last Friday:
Subject: gdb to be reviewed in lecture Friday
gdb to be reviewed in lecture Friday
--Allen
Subject: debugger on the exam
As with midterm 1, if there is a question about using a C debugger,
you should answer with respect to the debugger you actually use,
provided it can do the requested operations.
The course locker contains a file student-dbx-guide.
However unix.ic does not offer dbx any more, so memorizing this
for the exam would be a waste of time.
Instead, use it as a guide to the kinds of operations you should
know how to do in the debugger you actually use.
The fact is, many students never learned any debugger.
If you are one of these, I recommend that you practice using
gdb or some debugger on your pa02 code, along the lines of
what I demonstrated in class, and what you find in student-dbx-guide
as basic operations.
--Allen
If anyone else posted or tried to post, I did not receive those
messages either.
Send mail or cc to me at cs.ucsc.edu about class business until the list
is working again.
I just posted one message at Sat May 19 10:10 AM, so maybe it is fixed.
- 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
Spring 2012 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.
Might need updating regarding strtok_r,
which is preferred to strtok.
- Download c-adt.pdf or c-adt.ps
or javaToC.pdf or javaToC.ps from the
Class Handouts.
- Download web-errata.pdf or
web-errata.ps.
- Hard copy needed? If so, I will arrange with copy services.
SOME LINKS ARE NOT SET UP YET.
- Click here to access
student-dbx-guide
- Click here to access
student.dbxrc
-
-
Key Dates, A.Y. 2011-12.
-
calendar_two_pages.pdf A.Y. 2011-12.
-
Registrar web page.
-
School of Engr course info.
-
ITS Computer Lab Schedules.
- Lecture times:
- MWF 12:30-1:40pm, JBE 152
- Instructor:
- Prof. Allen Van Gelder (avg @ cse.ucsc.edu)
- Phone: (831) 459-4611
- Office: 355 Engineering II
- Office Hours: Mon., Wed. 2-3, plus drop-in or appt.
- Teaching Assistants (all times and places tentative):
- Jennifer Parrish (jlparrish @ soe.ucsc.edu)
- Lab/Discussion Sections: Mon 3:30-5:00pm, JBE 105; Tues 4:00-6:00pm, SS1; Thurs 4:00-6:00pm, JBE 105 + by appt.
- Kun Qian (kunquian @ soe.ucsc.edu)
- Lab/Discussion Sections: Tues 2:00-4:00pm, JBE 105; Fri 10:00am-12:00pm, JBE 105, Fri 2:00-3:30, JBE 105 + by appt.
Also, please arrange appointments well in advance to be sure
the TA is actually available.
- Classroom Section Times (see reg. page; all times and places tentative):
- Mondays, 3:30-5:00pm, JBE 105
- Tuesdays, 2:00-4:00pm, JBE 105
- Tuesdays, 4:00-6:00pm, SS1 Mac Lab
- Thursdays, 4:00-6:00pm, JBE 105
- Fridays, 10:00am-12:00pm, JBE 105
- Fridays, 2:00-3:30pm, JBE 105
- MSI Sessions (all times and places tentative):
- Mondays, 5:00-6:10pm, SS2 159
- Tuesdays, 10:00-11:15am, SS2 363
- Wednesdays, 3:30-4:40pm, SS2 137
- Making a Unix Link on the ICL Linux 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 .
ln -s /afs/cats.ucsc.edu/class/cmps101-avg.s12 .
The last directory, cmps101-avg.s12, might not allow you to pushd into,
but I think you can do "ls cmps101-avg.s12" after making the s-link.
- pushd is more convenient than cd because it
remembers where you have been; for more features, do
man pushd
- Class mailing list:
cmps101-discuss@soe.ucsc.edu
- How to join: Send mail to
cmps101-discuss-join@soe.ucsc.edu
from your CruzId mail account. Subject and body do not matter.
When you receive a "confirm" email, follow those instructions.
If you are in cmps101 or have a good reason to be in this list,
I will approve it, but there can be some delay.
Trying to reply to this list might not work as expected. Be sure to
check that your message is directed to the above name exactly as shown
before you send it.
- Programming:
- As the catalog says, prior Unix experience is expected.
- Programs will be assigned in C (with some options for Java).
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
- and
use the Back button on your browser if you want to return to this page.
- Primary Reader:
- A Discipline of Data Abstraction using ANSI C
(c-adt.pdf or c-adt.ps)
- Download from the
Class Handouts.
- Other Texts (for reference, no assignments):
- C: An Advanced Introduction, ANSI C Edition
- by Narain Gehani
- Introduction to Computer Algorithms, 2nd or 3rd Edition
- by Thomas Cormen, Charles Leiserson, Ron Rivest, Clifford Stein (2001)
- (The first edition is also good.)
- 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://ua.soe.ucsc.edu/advising.
- Attend the first class if you think you qualify for CMPS 101.
- One pre-requisite is phrased as follows on the registrar page:
"one course from the following: MATH 21, 22, 23A, or AMS 10."
The School of Engineering web page says:
"one course from the following:
Mathematics 21, 22, 23A, 24, or Applied Mathematics and Statistics 27."
A student with a good record may take this as a co-requisite.
In any case, ask undergraduate advising which version is correct because
you need to fulfill the degree requirement.
Even if I accept a course as a pre-req or co-req for 101, the
degree requirement is not changed.
See the disclaimer at the bottom of
http://courses.soe.ucsc.edu/courses/cmps101.
- 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://ua.soe.ucsc.edu/policies-forms.
Select "Request for Permission Number and/or Prerequisite Waiver [PDF]".
This does not apply to graduate students.