CMPS 101
Algorithms and Abstract Data Types
Winter 2015  

 
Final Exam:  Thursday March 19, 7:30-10:30 pm

Syllabus
eCommons
Piazza

Programming Assignments  
           
Homework Assignments                   
Handouts      
Examples    
Notes
Webcasts  

Midterm 1 Review Problems   Solutions to Selected Problems  
Midterm 1 Solutions  

Midterm 2 Review Problems   Solutions to Selected Problems  
Midterm 2 Solutions  

Final Exam Review Problems   Solutions to Selected Problems  

Red-Black Tree Animation



Time and Place:
 MW  5:00 - 6:45 pm   Oakes 105
Class Webpage: http://ic.ucsc.edu/~ptantalo/cmps101/Winter15/

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

Teaching Assistants:
Larissa Munishkina (mlarissa@soe.ucsc.edu)
Subhag Ragi  (sragi@ucsc.edu)

Course Tutors:
Alexey Munishkin (amunishk@ucsc.edu)
Ryan Connors (rmconnor@ucsc.edu

Lab Sections:   

Tuesday      12:00PM- 2:00PM      Crown Mac Lab   Larissa, Ryan
Wednesday    10:00AM-12:00AM      Baskin 105      
Alexey, Ryan
Wednesday     2:00PM- 4:00PM      Baskin 105      Larissa, Subhag
Friday       12:00PM- 2:00PM      Baskin 105      Alexey, Subhag

MSI Tutor:
Andrew Ringer (ajringer@ucsc.edu)
MSI Schecule:  TBA
Monday        2:00PM- 3:10PM      Porter 250
Tuesday       2:00PM- 3:15PM      Crown 201
Wednesday     3:30PM- 4:40PM      ARCenter 221


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
Java Language Specification  

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