CMPS 101
Algorithms and Abstract Data Types
Summer 2019 (June 24 - August 16)  
 
Final Exam: Friday, August 16, 2:00pm–4:00pm
Please bring your UCSC picture ID to the exam

Syllabus
Canvas  
Piazza  (Signup Link)
Programming Assignments   pa4 extended 2 more days (last)      
                                           
Homework Assignments  hw6 solutions posted                     
             
Handouts  

Examples  
Notes  
Webcasts

Midterm 1 Review Problems    Solutions to Selected Problems  
Midterm 1 Solutions  

Midterm 2 Review Problems   Solutions to Selected Problems
Midterm 2 Solutions  

Final Exam Review Problems
  Solutions to Selected Problems   (Additional RBT problems and solutions added)


Time and Place:  MWF 2:00pm-3:35pm   JBE 152  
Class Webpage:  https://classes.soe.ucsc.edu/cmps101/Summer19/

Instructor:    Patrick Tantalo (http://www.soe.ucsc.edu/~ptantalo/) 
Office:
   E2  239A
Office Hours:
   MW 4:30-7:00pm, F 4:30-5:30pm, or by appointment  
Email:   ptantalo@soe.ucsc.edu 

Teaching Assistants:
Saeed Kargar (skargar@ucsc.edu)
Hou-I Lin (hlin64@ucsc.edu)
Shresta B. Seetharam (shbellar@ucsc.edu)

TA Office Hours:  
Shresta B. Seetharam: Tuesday 10:00am-11:00am in E2 483

Lab Schedule: 
Monday         4:30pm- 6:30pm       SocSci 1 PC       Saeed, Shresta  
Tuesday       11:30am- 1:30pm       SocSci 1 PC       Hou-I, Shresta
Thursday       9:00am-11:00am       SocSci 1 PC       Hou-I, Saeed



LSS Small Group Tutor:
   
Gigi Bachtel (gbachtel@ucsc.edu)
SGT Signup Instructions:  
https://lss.ucsc.edu/programs/small-group-tutoring/index.html


Required Text:
[CLRS] Introduction to Algorithms, by Cormen, Leiserson, Rivest, & Stein.  MIT Press.  (Second or Third Edition.) 

Supplementary Texts:
 

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 C 
C in a Nutshell  
Practical C Programming  
Pointers in C
C Programming by Steve Summit 
Notes on Programming in C by Rob Pike 

C Language References  
C Reference
IBM: C Library Functios by Name
Gnu: C Reference Manual  
TutorialsPoint: C Library Reference
GeeksForGeeks: C Programming Language
  

Unix
The Unix Operating System (O'Reilly text)  
TutorialsPoint Unix Tutorial  
More Unix Tutorials     

Unix Editors 
vi:  TutorialsPoint vi Tutorial, The vi Text Editor, Basic vi Commands, A Short vi Reference Manual 
emacs:  A Guided Tour of emacs, Beginners Guide to emacs, Basic emacs Commands  
nano (or pico):  Introduction to nano, How to Use nano
 

Makefiles 
Simple Makefile Tutorial 
GNU make

Campus Resources
Information Technology Services
Computer Labs



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