CMPS 101
Algorithms and Abstract Data Types
Winter 2014

 
Final Exam:  Thursday March 20,  8:00-11:00 am
Extra office hours:  Wednesday March 19, 12:00-3:00 pm

Syllabus
Handouts   Final review problems and selected solutions posted  
Programming Assignments     

Homework Assignments     
Examples    
Lecture Notes
eCommons
Piazza


Time and Place:
  TTh  10:00-11:45  Stevenson 150
Class Webpage: http://ic.ucsc.edu/~ptantalo/cmps101/Winter14/

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

Teaching Assistant:
Jennifer Parrish (jlparris@ucsc.edu)

Course Tutors:
 
Eric Pagendarm (epagenda@ucsc.edu)
Tyler Esser (tesser@ucsc.edu)

Lab Sections:
  
Monday    5:00-7:00 pm  Baskin 105     Jennifer
Tuesday   6:00-8:00 pm  Baskin 105     Eric  
Thursday  6:00-8:00 pm  Baskin 105     Jennifer
Friday    1:00-3:00 pm  Crown 201      Tyler  
 

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

Tutor Hours:
Monday      9:30-10:40 am  ARCenter 202    
Monday      3:30- 4:45 pm  Cowell 222
Wednesday  12:30- 1:40 pm  Crown  105   
 


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