CS 1160-01 Introduction to Computer Science and Programming Methods
Winter 2005
MWF 12:00--1:10 p.m
Sc S 125
Instructor: William R. Nico
Office: WA 775
Phone: (510)885-3386 (or leave messages at dept. office: (510)885-3414)
E-mail: nico@csuhayward.edu (On the mcs system just ``nico''
will work.)
Web:
www.mcs.csuhayward.edu/~nico
Office hours: M 3:00--4:30 p.m., F 9:30--11:00 a.m., or by appointment.
Text: N. Dale, C. Weems, and M. Headington, Programming and
Problem Solving with C++, Jones and Bartlett, 2002.
The design, analysis, implementation, and manipulation of algorithms are core activities in computer science. An algorithm is described informally as ``a set of instructions to be followed in order to obtain a particular, desired result (usually a solution to a problem).'' In this sense, designing algorithms is really problem solving. The set of instructions is usually presented as a computer program. Effectively expressing a computer program requires the use of a programming language.
The emphasis of this course will be on problem solving and the expression of those solutions using the C++ programming language. The course will assume no previous programming experience. It will attempt to introduce the student to the fundamental concepts of computing in a professional manner, including ethical issues of computer use.
Writing programs is essential for learning the material of this course. There will be many programming assignments which are expected to be implemented by individual students using computers in the Science Computing Lab, a student's own computer, or one of the departmental Unix computers. Details will be given in class.
NOTE: For this reason, regardless of the suggested grading percentages given below, in order to pass this course, a student must demonstrate a substantial attempt to complete all the programming assignments.
Grading: The course grade will be computed roughly as follows. (The dates of the midterms are subject to change. Any changes will be announced in class.)
| Programs | As assigned | 25% |
| Midterm | Monday, January 31 | 20% |
| Midterm | Friday, February 18 | 20% |
| Final exam | Monday, March 14, 12:00--1:50 p.m. | 35% |
Programs: Due dates for programs will be announced when the assignments are made. Programs must be submitted in printed form along with a paper record of the run of the programs on appropriate testing data. (More on this in class.) Students may be required to make on-line, electronic submissions of programs, also; if so, details will be given in class. A program submitted late will be subject to a 10% penalty. Programs will not be accepted more than one class meeting late!
Advice and Consultation: The programming projects are to be individual efforts, not group efforts. This means that there should be no sharing of code; such sharing constitutes academic dishonesty, as described in the CSUH Catalog. ``High level'' discussion of algorithms (such as takes place in class) is acceptable, but detailed discussion is not. Any essential code included from sample programs must be properly acknowledged in comments. Any work not your own, e.g., results obtained from reference sources or from other individuals, should receive appropriate bibliographic citations. Plagiarism will be subject to appropriate penalties, up to and including failure for the course.
Written work: Any handwritten work submitted for the course, including in-class tests, must be done in ink!
Make-up policy: Make-up tests will be considered only in unusual circumstances, and then only if arrangements have been made in advance.