CS102 Fall 2016-Class of 2020

COMPUTER PROGRAMING FOR ENGINEERS

Update: 09/10/2016

  1. 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.

  1. 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
  2. The C Programming Language,
    Brian W. Kernighan, Dennis M. Ritchie, (Prentice Hall, 2nd edition)
    ISBN-10: 0131103628

  3. 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

  1. 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?
from C: The Complete Nonsense:  http://www.seebs.net/c/c_tcn4e.html by Peter Seebach
...

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.

Summary

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.

...More constructive criticism by Peter Seebach (or just google Seebs) ...

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, 2010
ISBN-10: 1435455002
ISBN-13: 978-1435455009
Edition:
3rd


Think of this as "Fun with Python" :-)

Pilgrim is an in-depth look at Python 3's many features

Happy Day! The author, Mark Pilgrim, has revised and updated his text so we using http://diveintopython3.org!
But wait, Mark Pilgrim decided to pull the http://www.diveintopython3.org/ from the Internet!.

Happily, since the book was written with a Creative Commons Attribution Share-Alike license, clones of the website were quickly established like:

as well as the "source code" to the book/website at https://github.com/diveintomark/diveintopython3 .
You could also print out all 495 and the Front Matter and Back Matter and the covers too :-)

There are many ways to get the book. All are available in dead trees, and there are electronic forms of each.
You can also borrow the book , Find it via Google Book Search, or just do a Google Search for it like:


To probe further:

To see C and Python in action, here are two books that students have recently used in projects:
Programming Raspberry Pi Measurement Systems in C eBook: Yury Magda: On Amazon
Raspberry Pi Cookbook for Python Programmers | PACKT Books On Amazon


Getting back to this web page :-)


http://faculty.cooper.edu/lent/cs102_fall2016/cs102-fall-2016-class-of-2020.html