Instructor: Patrick Tantalo
(http://www.cse.ucsc.edu/~ptantalo/)
Office: E2 257
Office Hours: MW 10:00am - 12:00pm,
1:00pm - 2:00pm, or by appointment
Email: ptantalo@soe.ucsc.edu
Phone: 831-459-3898
Teaching Assistant:
Radhakrishna
Vuppala
<vrk@soe.ucsc.edu>
Lab Sessions:
Monday
4:00
-
6:00
pm
Baskin
Engineering
105
Tuesday 12:00 - 2:00 pm
Kresge 317
Wednesday 5:00 - 7:00
pm Baskin Engineering 105
MSI Tutor: Ryan
Drury <rdrury@ucsc.edu>
MSI Sessions:
Monday
2:00 - 3:10 pm Crown 104
Tuesday 4:00 - 5:45
pm Baskin
Engineering
169
Friday 12:30 -
1:40 pm Baskin Engineering 169
Required
Text: Introduction
to Algorithms, by Cormen,
Leiserson, Rivest, & Stein. MIT Press. (Second or Third
Edition.)
Supplementary Texts:
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.
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:
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
ITS Resources
ITS-Home
Learning Technologies