CMPS 101
Algorithms and Abstract Data Types
Fall 2014  

 
Final Exam:  Wednesday December 17,  8:00-11:00 am  
Please bring your official UCSC photo ID to the exam

Syllabus
eCommons
Piazza

Programming Assignments  
      
Homework Assignments   hw8 (review only) solutions posted         
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  (arithmetic error in problem 16 solution fixed)

Red-Black Tree Animation  



Time and Place:
 MWF   11:00-12:10  Classroom Unit 1
Class Webpage: http://ic.ucsc.edu/~ptantalo/cmps101/Fall14/

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)
Abhinav Venkataraman (abhinav@soe.ucsc.edu)

Course Tutors:
Alexey Munishkin (amunishk@ucsc.edu)
Subhag Ragi  (sragi@ucsc.edu)

Lab Sections:    
Monday       1:00- 3:00 pm   Crown Mac Lab (Rm 201)    Abhinav, Alexey 
Tuesday      4:00- 6:00 pm   Baskin Engineering 105    Larissa

Wednesday   12:30- 2:30 pm   
Baskin Engineering 105    Alexey
Thursday     2:00- 4:00 pm   
Baskin Engineering 105    Larissa, Subhag
Friday       1:00- 3:00 PM   Baskin Engineering 105    Abhinav, Subhag

MSI Tutor:
Andrew Ringer (ajringer@ucsc.edu)
MSI Schecule:
Monday       3:30- 4:40 pm   Crown 104
Tuesday      6:00- 7:15 pm   Crown 104
Wednesday    2:00- 3:15 pm   Social Sciences 2 room 171 


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