Textbooks, Fall 2017

Unfortunately, the College bookstore does not currently permit us to include notes about textbooks in their postings. For example, we have no way to indicate that an earlier edition is permissible, or that a free legal version is available online. This page serves as a temporary alternative.

CSC 151 (all sections)

There is no required textbook. All materials are available for free online.

CSC 161 (all sections)

King, C. N. C Programming, A Modern Approach (2nd Edition). W. W. Norton and Company. ISBN 978-0393979503.

It appears that Amazon currently has new copies for under $100 and used copies for about $60.

CSC 207 (all sections)

There are no required textbooks for this course. Course readings will be provided through the schedule on the course website. For additional resources on the topics presented in this course, please consult the resource page. If you would like to purchase a textbook reference, here are some recommendations:

CSC 211

Our primary textbook is David A. Patterson and John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, Revised 4th Edition, Elsevier, 2012. ISBN 978-0-12–374750-1. I will supplement our primary textbook with eReserves and handouts from other textbooks, videos, and the occasional lecture.

Our textbook is fondly known as “Patterson & Hennessy” (not to be confused with “Hennessy and Patterson”, which is a more advanced textbook). Please acquire the revised printing (with a dull green cover), not the original printing (with a blue cover). Do not buy other editions as they are quite different, including the newer 5th edition. I do not recommend the Kindle edition as it has received rather poor reviews. Some supplemental materials are included with the book on a CD. We will be reading from these materials early in the course. If the version of the book you have purchased does not include the CD, you can download all supplemental materials from the publisher. Finally, watch out for international editions that use ARM rather than MIPS as the primary example architecture.

CSC 301 (both sections)

We will use two main textbooks in this course.

The second edition of The Algorithm Design Manual by Steven Skiena.. Skiena does an excellent job of presenting the intuition behind many core algorithms and helps you build the skills to design your own.

The third edition of Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein (aka CLRS) provides a more precise and more complete coverage of algorithms, including most of what we think of as the core "literature" of algorithms. We will use this text as we think about more formal aspects of algorithm design and analysis, as well as in covering some algorithms and data structures not covered in Skienna.

Note that the second edition of CLRS is also perfectly acceptable. Coverage of some topics is slightly different, but not enough so to make a difference in most cases. However, if you can get the third edition for a reasonable price, you should select that edition. You will appreciate having it on your bookshelf.

CSC 321

Fox, Armando and Patterson, David (2016). Engineering Software as a Service: An Agile Approach Using Cloud Computing, latest edition.

Our core textbook. Fox and Patterson synthesized a lot of ideas to produce a textbook that grounds software engineering principles in a new model of computing. This textbook is rapidly evolving. I would recommend that you purchase the Kindle edition through Amazon, which has free updates available. (With the Kindle Cloud Reader, available at https://read.amazon.com/ or an appropriate app, you should be able to read the book on almost any electronic device.)

Metz, Sandi (2013). Practical Object-Oriented Design in Ruby: An Agile Primer.

This text will help you get more deeply involved in programming in Ruby and thinking like object-oriented programmers.

CSC 322

There are no additional texts for CSC 322. You should, however, have copies of the CSC 321 texts.

CSC 341

The required textbook we are using is Introduction to the Theory of Computation, by Michael Sipser. We will be referring to this book regularly, so it is important that every student has access to a copy.

Edition: Both the 2nd and 3rd editions acceptable. The new chapters included in the 3rd edition will only be mentioned in passing, and you will not be tested over it. Some errors were corrected in the 3rd edition, but Sipser maintains a helpful list of errata.

Electronic copy: You can rent an electronic copy of the 3rd edition for under $50 from Cengage.

Reserve Copy: A physical copy of the 3rd edition has been put on reserve and is accessible from the Kistle Library.

CSC 395

(Information forthcoming.)