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

Programming Assignments  pa5 extended to Friday

Homework Assignments  hw7 solutions posted  
Lecture Notes

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:

Instructor: Patrick Tantalo (
Office: E2 257
Office Hours:   M 3:30-4:30, TTh 2:00-4:00, or by appointment
Phone: 831-459-3898

Teaching Assistant: Jennifer Parrish (
Lab Sections:  
   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 (
LSS Tutoring signup:

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


A Unix Tutorial from University of Washington.
A nice list of Unix Tutorials

Simple Makefile Tutorial
GNU make

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: