Introduction to Computer Programming - Charms*
Spring 2017

Any sufficiently advanced technology is indistinguishable from magic - Arthur C. Clarke

I hear and I forget, I see and I remember, I do and I understand

Ancient Chinese Proverb

* Charms are a type of magic spell concerned with enchanting an object to behave in a way that isn't normal for that object. 
  For example, the Summoning Charm brings an object to the caster. Charms is also something of a catch-all for spells that aren't Transfiguration
 (spells that change the inherent nature of an object). In some sense, if a spell isn't Transfiguration, it's probably a Charm.

Final exam: Thu., May, 11, 2017 4:00PM - 5:50PM, Room CIWW 317

Lecture: Jerry Waxman

email: j {my last name in lower case} at {cs} {dot} {nyu} {dot} {edu}
Office hours: Thursday, after class, or Tuesday after class by appointment

TA: Yuqian Zhang

TA email: {intropython.spring2017} at {gmail} {dot} {com}

Course Overview, Requirements, and Syllabus

Common Course Syllabus

eLearning resources



Class notes

Texts for this class

1. Required Text

Starting Out With Python 3rd Edition- Tony Gaddis

Available at the bookstore ... or here

2. The following text is free - we will be referring to it at times

How to Think Like a Computer Scientist

Here is the on-line version
Here is a local PDF to download

.. and here is an interactive version

3. The following text is free on-line - and quite useful

Here is the on-line version

4. The following online Python book is excellent - and free

Automate the Boring Stuff - Python

5. The next one is available from Safari Online at the Bobst Library

Python in a Nutshell, 2nd Edition
By: Alex Martelli
Publisher: O'Reilly Media, Inc.

6. The official python site - downloads, documentation etc.

Click here for the official python site - downloads, documentation etc.

7. Python Emulator - watch your program run!

Click here for the Python emulator that we are using in class

8. On-line Python courses and learning aids.

Practice Python here