CMPS 101
Algorithms and Abstract Data Types
Summer 2014  (June 23 - August 15)

 
Final Exam:  Friday August 15, 1:00-3:30
Review problems posted below
Please bring your UCSC picture ID to the exam

Syllabus
Programming Assignments    pa5 extended another day 

Homework Assignments  hw7 solutions posted   
Handouts      
Examples    
Lecture Notes
eCommons
Piazza

Red-Black Tree Animation
 

Midterm 1 Review Problems  Solutions to Selected Problems
Midterm 1 Solutions  

Midterm 2 Review Problems  Solutions to Selected Problems  
Midterm 2 Solutions  

Final Review Problems
  Solutions to Selected Problems  


Time and Place:  MWF     1:00-2:45   E2  194
Class Webpage: http://ic.ucsc.edu/~ptantalo/cmps101/Summer14/

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

Teaching Assistants:
Jennifer Parrish (jlparris@ucsc.edu)
Grace Lin (glin@soe.ucsc.edu)
Lab Sections:  
Monday  
   11:00-1:00   Social Sciences I PC lab (Room135)
Friday      10:00-12:00  Social Sciences I PC lab (Room135)

LSS Tutor:
Andrew Ringer (ajringer@ucsc.edu)
LSS Tutoring signup: https://eop.sa.ucsc.edu/OTSS/tutorsignup/

LSS Tutor Hours:  
Tuesday     11:00-12:00
Wednesday   11:00-12:00
Thursday    12:30-1:30


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

Supplementary Texts:


Java Programming:
Java by Dissection (2nd edition) Ira Pohl and 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:

Programming in Java
Java SE 7 Documentation
Java Tutorials

Programming in C

C Programming
Programming in ANSI C
Notes on Programming in C
C Library Reference Guide  

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).

Campus Resources
Information Technology Services
Computer Labs


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