Introduction to Computer Programming - Charms*
Spring 2018

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.

Midterm 2 exam: Thursday April 19, 2018 3:30 PM

Final exam: Thu., May, 10, 2018 4:00pm-5:50pm CIWW 201

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

Grader: Yuqian Zhang

Grader email: {intropython.spring2018} at {gmail} {dot} {com}
Use the following format in the subject line: {exercise number}_{NetId}_{last name_first _name}

Course Overview, Requirements, and Syllabus

Common Course Syllabus

Tutoring is avaialable here!

eLearning resources Flipping out ...

Assignments

Handouts

Class notes

Labs & Practice Problems

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 online Python book is excellent - and free

Automate the Boring Stuff - Python

4. This text is also free on-line - and contains somewhat more advanced material

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

udacity