Prof. Fred Annexstein
Mondays and Wednesdays 12:20PM – 1:15PM.
Textbook and Resources
Python Crash Course : A Hands-On, Project-Based Introduction to Programming
by Eric Matthes
Composing Programs: An online introduction to programming
In this course students will learn intermediate programming skills using the python programming language and python-related tools. Topics include use of interpreters, the runtime execution model, python IDEs, standard utility modules, program design using numbers, iterables and functions, event-driven programming, interactive systems programming using a model, a view, and a controller, regular expressions, graphics programming using static and interactive drawing methods, data methods including use of scipy and related modules, which apply probability and distributions, generators and game solvers, and an introduction to networking and concurrent programming.
Installation of Python
Download the latest version of Python 3. This will be the official software platform for the course.
Installation of Text Editor
Geany is a simple text editor that lets you run almost all of your programs directly from the editor. It also displays your output in a terminal window, which helps you get comfortable using terminals. Other text editors are popular, for example try out Sublime text.
Piazza is a platform for Q and A that we will use for this class. Each student should sign up for an account. Instead of email, all
student questions should be directed to Piazza, either publicly (for all students in the class to see), or privately (for only instructors to see.) Students are able and encouraged to help answer the questions of their peers.
Another popular online resource for programming help is
Stack Overflow , which will often appear in the first page of results on Python-related google searches. Members post questions when they’re stuck, and other members try to give helpful responses. Many basic Python questions have very clear answers on Stack Overflow.
(Optional) Version Control
Students are encouraged but not required to run version control. Version control software allows you to take snapshots of a project whenever it’s in a working state. When you make changes to a project—for example, when you implement a new feature—you have the option of reverting back to a previous working state if the project’s current state
isn’t functioning well. Appendix D in the textbook provides a guide to the git version control system.
There will be 2 exams and 4-6 programming projects. Group efforts for projects are encouraged.
Fall 2016 Academic Calendar
Classes begin Monday, August 22
Holiday: Labor Day Monday, September 5
Fall Reading Days
Thursday – Friday, October 13 – 14
Holiday: Veterans Day Friday, November 11
Holiday: Thanksgiving Weekend
Thursday – Sunday, November 24 – November 27
Last Class, November 30
|Introduction||Mon 8/22||Introduction||1.1||Lab 00: Workflow
(due Wed 8/23)
(due Wed 8/23)
|Wed 8/24||Functions||1.3||Discussion 00: Python (Solutions)|
|Mon 8/29||Control||1.5||Lab 01: Python
(due Thu 6/23)
(due Thu 7/1)
|Wed 8/31||Environment Diagrams||Discussion 01: Control, Environments (Solutions)||Homework 01