The Practice of Computing Using Python

Course Syllabus

CS 1510

Introduction to Computing
Section 3

Fall Semester 2014

[ Basics | Goals | Requirements | Evaluation | Policies | Computing | Tentative Schedule ]


Instructor: Eugene Wallingford


Course Goals

This course serves as the first course for Computer Science majors. It is also appropriate for non-majors. We do not assume that students have any experience with computer science or computer programming.

This course has two primary goals. First, as its title indicates, the course introduces you to the study of computer science. We hope that you will leave this course with a sense of computer science is and what computer scientists do. We also hope that you leave with a sense of just how exciting and intellectually powerful the discipline is.

Second, the course aims to teach a bit about how to write computer programs. Programming is the way that computer scientists express their ideas and implement solutions to problems. Even if you never "program for a living", as a CS grad you will need to know how to program in order to appreciate the ideas you learn and to work in the industry. We hope that you leave this course with a sense of what programs can do and of how you can use programs to express ideas.

Our primary theme for reaching these goals this semester is data manipulation. We will look at the sort of problems people encounter in their personal and professional lives and consider how we can use computing to solve those problems. These problems will bring us into contact with many of the fundamental ideas of computer science: representing and transforming data; design, analysis, and experimentation; and the thrill of solving problems in any domain of human thought.

By the end of the term, you should feel comfortable:

Course Requirements

Course Evaluation

You will earn your grade based on your performance on programming assignments, lab exercises, exams, and the final examination. I assign final grades using the following distribution:

Item Number Weight
Lab exercises 15 15%
Programs ~ 12 35%
Midterm exams 2 30%
Final exam 1 20%

Grades will be assigned using an absolute scale:

This means that there is no curve.

Course Policies

Computing Environment

We will use computing resources in this course for two purposes: to communicate with one another and to implement programs, in particular your compiler.

Most course materials will be made available on the course web page during the semester. I also frequently send e-mail to the course mailing list, to inform you of breaking news and to answer common questions. Be sure to check your e-mail and the web page often!

Our laboratory sessions will be held in 112 Wright, which contains 28 or so computers that boot to Linux and Windows. We will be using Windows 7 as our primary operating system this semester.

You may work in 112 Wright outside of lab sessions as well. However, other courses are scheduled there occasionally throughout the week, in particular on Tuesday and Thursday mornings. You may also in 339 Wright, a CS lab that is open for use during the day, and 335 ITTC, a lounge available to all CS students.

You will do your lab exercises and programming assignments in the Python programming language, using standard tools that are distributed with the language.

You may choose to do programming assignments on any platform you like, including Windows, Mac, and Linux. The Python compiler and tools are also available for free on all of these platforms. (My platforms for the course are Mac OS X 10.9 and the CHAS Linux system for students.)

You will submit programming assignments using a simple web-based system developed by Prof. Schafer. We will give you more details as you need them.

Tentative Schedule

The following schedule gives a rough sketch of the topics we will cover and the distinguished dates this semester. The exam dates are tentative. If I decide to re-schedule a exam, I will notify you at least one week prior to the scheduled date.

Week Dates Topics Special Events
1 08/25-08/29 Introduction to course .
2 09/01-09/05 Expressions and programs Labor Day
3 09/08-09/12 Flow of control .
4 09/15-09/19 Flow of control .
5 09/22-09/26 Growing programs .
6 09/29-10/03 String processing .
7 10/06-10/10 TBA Exam 1 (Tue)
8 10/13-10/17 TBA .
9 10/20-10/24 TBA .
10 10/27-10/31 TBA .
11 11/03-11/07 TBA .
12 11/10-11/14 TBA .
13 11/17-11/21 TBA Exam 2 (Thu)
. 11/24-11/28 . Thanksgiving
14 12/01-12/05 TBA .
15 12/08-12/12 TBA; course wrap-up .

The FINAL EXAM is Thursday, December 18, from 3:00 PM - 4:50 PM.

Eugene Wallingford .... .... September 28, 2014