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.
Python: Visual QuickStart Guide
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.
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.