CS102 Summer 2018-Class of 2022

Update: Larry Wall's patch

http://lent.cooper.edu/cs102/cache/Python-3.5.0.tgz Cached copy of Python-3.5.0 source code from python.org

Project A "Name to be supplied :-)" data

  • Analyze
  • "Shutdown Tricks"
  • "Reverse Tricks"

Project B "Coding on Tracks" data

Google Search about unpacking gzip'd tar archives https://www.google.com/search?q=tar+expand+gzip


Update: 07/16/2018

  • Tuesday, July 17, 2018 is PICTURE DAY.
    Look your best for PICTURE DAY :-)
    We will be taking your Identification Photos for your Cooper Union student id card during the first days of class.
    Please come in with your best look as this "headshot" will be yours for four years.
  • Changing who you are :-) College offers a new beginning and a chance to leave behind things about yourself that have grown tiresome. Sometime it is as simply as deciding, instead of Sue, I want to be called Susan from now on. Consider this carefully, as such chances are few in life.


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 CS-102, known by the short names: Dawson, K&R, and Pilgrim.
You will be asked to bring some of these books to class on certain days.

  1. A silenced cellular phone. If a phone rings during class, Prof. Lent will answer it.

  2. Paper notebook(s) of your choice. Prof. Lent will not permit the use of electronic devices such as laptops, tablets, keypunches or audio recorders for notetaking during class.

  3. 3x5 or larger index cards

  4. Python Programming for the Absolute Beginner, 3rd Edition
    Michael Dawson,
    Third Edition.
    Publication Date: January 1, 2010
    ISBN-10: 1435455002
    ISBN-13: 978-1435455009
  5. The C Programming Language,
    Brian W. Kernighan, Dennis M. Ritchie, (Prentice Hall, 2nd edition)
    ISBN-10: 0131103628

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

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.


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

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