you're reading...

Syllabus for CS2021 Python Programming Fall 2016



Prof. Fred Annexstein

Email: fred.annexstein@uc.edu


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

Course Goals

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.

Getting Help

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.

Grading Policy

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


Week Date Lecture Reading Handout Homework Project
Introduction Mon 8/22 Introduction 1.1


Lab 00: Workflow
(due Wed 8/23)
Homework 00
(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
(due Sun)




No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: