This course will introduce you to the basic concepts and techniques of computer programming. Most class periods will be part lecture and part lab as we explore these ideas and put them into practice. We will be using Python 3 for the duration of the course. It is a general purpose, cross-platform programming language with a clear, readable syntax.


Three years of high school mathematics or equivalent are required. No prior computer programming experience is assumed. Students who have programming experience should consult with the Computer Science Department before registering. Students who have taken or are taking CSCI-UA 101 will not receive credit for this course. Please note that this course is not intended for Computer Science majors. It is, however, a prerequisite for students with no previous programming experience who would like to continue on to CSCI-UA 101.

Required Textbook

Python: Visual QuickStart Guide
Second Edition
Toby Donaldson
ISBN: 978-0-321-58544-8

Optional Textbooks

How to Think Like a Computer Scientist: Learning with Python 3
Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers
*This book is freely available online and can also be downloaded as a PDF.

Learning Python
Fourth Edition
Mark Lutz
ISBN: 978-0-596-15806-4

Lecture Schedule

Topic 1: Introduction and overview

Topic 2: Python and IDLE

Topic 3: Data types and variables

Topic 4: Writing programs in Python

Topic 5: Control structures

Topic 6: Repetition structures

Topic 7: Functions and modules

Topic 8: Text processing

Topic 9: Programming graphics

Topic 10: Lists and dictionaries

Topic 11: Input and output


Your greatest reward is the knowledge and experience that you receive by taking the course. You will also receive a grade. The assignments will count for 25% of the grade; the midterm exams will count for 20% each; and the final exam counts for the remaining 35%. If you plan to continue with higher level computer science courses, you must get a grade of C or better in this course. No exceptions will be made.


In all, there will be nine assignments. The homework assignments are required. Each consists of programming and should be done on a computer. Assignments that you turn in should be your own work. If you wish to work together with one other person on a homework assignment you may do so—as long as you both submit the same file and you both write a comment that you worked together. We will discuss collaborations in class. For reference, here is the Computer Science Department statement on academic integrity.


As class time will consist of both lectures and individual programming, you are welcome—but not required—to bring a computer to each class. The latest version of Python 3 can be downloaded here. There are also multiple computer labs on campus. Information about these is available from ITS.