CS 161 Course Syllabus

Summer 1997

Tentative Outline for Summer 1997

Course Title CS 161 Computer Science I
Prerequisites Math 111, Placement in WR121, and CS140U or equivalent
Section 30436
Credit hours 4
Time Tuesday and Thursday 6:00 PM - 8:20 PM
Place PCC-Sylvania, Room SS 104
Instructor Matthew Mead
E-mail: mmead@pacifier.com
Home/office: (360) 892-5174
Office hours Tuesday and Thursday 5:00 PM - 5:50 PM in the Computer Center Lab and after class.
Textbooks Introduction to Computer Science with C++, by Kenneth A. Lambert, Douglas W. Nance, and Thomas L. Naps. This text comes with a lab manual.
Course description Introduction to fundamental concepts of computer science. Problem solving, algorithm and program design, data types, control structures, and subprograms. C++ will be used to explore these concepts. This course is primarily designed for CS majors.
Goals This course is designed to introduce students to the fundamental concepts of computing. Problem solving, designing algorithms, and translating algorithms into the grammar of a high-level computer language are emphasized. Students are encouraged to develop a consistent programming style and a systematic method of internal program documentation. Students will learn how to create computer programs on both MS-DOS and UNIX computers. This course is not just a programming or C++ class.
Computing Environment Students will complete programming projects using both MS-DOS and UNIX. Borland's Turbo C++ will be used on the DOS platform, and the xlC compiler will be used under AIX at PCC. It is important that students have a working knowledge of the UNIX operating system. This is what you should have learned in CS140U, which is a prerequisite for this class. Students who are not comfortable with UNIX are strongly encouraged to take CS140U before taking this class. As it turns out, CS140U is being taught at the same time as this class (next door in room SS 103), so if you haven't had CS140U yet, you should think about enrolling in that class instead.
Attendance Attendance is not mandatory, but it is strongly suggested as you will be responsible for all material covered in class, whether or not it is in the textbook.
Homework Homework is due at the beginning of class. The paper copy is due in class and any e-mailed portion is due before the time class begins. Late assignments will not be accepted. It is better to hand in an incomplete assignment than none, since partial credit will be liberally given. If either the hard copy or email copy is not turned in, the assignment is considered late. Repeat: No late assignments will be accepted. 25% percent of the grade on a homework assignment is based on programming style, comments, clarity, and documentation. This means that even if you turn in a program that runs perfectly, you can expect a grade no higher than a C if you fail to adhere to good programming standards. Remember, partial credit will be awarded for incomplete assignments.
Exams There will two exams during the term. If you are unable to attend the exam on the date and time given in the syllabus, you must reschedule the exam (with the instructor's permission) in advance. The exams will be closed-book and closed-notes.
Grading The midterm will account for 20% of your grade, and the final will account for 30%. The homework assignments will account for 50% of your final grade. Letter grades are awarded as follows:

A 90 - 100
B 80 - 89
C 70 - 79
D 60 - 69
F 00 - 59

Students with Disabilities PCC encourages students who have disabilities to contact the Office for Studentswith Disabilities for assistance in requesting classroom accommodations. I encourage studentswho have disabilities to meet with me to arrange for accommodations related to lectures and programming lab assignments.
Got Questions? Email is the best way to get a quick response to a question. I am usually connected to the internet throughout the day, so I receive email constantly. Email works best when you encounter a problem while working on the programming assignments and don't want to wait until office hours. If you send questions or problems via email, be as concrete as possible. Sending me your whole program with a question like "Why doesn't my program work?", will probably get a response like "I give up, why doesn't it work?" If you are getting error messages when compiling or running your programs, you should write down the exact error message that you received. There are many, many possible error messages, and some are only slightly different than others. Also, if you are given the line number of the error, be sure to include the number and the line of code that generated the error. Tell me what you have tried to do to solve the problem on your own before asking for help. Learning how to debug programs is a very important skill that you must acquire if you are to be a successful programmer.