CMPS 101
Algorithms and Abstract Data Types
Fall 2016


 
Final Exam:  Tuesday December 6, 4:00-7:00 pm
Please bring your UCSC picture ID to the exam

Syllabus
Piazza  
Programming Assignments    

Homework Assignments               
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 Exam Review Problems  Solutions to Selected Review Problems  



Time and Place:  MWF  10:40 - 11:45 am   Media Theater M110      
Class Webpage:  https://classes.soe.ucsc.edu/cmps101/Fall16-01/


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


Teaching Assistants:
Vedashree Bagade (vbagade@ucsc.edu)
Kuan-Sung Huang (kuhuang@ucsc.edu)
Noujan Pashanasangi (npashana@ucsc.edu)

Course Tutors:
August Valera  (avalera@ucsc.edu)
Isaak Cherdak (icherdak@ucsc.edu)

Lab Sections:   

Monday    12:00- 2:00PM     Baskin 105     Noujan
Monday     2:00- 4:00PM     Baskin 105     Noujan, August  
Tuesday    5:00- 7:00PM     SocSci-1 Mac   Vedashree, Isaak
Wednesday  6:00- 8:00PM     SocSci-1 Mac   Vedashree
Thursday  11:00- 1:00PM     Baskin 105     Kuan-Sung, August
Friday     1:00- 3:00PM     Baskin 105     Kuan-Sung, Isaak  



MSI Tutor:

Emily Hockel (echockel@ucsc.edu
MSI Sections:
Mondays    1:20- 2:20PM     ARCenter 221
Tuesdays   9:50-10:50AM     Oakes Learning Center
Wednesday  1:20- 2:20PM     Crown 105
Thursdays  1:30- 2:30PM     Oakes Learning Center
Friday     9:20-10:20AM     ARCenter 202



Required Text: Introduction to Algorithms, by Cormen, Leiserson, Rivest, & Stein.  MIT Press.  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 
The GNU C Reference Manual
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