CS 120: Computer Science 1

Section 2, Fall Semester 2008

Instructor: Chris Lüer, PhD
Email:
Phone: 285-8661
Office: RB 442
See instructor's Web site for office hours.

Teaching assistants:
Zili Hu, MS
Adam Kanuchok, BS

Lecture: Mo, We 6:30 pm - 7:45 pm, RB 104
Lab 10: Th 6:30 pm - 7:45 pm, RB 356, Hu
Lab 11: We 8:00 pm - 9:15 pm, RB 356, Hu
Lab 12: Tu 6:30 pm - 7:45 pm, RB 356, Kanuchok

Description - Materials - Policies - Schedule


Description

Catalog description:
Introduction to programming using a high-level language and an established programming paradigm. Emphasis on developing problem-solving skills and programming techniques. Topics include control structures, built-in data structures, simple sorting and searching, procedural abstraction, and paradigm-specific concepts and constructs. Required open-lab and closed-lab assignments bring theory to practice.
Prerequisite: MATHS 112 or equivalent.

Additional description:
The programing language is Java (latest version). Java is a modern, object-oriented language, and skills learned should be easily tranferable to other languages.

Course rationale: The course serves as the first course for computer science majors, and is part of several other majors and minors.


Materials

Required Textbook: Guzdial, Mark; Ericson, Barbara. Introduction to Computing and Programming with Java. Pearson Education 2006. ISBN 0-13-149698-0.

Course Web site: http://www.cs.bsu.edu/homepages/chl/120-08F/

Labs: The computing lab is RB 356. The lab contains about 18 personal computers running Linux. The lab can be used for coursework and extracurricular activities during most hours of the business day. The RB 134 lab contains personal computers running MS Windows. This lab is open 24 hours a day.

Software tools: All software required for this course is freely available for download. Versions are available for Linux, MS Windows, and Mac OS X.

Posting of grades: Grades are posted to Blackboard. However, we do not use Blackboard for grade calculations.

Mailing List: http://www.bsu.edu/archives/cs120-2-l.html


Policies

Cheating. Consequences of cheating in this class: the course grade is lowered, possibly to F. No team work is allowed in this class unless explicitly stated. Material that is copied from books or Web pages needs to be quoted and the source must be given. It is OK to discuss general solution strategies with your classmates, but it is not OK to copy programs, parts of programs, or other written answers. Be aware of the Ball State University Student Academic Ethics Policy. Use the paper shredder in the lab to keep others from copying your printed solutions.

Assignments. Assignments are due at the beginning of lecture on Mondays, usually a week after they have been posted. Late assignments will be subject to a deduction of 20% and are accepted up to the beginning of lecture on the following Monday.

Attendance. There is no grade for attendance; however, there are unannounced quizzes. There is no make-up for missed quizzes.

Email. Emails to the instructor and the TAs must be sent from a BSU account; this is the only way for us to verify your identity. Emails from other accounts may be ignored.

Grading.
Final Exam 30%
Tests 30%
Quizzes 5%
Lab work and homework 35%

If you receive 93.3% of the total course credit, you will get an A. If you receive 90.0%, you will get an A- or better. If you receive 86.7%, you will get a B+ or better, and so on. The grading scale will be shifted so that the median grade is at least a B-.

If you have a question about a particular grade, please discuss it with the TA first. If he can't help you, you are welcome to discuss it with the instructor.

Tests. There will be three non-comprehensive midterm tests plus a comprehensive final exam. Each test will cover both the material presented in class and the related material from the textbook. Missed tests can be made up only for documented medical reasons.

Students with special needs or disabilities. If you need course adaptations or accommodations because of a disability, if you have emergency medical information to share with me, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible.

Extra credit projects.


Schedule

The schedule is subject to change.
Week Topic Readings (chapters in the textbook) Assignments due
1 Introduction    
2 Holiday (Mo); Introduction to Java 1-2 HW 1 (solution)
3 Introduction to Programming 3 HW 2 (solution)
4 Modifying Pictures Using Loops 4 HW 3 (solution)
5 Test 1 (Mo 9/22); Modifying Pixels in a Matrix 5 Prepare for Test 1
6 Conditionally Modifying Pixels 6 HW 4 (solution)
7 Drawing 7 HW 5 (solution)
8 Review   HW 6 (solution)
9 Test 2 (Mo 10/20); Modifying All Samples in a Sound 8 Prepare for Test 2
10 Modifying Samples Using Ranges 9 HW 7 (solution)
11 Making Sounds by Combining Pieces 10 HW 8 (solution)
12 Creating Classes 11.1 - 11.5 HW 9 (solution); project proposals
13 Creating Classes 11.6 - 11.10 HW 10 (solution)
14 Test 3 (Mo 11/24); Thanksgiving break (We)   Prepare for Test 3
15 Inheritance and Polymorphism; We: White, CAD; Milford, Game development; Rego, Email; Farnsworth, Scott, Cryptography; Hurst, Computer graphics    
16 Testing and Deployment; Mo: Weed, Project; Borton, Sanders, Project; Avani, Game development; Davis, MP3 and Flac; DePersio, Miller, Computer viruses; We: Liu, Project; Faunce, Project; Borton, Sanders, Project; Farnsworth, Scott, Project   HW 11

Final Exam: Wednesday, 12/17, 7:00 pm - 9:00 pm, RB 104



Chris Lüer. (C) Ball State University 2008.