CS 141 Introduction to Computer Science I
Course Syllabus -- Spring 1999

Instructor: Dwight Tuinstra
Office: Science Center 391
Phone: 268-6496
E-mail: tuinstra@clarkson.edu or tuinstra@northnet.org

Course Directory: Course Directory on Clarkson Network: to be announced

Text: Savitch, Problem Solving with C++, 2nd ed.

Course Objectives: The primary goal of this course is to introduce you to the C++ programming language, and through it, to algorithmic problem-solving. Along the way, as the primary material permits, we'll talk about some of the major concepts regarding computers and Computer Science.

Calendar: We will try to stick to the calendar below, but it may shift as we move through topics faster or slower than expected.

Week # Week of Chapter/Topic
1 01/18 Chpt 1/Introduction
2 01/25 Chpt 2/C++ Basics
3 02/01 Chpt 3/Functions
4 02/08 Chpt 4/More on Functions; Review & Exam
5 02/15 Chpt 5/ I/O Streams and Files
6 02/22 Chpt 7/More on Flow of Control
7 03/01 Chpt 9/Arrays; Review and Exam
8 03/08 Chpt 10/Strings and Multidimensional Arrays
03/15 Spring Break
9 03/22 Chpt 6/Classes
10 03/29 Chpt 6/Classes; Review and Exam
11 04/05 Chpt 11/Pointers
12 04/12 Chpt 14/Pointers and Linked Lists
13 04/19 Chpt 12/Recursion
14 04/26 "Catch Up" or Special Topics; Review
15 05/03 Finals Week

Attendance: Lecture attendance is required until otherwise announced. Lab attendance is required until otherwise announced.

Working Together: You are allowed to pick one or two partners in the class and do homework together. You may also work alone. Groups are to hand in a single lab or homework, with the names of all contributors; the grade given the work will be the grade recorded for each contributor (however, see the "Academic Integrity" section below). Quizzes and tests are taken individually.

"Notesheets": A "notesheet" is an 8-1/2 by 11 sheet with notes on both sides to help you on quizzes and tests. Notesheet writing/printing can be as small as you like --- but you are not allowed to use magnifying instruments to read them! You can write/copy/buy them from any source you like, but you will probably learn the most by writing them up yourself, individually or as a group effort. You cannot share your notesheet during a quiz or test.

Quizzes: Short (2-4 questions, 5-10 minutes) quiz each Monday, starting with week 2, covering assigned reading. One notesheet is allowed. No makeup quizzes. The two lowest quiz grades will be dropped.

I will attempt to cover topics by answering some or all of the following questions, as they apply to a topic. To do well on quizzes, be able to answer such questions correctly and concisely: quiz questions will be similar, or related, to these questions.

  1. What, in general, is _______________?
  2. Why is/are ________________ important?
  3. a) What are the varieties of ____________? b) What are the pieces and structure (if any) of each variety? c) How is each variety related to, or implemented in, C++?
  4. a) Provide general or conceptual examples of _______________. b) Provide C++ examples of _____________.
  5. What are (some of) the major issues involved with _________________?
Labs and Homework: Homework will be assigned weekly. Labs will be run as a "help room" environment. There will be some discussion/demonstration of programming technique relevant to the homework, and then opportunity to get individual or group help on the homework. Late homework is not accepted -- start early!! The two lowest homework grades will be dropped.

Exams: Three exams and a final. All are cumulative but exams will emphasize recent material. One notesheet allowed into each exam and final.

Grading: The two lowest homework and two lowest quiz grades will be dropped. The remaining scores will make up your grade as follows:

  • Attendance: 5% (during time attendance is required)
  • Quizzes: 15%
  • Homework: 15%
  • Exam 1: 15%
  • Exam 2: 15%
  • Exam 3: 15%
  • Final: 20%
Grades will be given according to:
  • 90-100 = A
  • 80-89 = B
  • 70-79 = C
  • 60-69 = D
  • 0-59 = F
Extra Credit projects or questions may be offered from time to time. Their nature, scoring, and effect on grades is at the instructor's discretion.

Academic Integrity: Groupwork is privilege you are allowed because (a) many people learn better when working as part of a team; and (b) working as a part of a team is an important skill in today's work world.

Attempting to get a good grade in the course by getting others to do your work is an abuse of the privilege. It is also an abuse to put someone's name down as a contributor if their participation was negligible. Abuses may result in the privilege being withdrawn for individuals or groups; repeated or severe cases will merit disciplinary action. On the other hand, if you feel someone in your group is not pulling their weight, or you have any other problem with someone in your group, please see me and we will work something out as fairly and discreetly as possible.

In homework and labs, you are encouraged to use anything presented in class, in lab, or found in the text. If you use ideas or material from other sources, you must document the course (person or place) where the idea or material was found. Presenting someone else's work as yours (or your group's) is plagiarism and can be grounds for academic discipline.