CMPS 101
Algorithms and Abstract Data Types
Summer 2013
June 24 - August 16


 
Final Exam:  Friday August 16, 1:00-3:30
Review Session by Jennifer Parrish:  Wednesday August 14, 3:00-5:00 in SS1 PC lab

Syllabus
Handouts
Programming Assignments  pa5 extended to Friday

Homework Assignments  hw7 solutions posted  
Examples    
Lecture Notes
eCommons
Piazza

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

Midterm 2 Review Problems
Solutions to Selected Review Problems  
Additional Master Theorem Problems  
Midterm 2 Solutions

Final Review Problems
Solutions to Selected Review Problems  


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

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)
Lab Sections:  
Monday  
   3:00-5:00  Social Sciences I PC lab (Room135)
Wednesday   3:00-5:00  Social Sciences I PC lab (Room135)

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

Tutor Hours:
Monday     11:00 - 12:00
Tuesday    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 Programming Resources

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

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