CMPS 101
Algorithms and Abstract Data Types
Summer 2015  (June 22 - August 14)

 
Final Exam:  Friday August 14,  1:00-3:30 pm
Please bring your UCSC picture ID to the exam

Syllabus
eCommons
Piazza

Programming Assignments  pa5 extended one more day (last one)

Homework Assignments  hw7 solutions posted      
Handouts      
Examples    
Notes
Webcasts  

Midterm 1 Review Problems  Solutions to Selected Review Problems  
Midterm 1 Solutions  

Midterm 2 Review Problems  Solutions to Selected Review Problems  
Midterm 2 Solutions  

Final Review Problems  Solutions to Selected Review Problems  

Red-Black Tree Animation


Time and Place:  MWF     1:00-2:45   Earth & Marine Sciences B206     
Class Webpage: https://classes.soe.ucsc.edu/cmps101/Summer15/

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:
Larissa Munishkina (mlarissa@ucsc.edu)
Dustin Rhodes (dcrhodes@ucsc.edu)

Lab Sections:   
Map to Social Sciences 1 Computer Lab
Monday          3:00- 5:00        Social Sciences 1 PC    Dustin
Tuesday         1:00- 3:00        Social Sciences 1 Mac   Larissa
Wednesday      11:00-12:30        Social Sciences 1 PC    Larissa
Friday         10:00-12:00        Social Sciences 1 PC    Dustin


LSS Tutor:
 Bryan Tsai  (brtsai@ucsc.edu)
Tutor Signup Link 

LSS Tutor Hours: 
Wednesday      3:00PM- 4:00PM     Jack Baskin Engineering 169
Thursday      12:45PM- 1:45PM    
Jack Baskin Engineering 169
Friday        
3:00PM- 4:00PM     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 (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