Lecture 1: Meet Python (and us), 3/29/10
(These are still rough, to be cleaned up soon.)
Administrativia (~20 min)
Basics
Make sure to mention:
- name
 - webpage for course
 - office/office hours
 
Give a blurb about each of us. Next, give an idea of just what we're trying to accomplish with the course (basically expound on what's in the syllabus).
Mention that there's probably a big split in the class between programmers and non-programmers. Do a very informal hand-raising survey about previous programming experience.
Talk a little bit about the schedule.
Grades
- Grades will be 50% homework, 50% project.
 - No late homework. Submit by email.
 - Assignment 0 handed out now
 - Five homework assignments
 - oodles of Python code on the web -- don't cheat
 - One project
 
Project
- Details will be forthcoming -- we're still working out all the specifics
 - Basic project statement: "Do something you think is awesome."
 - Groups of up to 4
 - Written and programming components
 - Need to submit a proposal somewhere around week 3
 - Presentations (~5 min) during the last week of class
 
Meet Python (~5 min)
- Python is a full-blown general purpose programming language, with 
- the goals of being powerful, readable, and fun to use.
 
 - Python was created by Guido van Rossum, who's still deeply involved 
- with the project today. He's known as the "BDFL" -- benevolent dictator for life.
 
 - talk about the Zen of Python
 
References for Python (~5 min)
Python in a Nutshell by Alex Martelli
- Python tutorial
 
Lots of distributions (~3 min)
- If you're using Linux or OSX, just type "python" at a terminal.
 Command lines: python & ipython
Sage & the Sage notebook
Sage notebook online: http://sagenb.org/ and http://480.sagenb.org/
Python the calculator (~10 min)
- Awesome Mark Pilgrim quote: "let's just skip all that ..."
 
The Collatz Conjecture (~2 min)
- Explain sequence, conjecture, hand out program, tell them to try it out.