CMPS 101
Algorithms and Abstract Data Types
Summer 2016  (June 20 - August 12)


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

Syllabus
Piazza  
Programming Assignments         

Homework Assignments   hw7 solutions, hw8 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  


Time and Place:  MWF     1:00-2:45   Thimann Lecture 003     
Class Webpage: https://classes.soe.ucsc.edu/cmps101/Summer16/
istumfal@ucsc.edu

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


Teaching Assistants:
Vedashree Bagade (vbagade@ucsc.edu)
Arjun Mylavarapu (amylavar@ucsc.edu)

Lab Sections:   
Map to Social Sciences 1 Computer Lab
Monday       3:00- 5:00        Social Sciences 1 PC   Vedashree, Arjun  
Tuesday      9:00-11:00        Social Sciences 1 PC   Vedashree  
Thursday    12:00- 2:00        Social Sciences 1 PC   Arjun

LSS Tutor:
 Bryan Tsai  (brtsai@ucsc.edu)  
LSS Signup Link:  https://eop.sa.ucsc.edu/OTSS/tutorsignup/
LSS Tutor Hours: 
Monday        3:45PM- 4:45PM     ARC 202    
Tuesday      11:45AM-12:45PM     ARC 202
Wednesday     5:00PM- 6:00PM     ARC 203



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 8 Documentation
Java Tutorials
Java Language Specification

Programming in C
C Programming
Programming in ANSI C
Notes on Programming in C
C Library Reference Guide 
Another C Library Reference
TutorialsPoint: C Library Reference

Unix
An online O'Reilly text on the Unix Operating System
A Unix Tutorial from University of Washington.
A nice list of Unix Tutorials

Editors
An extensive list of Vi tutorials 
Free Software Foundation Gnu Emacs Manual (very long)

Makefiles
Simple Makefile Tutorial
GNU make

Campus Resources
Information Technology Services (ITS)
Computer Labs





If you find any errors, please report them to: ptantalo@soe.ucsc.edu