Required Reading
You must read the Required Reading every week.Textbook
None of these are required, but you may find them helpful.
- Pragmatic Version Constrol: Using CVS David Thomas and Andrew Hunt, The Pragmatic Programmers, LLC., 2003
This book is a hands-on introduction to version control and CVS, which we will be using in the course. The first 6 chapters are essential reading. We only talk about CVS and version control for a couple of lectures, but you will be using it for working on and submitting all your assignments.
Python resources
Midway through the course you will start learning Python, an object-oriented scripting language. There is a lot of material for Python online, so you may not need a book, but here are two we can recommend:
- Mark Lutz and David Ascher: Learning Python. O'Reilly, 1999, 1565924649.
- Chris Fehily: Python: Visual QuickStart Guide. Peachpit Press, 2001, 0201748843.
Dive into Python is an online book that you might find useful.
Unix resources
You will need to use Unix in this course. All your programs must run on the CDF or UTSC Linux machines. You will be using Unix or Linux for the rest of your time as undergrads, so it is a good idea to become familiar with it now. If you like learning this kind of thing from a book, this is a great reference.
- Deborah S. Ray and Eric J. Ray: Unix: Visual Quickstart Guide (2nd ed). Peachpit Press, 2003, 0321170105.
General
A couple of books speak in more general ways to what this course is really about, and are books we used to help us in designing and implementing the course.