The Practice of Computing Using Python

Course Syllabus


CS 1510

Introduction to Computing
Sections 3 and 4

Fall Semester 2015



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

Basics

Instructor: Mark Jacobson

Resources:



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 14 15%
Programs ~ 12 35%
Midterm exams 2 30%
Final exam 1 20%


Grades will be assigned using the following scale:



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 entire class to inform you of breaking news and to answer common questions or to extend the due date or give hints/suggestions for an assignment that turned out to have some unforseen challenges. Be sure to check your e-mail and the web page often!

Our laboratory sessions will be held in 112 Wright for section 03 and in 339 Wright for section 04. 110 WRT contains 28 or so computers that boot to Linux and Windows. We will be using Windows 7 as our primary operating system this semester. 339 WRT has the same setup on about 16 to 18 computers.

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/24-08/28 Introduction to course .
2 08/31-09/04 Expressions and programs .
3 09/07-09/11 Flow of control Labor Day
4 09/14-09/18 Flow of control .
5 09/21-09/25 Growing programs .
6 09/28-10/02 String processing .
7 10/05-10/09 TBA Exam 1 (Tue)
8 10/12-10/16 TBA .
9 10/19-10/23 TBA .
10 10/26-10/30 TBA .
11 11/02-11/06 TBA .
12 11/09-11/13 TBA .
13 11/16-11/20 TBA Exam 2 (Thu)
. 11/24-11/28 . Thanksgiving
14 11/30-12/04 TBA .
15 12/07-12/11 TBA; course wrap-up .


The FINAL EXAM is Wednesday, December 16, from 8:00- 9:50 a.m.



Mark Jacobson .... jacobson@cs.uni.edu .... August 24, 2015