COMP 150 – Computer Programming I

Course Syllabus

 

Instructor Information

Textbook Information

Class Information

Grade Information

Daily Course Outline

Instructor: Nancy Saks

Office: 329R Kuss Science Center (x-7861)

Home Phone: 324-3601

Email:  nsaks@wittenberg.edu

Office Hours: Whenever you can find me or by appointment. I’ll announce hours each week.

This week’s hours are:

 

8:30 – 9:00 MTWF

 

10:15 – 12:30 MWF

 

1:45 – 2:45 MW

 

1:00 – 1:30 Th

 

Textbook:

Python Programming:  An Introduction to Computer Science, John Zelle

 

Class Schedule:

12:40 – 1:40 MWF, 12:30 – 2:40 Th

 

Course Description:

This course is primarily intended for students majoring in computer science, math, or other science fields.  It covers computer programming in an object-oriented language, and is the first course in the computer science major sequence.

 

Course Objectives:

Upon completing this course, the student should

  1. understand how to develop algorithms and use mathematical modeling to solve problems
  2. become proficient in Python as a procedural language
  3. understand the concepts of object-oriented programming
  4. be familiar with several topics covered in more detail in later computer science courses

This is the first course in the computer science major sequence.

 

Evaluation:

  1. 3 tests, 90 points each (open-book, open-note, given during lab period)
  2. 11 projects, 30 points each
  3. Lab exercises, 40 - 50 points

 

Grading Scale:

Total possible points = approximately 650
It’s hard to predict the exact scale, but you can be assured that 90% will always be an A, 80% a B, etc.


 

Additional Information:

  1. This is a difficult class and requires a lot of outside work. If you’re stuck after making an honest effort, come see me and do it soon - don’t spin your wheels for 18 hours.
  2. This class is meant to encourage cooperative learning; professional programmers rarely work alone. Lab sessions will be informal, and you should feel free to confer with your colleagues. You should be sure, however, that you understand the concepts being discussed, and that you’re not just putting a statement in your program because someone else told you to do so. Moreover, wholesale copying of programs is absolutely forbidden and will be handled through the University’s academic dishonesty policy.
  3. Late projects are subject to a 10% per day penalty and cannot be submitted after I have already returned that project to other students.

 


Any student with a documented disability who needs to arrange reasonable accommodations must contact each professor at the beginning of the semester.  Early notification is highly preferable.  Contact may be made by private consultation during my office hour or by contacting me by email or phone.  Please contact Lisa Rhine, Assistant Provost for Academic Services at 937-327-7924 in room 208 Recitation Hall to coordinate accommodations and receive self-identification letters for each professor.

 

Date

Topic

Reading Assignment Due on this Date

Other Assignments Due

1/8

Course Introduction
Hardware vs. Software
Programming Languages

Language Translators

Using the Python Environment

 

If you haven’t logged on to the network this year, try doing so to make sure you can. Call the Solution Center at 525-3801 if you have problems.

 

 

 

 

1/9

Lab 1 - Computing Components
Memory Organization
Experiments with Windows XP, Python

 Algorithm Handout

Lab Exercise

 

 

 

 

1/10

Python Comments, Variables, and Loops

Introduction to Algorithms

Chapter 1

 

 

 

 

 

1/12

More on Developing Python Programs

How Python's Memory Use is Different

Chapter 2

 

 

 

 

 

1/15

No class – attend other Martin Luther King Day events

 

 

 

 

 

 

1/16

Numeric Data Types in Python

Lab 2 – Experiments with I/O, Mixed-Mode Arithmetic, Errors; First Python Assignment

Chapter 3

Lab Exercise

 

 

 

 

1/17

More on Python Data Types

Representation of Integers

 

 

 

 

 

 

1/19

Counting Loops and Running Totals
Simple strings in Python

4.1 – 4.2

 

 

 

 

 

1/22

Strings vs. Lists

String Encoding

4.3 – 4.4

 

 

 

 

 

1/23

Lab 3 - Strings

 

Lab Exercise

 

 

 

 

1/24

String Manipulation and Formatting

4.5

Lab 2 Due

 

 

 

 

1/26

File Processing in Python

4.6 – 4.7

 

 

 

 

 

1/29

Python Decision Structures

Finding the Smallest Value in a List

7.1 – 7.3

 

 

 

 

 

1/30

Lab 4 - Files

 

Lab Exercise

 

 

 

 

1/31

Introduction to Python Objects and Graphics

5.1 – 5.6

Lab 3 Due

 

 

 

 

2/2

Interactive Graphics

Read 5.7 and 5.9

Browse 5.8

 

 

 

 

 

2/5

Floating-Point Representation

Precision and Accuracy

Floating-point handout

 

 

 

 

 

2/6

Test 1

 

Bring your book, notes, and graded assignments.

 

 

 

 

2/7

Introduction to Functions

6.1 – 6.3

 

 

 

 

 

2/9

More on Functions and Parameters

6.4 – 6.7

 

 

 

 

 

2/12

Practice with Functions

 

 Lab 4 Due

 

 

 

 

2/13

Lab 5 – Graphics and Functions

 

Lab Exercise

 

 

 

 

2/14

Any Final Thoughts on Functions

 

 

 

 

 

 

2/16

Exception Handling

7.4

 

 

 

 

 

2/19

Design using Decisions

7.5 – 7.6

Lab 5 Due

 

 

 

 

2/20

Lab 6 - Decisions

 

Lab Exercise

 

 

 

 

2/21

More on Loops

8.1 – 8.3.1

 

 

 

 

 

2/23

Sentinel, End-of-File Loops

8.3.2 – 8.3.4

 

 

 

 

 

2/26

Booleans

8.4 – 8.6

 

 

 

 

 

2/27

Lab 7 – More on Files

 

Lab Exercise

 

 

 

 

2/28

Catch-Up or Work Day

 

Lab 6 Due

 

 

 

 

3/2

Simulation and Design I

9.1 – 9.2

 

 

 

 

 

3/5 to 3/9

Spring Break – No Class!

 

 

 

 

 

 

3/12

Simulation and Design II

9.3 – 9.6

 

 

 

 

 

3/13

Lab 8 - Simulation