CMPS 10

Introduction to Computer Science

Fall 2001


Final Exam Schedule:
Section 1 (MWF):  Monday December 3, 12:00 - 3:00 pm, Kresge 321

Section 2 (TTh):  Monday December 3, 8:00 - 11:00 am, Stevenson 150


This course is an introduction to the fundamental concepts, issues, and methods of computer science.  Our unifying theme is the design, theory, implementation, and applications of algorithms.  Topics include: correctness and efficiency of algorithms, hardware implementations, machine and assembly languages, higher level programming languages, and the theoretical limits of computation.  While there are no prerequisites, this is a computer science course, and not a computer literacy course.  This means we will cover some technical material with a substantial mathematical content.


Time and Place: Section 01-   MWF     2:00 - 3:10    Kresge 321
                            Section 02-   Tu Th   12:00 - 1:45    Stevenson 150

Instructor:   Patrick Tantalo (ptantalo@cse.ucsc.edu) http://www.cse.ucsc.edu/~ptantalo/
Office:   Jack Baskin Engineering  343A
Office Hours:   MWF  11:00 am - 1:00 pm, and by appointment
Phone:   (831) 459-3898
 

Teaching Assistants:
Hari Rangarajan  (hari@soe.ucsc.edu)  M 1-2 Baskin 109, M 6-7 Ming Ong 108, W 6-8 Ming Ong 108.
Francisco Useche  (fuseche@soe.ucsc.edu) W 9-11 Ming Ong 108, Th 9-10 Baskin 109, F 10-11 Ming Ong 108.
Vidhya Jayarkrishnan (vidhya@soe.ucsc.edu)  T 5-7 Oakes 205, W 1-2 Baskin 109, Th 4-5 Ming Ong 108.
 

Tutors:
Anselmo Ontiveros  (anselmo@cats.ucsc.edu)  T 9-10 Baskin 109.
Chinh Luong (chinh02@cats.ucsc.edu)  M 5-6 Ming Ong 108, W 5-6 Ming Ong 108, Th 5-6 Oakes 205.
Daisy Tam  (daise122@cats.ucsc.edu)  T 10-11 Ming Ong 108, Th 10-11 Ming Ong 108.
Maria Azucena Fragoso (chenita@cats.ucsc.edu)  M 9-11 Ming Ong 108.
 

Important Links:

General Information

Homework Assignments

Lab Assignments

Lab Schedule

Quiz Schedule & Solutions

Programming Examples

Daisy Tam's Practice Final: pdf, postscript
Solutions:  Save these files, then open them using your image viewer, then print.  Do not print from your browser.
page1  page2  page3  page4  page5  page6

Errata:
Problem 7 (page2) Converging pointers algorithm.  The correct list manipulations are

 0 3 1 7 0 2 4 11 0
 0 3 1 7 0 1 4 11 0
11 3 1 7 0 2 4 11 0
11 3 1 7 0 2 4 11 0
11 3 1 7 0 2 4 11 0
11 3 1 7 0 2 4 11 0
11 3 1 7 0 2 4 11 0
11 3 1 7 4 2 4 11 0
11 3 1 7 4 2 4 11 0

The cleaned up list is: 11 3 1 7 4 2

Problem 16 (page4)  The correct bit strings are
a.) 0 110011000  0 00100
b.) 1 101000100  0 00101
 


 

Getting a Computer Account:
It is a requirement of this course that all students have a CATS (Communications and Technology Services) computer account.  CATS provides detailed instructions on how to apply for an account online, as well as a number of  help pages to get you started.

Computer Environments:
There are a number of help and documentation pages at the CATS website which should be helpful for introducing you to things like: email, text editors, newsgroups, and basic information about the Unix operating system.  The division of CATS which administers computing labs on campus is Instructional Computing (IC).  The IC website also contains much useful information.  The IC  machines are named teach.ic, learn.ic, hawking, and curie.  You should always log on to one of these machines when connecting to the campus network.

Submitting a Lab Assignment On-Line:
Logon to your CATS account, do your assignment, then type the following at the Unix prompt (%):

% submit  cmps010-pt.f01  assignment_name  file1  file2 ...
In the above example "assignment_name" will be replaced by the actual assignment name, such as asg1, asg2, asg3 etc.  Some assignments will require that you submit just one file, in which case "file1" is replaced by the name of that file, with nothing else on the line.  Other assignments will require multiple files.  In this case just list the file names on the command line as above.  As with all Unix commands, the submit command is executed when you hit the return key.  If you decide that you don't like what you submitted and want to submit a better version of the assignment (before the due date of course), just submit again using the same file name.  The new submission overwrites the old.

To verify that an assignment was accepted by the system, and to check what was actually submitted, use the peek command:

% peek  cmps010-pt.f01  assignment_name
You'll get a listing of all files which have been submitted for that assignment with the option of viewing the contents of each file.  If you just want to check and see if you are using the submit and peek commands correctly, submit some dummy file with  assignment_name  replaced  by  test.  For example
% submit  cmps010-pt.f01  test  dummy_file
Files submitted in this way will not be graded or even looked at.  This is just a way for you to test the process.
 

On-Campus Resources

School of Engineering
CATS  Home Page
Instructional Computing
Support Center
Information Resource Center
Getting Started on Unix
Summary of basic Unix commands
Using Pine for Email
Other Resources
Unix
Unix Tutorial for Beginners
A Basic Unix Tutorial
Another Unix Tutorial from University of Washington.
An excellent (and long) Introduction to Unix from Ohio State University.
Editors
A short  Pico Tutorial  from North Carolina State University.
Another Pico Tutorial from the University of South Dakota.
An extensive list of Vi tutorials.
Free Software Foundation Gnu Emacs Manual (very long).
Programming in C/C++
C++ language tutorial
cplusplus.com - The C++ resources network
C Programming
Programming in C
Rob Pike: Notes on Programming in C


Professional Organizations

Association for Computing Machinery (ACM)
        UCSC Student Chapter
        Special Interest Group on Computer Science Education
Institute of Electrical and Electronics Engineers (IEEE)
        UCSC Student Chapter
        The IEEE Computer Society
        IEEE Education Services
Society for Industrial and Applied Mathematics (SIAM)
        Activity Group on Discrete Mathematics
        Activity Group on Supercomputing



If you find any errors, please report them to: ptantalo@cse.ucsc.edu

webmaster@cse.ucsc.edu

Back to the SOE Class Home Pages
Back to the SOE Home Page