CS 141 Introduction to Computer Science I
Course Syllabus -- Fall 1998

Instructor: Prof. Lynch (Chris)
Office: Science Center 377
Phone: 268-2384
email: clynch@clarkson.edu

Office hours: MW 10-11 and MWF 2-3

Teaching Assistant Anthony Moores
Office: Science Center 450
Phone: 268-2339
email: mooresaj@clarkson.edu

Tony's Office Hours: ????

Course Objectives:

  1. Students should learn fundamental principles of how to solve problems through computer programming. The programming techniques will include good program design practices and programming style, resulting in programs which are correct, reliable, robust, efficient, and maintainable.
  2. Students should learn basic features of the programming language C++.

Textbook: "Problem Solving with C++: The Object of Programming",
by Walter Savitch, Addison-Wesley, 1999.


1 Introduction
2 Simple Programs
2 If Statements
3 Functions
4 More about functions
7 Loops
9 Arrays
10 Strings
5 Files
6 Classes
8 Abstract Data Types
11 Pointers
14 Linked Lists
12 Linked Lists
12 Recursion


  • Labs 15%
  • Programs 15%
  • Three Exams 45%
  • Final Exam 25%

Exams: Tentative dates for the three exams are: 9/30, 10/28, 12/2. You are responsible for all material in the lecture, as well as any reading assignments where I specify you are responsible. Class participation is encouraged.

Labs: The computer laboratory periods are scheduled on each Mondaay, Wednesday and Thursday in the PC lab on the third floor of the Science Center. These labs are an essential part of the course. It is important to come prepared for each lab, having looked through the assignment and remembering to bring all necessary materials.

Some of the labs are too long to get done during the lab period. Therefore, lab assignments do not need to be turned in until the next lab period, one week later. However, no labs will be accepted after that date. When determining the final grade, the lowest lab grade will be dropped.

In addition to the scheduled labs, the TA will have office hours, where he will help you complete your lab assignments, answer questions about the course, help with homework, and so on. You may come in anytime during the office hours, at your convenience. This gives you the opportunity to finish your lab work under the supervision of the TA.

Programs: In addition to the labs, there will also be additional programs assigned in class. This programs will require more thinking than the labs. You will have two weeks to complete these programs. They will not be accepted late. However, there will be bonus points for getting them in early. The bonus is two points for each class day, up to a week early. For example, a program handed in a week early will receive 10 bonus points.

Late Policy: As mentioned above, nothing will be accepted late. With computers, everything that can go wrong will go wrong at the last minute. Threfore, it is absolutely necessary that you begin your assignments early. My suggestions are as follows: Try to finish the labs on the day of the lab period. Then you will immediately know if there is anything you need to learn to do the lab. You will then have a week to learn whatever is necessary. Also, try to turn in the programs so you get the ten bonus points. If you have problems finishing it on that day, you will have a week to fix those problems. Please follow my suggestions. If you don't, I can guarantee trouble. If you fall behind, it will be difficult to dig yourself out.

Academic integrity: All assignments for this course are expected to be individual efforts. That is, although you may feel free to discuss the assignments and strategies for solving them, you must write up your programs, labs and problem sets on your own. Some well-meaning students, in the process of "helping" a friend, wind up essentially doing the assignment for the friend. Not only is this not allowed, but you are really doing your friend a disservice. Programming is learned by doing it yourself.

You are encouraged to learn from each other and help each other understand Computer Science. Teach each other and exchange ideas, but be ethical -- don't copy or modify a program which isn't yours (or allow another student to write or debug your programs for you). So, if you are having trouble writing a function, don't copy the function from your friend. If you do, that will be considered cheating. In addition, you will not learn it, and will do badly on the tests. Instead, ask your friend (or somebody else) to explain to you what you need to know to write the function. Then write it yourself.

If you find yourself getting behind, please see the course instructor. We can work together to get you back on schedule. Resist the temptation to copy another's work. The penalty for the first offense will be a 0 for the assignment. A second offense will result in an F for the course. Repeated or flagrant cheating, including any cheating on tests, will result in an immediate notification to the academic integrity board.