CMPE 177
Applied Graph Theory and Algorithms
Summer 2009      June 22 - August 13


Project source code submission:  Extended to Friday August 14, 10:00 pm 

Syllabus:  pdf, word  

Handouts   Final review problems & solutions posted 

Homework   hw7 solutions  
Lecture Notes   

Time:  MW  5:00 - 7:30 pm (PST)  
Class Webpage: http://www.soe.ucsc.edu/classes/cmpe177/Summer09/
Class Web Forum: http://forums.soe.ucsc.edu/

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

Teaching Assistant: Iryna Gordei <igordei@ucsc.edu>  

Required Texts: 
A first look at Graph Theory by John Clark and Derek Allan Holton.  World Scientific, 1991.
Introduction to Algorithms, second edition, by Cormen, Leiserson, Rivest, & Stein.  McGraw-Hill, 2001.

Supplementary Texts:

Graph Theory: 
Perls in Graph Theory  Nora Hartsfield & Gerhard Ringel, Dover Publishing, 1994.
Modern Graph Theory  Bela Bollobas,  Springer-Verlag, 1998.
Introduction to Graph Theory  Gary Chartrand & Ping Zhang, McGraw-Hill, 2005.
Introduction to Graph Theory (second edition) Douglas B. West, Prentice-Hall, 2001.
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.
Java Programming:
Java by Dissection (second edition) Ira Pohl & 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.

Computer Accounts
It is a requirement of this course that all students have an active UCSC computer account.  If your account is not already activated, go to the UCSC portal:  http://my.ucsc.edu, and log in using the User ID and Password that were sent to you by the Registrar's Office, then click on the link labeled Activate UCSC Account.  Logon to the University's Unix Timeshare host unix.ic.ucsc.edu to access your account.  You may develop your programming projects on any platform you like, but you must port them to the IC-Solaris Unix environment to submit them.  Since your projects will be evaluated on the IC-Solaris platform, it is imperative that you thoroughly test your program in that environment before submission.  The host unix.ic.ucsc.edu is administered by Instructional Computing.  Contact their help desk for assistance with your account.

How to Submit the Programming Project

To submit your project, log on to unix.ic.ucsc.edu.  From within the directory where your program resides, type:

submit  cmpe177-pt.u09  project  file1  file2  . . .
In the above example file1, file2, etc. are the files to be submitted.  Include a README file and a Makefile in your submission.  If you decide that you don't like what you submitted and want to submit a better version of the assignment (before the due date of course), just submit again using the same file name.  The new submission overwrites the old. 


Other Resources:

ITS-IC Resources
Instructional Computing
ITS-Home

Unix

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

Makefiles

Make - a tutorial
GNU make

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

Programming in C
C Programming
Programming in ANSI C
Notes on Programming in C

Programming in Java
Java Documentation
Java Programming Resources


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

webmaster@soe.ucsc.edu

Back to the SOE Class Home Pages
Back to the SOE Home Page