COMPUTER PROGRAMING FOR ENGINEERS
Update: 09/10/2016
- We will be using 3x5 Index cards today
=============================================================================
Please check back for more information. This can be made easier by signing up to follow my twitter feed, "cooperadvice":
Books and Materials
We will be using three books for Prof. Lent's portion of this section of the course.
You will be asked to bring some of these books to class on certain days.
Prof. Brian Cusack's Materials list will be available here soon.
-
Python Programming for the Absolute Beginner, 3rd Edition
Michael Dawson,
Third Edition.
Publication Date:
January 1, 2010
ISBN-10:
1435455002
ISBN-13: 978-1435455009
Edition:
3rd
-
The C Programming Language,
Brian W. Kernighan, Dennis M. Ritchie, (Prentice Hall, 2nd edition)
ISBN-10: 0131103628
-
Dive Into Python 3
Mark Pilgrim
Publication Date: November 6, 2009
ISBN-13: 978-1430224150
ISBN-10: 1430224150
This book is available free for download.
USB or Flash drives
- Three USB "thumb" drives. At least one of these should be 8GB or larger, and the other two may be smaller if needed.
Commentary on Books
We will be using three books: K&R, Dawson and Pilgrim.
K&R is a classic and surprisingly elderly book:
The C Programming Language, Brian W. Kernighan, Dennis M. Ritchie, (Prentice Hall, 2nd edition) ISBN-10: 0131103628
Please also check out the errata for corrections to the text. The text is available in many libraries and has been well translated into most human languages. Multiple other good sources for learning the C language are out there. An excellent book, with a funny name, is C for Dummies. Other references, including many excellent tutorials and examinations of the problems and samples in K&R, are online. You are encouraged to let me know about which ones do and do not help you.
Avoid like the plague Herbert Schildt's C: The Complete Reference. Why?
...
A good tutorial might present simplifications, but would identify them as such and correct them later, rather than presenting them as the real and whole truth. Furthermore, as revealed in the in-depth look, the book is a very poor tutorial, frequently omitting key points or concepts.
I wish the examples above had been more carefully cherry-picked than they were, but really, the examples here appear to be pretty representative. The "pick a page" section consists of things obtained by flipping the book to a random page. I did, once, flip to a random page and not find any errors. Yes, exactly once. The whole book is like this. The explanatory material is garbage. The explanations of some concepts are exceptionally bad, and it seems very clear that Schildt simply does not understand the material. This isn't just typos; this is genuine failure to understand what's going on.
14 years ago, I wrote this summary:
C: The Complete Reference is a popular programming book, marred only by the fact that it is largely tripe. Herbert Schildt has a knack for clear, readable text, describing a language subtly but quite definitely different from C.
With fourteen years' more experience, including most of a decade of active participation in C standardization, thousands of lines of code written, and a few years of work as a professional writer, I still stand by the evaluation of the book. I do not so much stand by the claim that Schildt's writing is "clear"; readable, yes, clear, not so much. The article itself was not particularly well-written, but the ultimate analysis of Schildt's writing was spot-on. If anything, I know enough more to spot a lot more of the subtle ways in which his sample programs are likely to screw over any poor fool who tries to learn to program from his books.
Dawson is a newer book and a very easy read.
Python Programming for the Absolute Beginner, 3rd Edition
Michael Dawson, Third Edition.
Publication Date: January 1, 2010ISBN-10: 1435455002ISBN-13: 978-1435455009 Edition: 3rd
Think of this as "Fun with Python" :-)
|