CMPS 101
Algorithms and Abstract Data Types
Summer 2012    (June 25 - August 17)


Syllabus  
Handouts   Additonal RBT problem added to final review problems  

Programming Assignments  pa5 extended by one day   

Homework Assignments   hw7 solutions posted
 
Examples  
Notes 


Time and Place:   MWF  1:00 - 2:45 pm  Jack Baskin Auditorium 101      
Class Webpage:   http://ic.ucsc.edu/~ptantalo/cmps101/Summer12/

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

Teaching Assistant:  Jennifer Parrish    jlparris@ucsc.edu  
Discussion Sections:
  MW  3:30 - 5:30  Social Sciences I  PC lab

LSS Tutor:  Christopher Taylor   chataylo@ucsc.edu  
LSS online tutor sign-up: https://eop.sa.ucsc.edu/OTSS/tutorsignup/

LSS Tutorial Sessions:  MW  3:00 - 4:00 pm   Jack 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

Simple Makefile 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