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.