CMPS 101
Algorithms and Abstract Data Types
Fall 2011


Final Exam:  Thursday December 8, 4:00-7:00 pm
Please bring your official UCSC picture ID to the exam

Syllabus  

Handouts   Final review problems and selected solutions posted    
     
Programming Assignments   
   
Homework Assignments      hw8 solutions posted  
   
Examples    
     
Lecture Notes
  

Time and Place:   MWF  11:00 - 12:10 pm  Thimann Lecture 1      
Class Webpage:   http://ic.ucsc.edu/~ptantalo/cmps101/Fall11/
Class Webforum:  http://forums.soe.ucsc.edu/

Instructor:   Patrick Tantalo  (http://www.cse.ucsc.edu/~ptantalo/)
Office:   E2  257
Office Hours:   TTh 10:00-12:00, W 1:00-3:00, or by appointment
Email:   ptantalo@soe.ucsc.edu
Phone:   831-459-3898

Teaching Assistant:  Serdar Sali <sali@soe.ucsc.edu>
Lab Sessions:
 

Monday           3:00 - 5:00 pm       Baskin Engineering 105 
Wednesday      6:00 - 8:00 pm      
Baskin Engineering 105 
Thursday         5:00 - 7:00 pm       Baskin Engineering 105 

MSI Tutor:  Nathan Abercrombie <nabercro@ucsc.edu>
MSI Sessions: 
Monday          12:30 - 1:40 pm     Baskin Engineering  169
Tuesday           4:00 - 5:15 pm     Social Sciences II  137
Wednesdy        3:30 - 4:40 pm     Baskin Engineering  169


Required Text:
  Introduction to Algorithms, by Cormen, Leiserson, Rivest, & Stein.  MIT Press.  (Second or Third Edition.)

Supplementary Texts:

Java Programming:
Java by Dissection (second edition) Ira Pohl & Charlie McDowell.  Lulu.com 2006.
Learning Java, by Patrick Niemeyer & Jonathan Knudsen, O'Reilly, 2000.
Java in a nutshell : a desktop quick reference, by David Flanagan, O'Reilly, 1997.
C Programming:
C for Java Programmers: A Primer, by Charlie McDowell,  Lulu.com 2006.
Problem solving and program design in C, by Jeri R. Hanly & Elliot B. Koffman, Addison-Wesley, 1999.
Algorithm Analysis:
Computer algorithms : introduction to design and analysis  by Sara Baase & Allen Van Gelder, Addison-Wesley, 2000.
Fundamentals of algorithmics, by Gilles Brassard & Paul Bratley, Prentice Hall, 1996.
The Algorithm Design Manual,  by Steven S. Skiena, Springer-Verlag, 1998.


Other Resources:

Unix
A Unix Tutorial from University of Washington.
A nice list of Unix Tutorials

Makefiles

Make - a tutorial
GNU make

Editors

An extensive list of Vi tutorials .
Free Software Foundation Gnu Emacs Manual (very long).

Programming in C

C Programming
Programming in ANSI C
Notes on Programming in C

Programming in Java

Java SE 6 Documentation
Java Programming Resources

On Campus Resources

Jack Baskin School of Engineering
Information Technology Services
Learning Technology Services


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