SUNY Geneseo Department of Computer Science


CSci 141Introduction to Computer Science

Spring 2005

Last updated January 18, 2005

Time and Place: Lectures: MWF 9:30 - 10:20, Welles 121
Lab: T 9:30 - 11:20, South 345
Lab: T 2:00 - 3:50, South 345

Final Exam: Monday, May 9, 8:00 AM

Instructor: Doug Baldwin
Office: South 320
Phone: 245-5322
E-Mail: baldwin@geneseo.edu
Office Hours: M 2:00 - 3:30, Th 9:00 - 10:30, or By Appointment

WWW Pages:
Syllabus: http://cs.geneseo.edu/~baldwin/csci141/Spring2005/syllabus.html
Lecture Notes: http://cs.geneseo.edu/~baldwin/csci141/Spring2005/lectures.html
Exercises: http://cs.geneseo.edu/~baldwin/csci141/Spring2005/exercises.html
Mailing List: csci14101-spr05-l@geneseo.edu

"Computer science" is one of those phrases that should be instantly suspect: a "computer" is a machine made by humans; "science" generally denotes the study of some natural, or at least not-human-made, phenomenon. How, then, can there be a science in computers? In fact, the phrase "computer science" is a misnomer. It should really be "computing science", because there is a great deal in the abstract notion of computing that is not made by humans: Algorithms that can be applied in any form (software, hardware, etc.), limits to how efficiently things can be computed and even to what can be computed, etc. These things are the heart of computer science.

Computer scientists study these things in three characteristic ways: by designing algorithms and their concrete realizations, by deducing properties of algorithms through mathematical theory, and by conducting experiments to verify the physical reality of theoretical predictions. This course is an introduction to all three of these "methods of inquiry", and to the ways in which they help one understand computing.

Prerequisite. CSci 119

Learning Outcomes

Upon completing this course, students who meet my expectations will be able to...

Books and Other Resources

Text

The required text for this course is

D. Baldwin & G. Scragg, Algorithms and Data Structures: The Science of Computing

It is available from Sundance Books and other sources.

Software

The main programming language for this course will be Java, which is available through the CodeWarrior programming environment in the Computer Science Department labs. You can purchase your own copy of CodeWarrior, for Macintosh or Windows computers, if you wish. See the Manufacturer's Web Page for details.

On-Line

Materials from Last Time I Taught this Course are available at http://cs.geneseo.edu/~baldwin/csci141/fall2004/

A Companion Web Site for the text is at http://www.charlesriver.com/algorithms/

Documentation for the standard Java Class Library is available at http://java.sun.com/j2se/1.4.2/docs/api/

Course Schedule

The following dates are best estimates. They may well change as students' actual needs become apparent. Refer to the Web version of this syllabus for the most current information, I will keep it as up-to-date as possible:

First 2 Weeks Overview
February Recursion
Mar. 4 Hour Exam 1
March Lists and Related Structures
Apr. 1 Hour Exam 2
Early April Trees
Late April Limits of Computing
May 9 Final

Grades and Such

Your grade for this course will be calculated from your grades on exercises, exams, etc. as follows:

Homework (2 - 4) 10%
Labs (Weekly) 15%
Hour Exams 20% each
Final 30%
Mini-Assignments, Readings, etc. 5%

Late Policy

I will accept work that is turned in late, but with a 10% per day compound late penalty. For example, homework turned in 1 day late gets 10% taken off its grade; homework turned in 2 days late gets 10% taken off for the first day, then 10% of what's left gets taken off for the second day. Similarly for 3 days, 4 days, and so forth. I round grades to the nearest whole number, so it is possible for something to be so late that its grade rounds to 0.

Computer Science Writing Requirement

Every Geneseo student has to satisfy a writing requirement in their major in order to graduate. The official Computer Science writing requirement is printed in the Geneseo College Bulletin. To summarize the requirement's main points, every Computer Science major must maintain an acceptable quality of writing throughout their computer science coursework. Any student whose writing is deemed unacceptable on three or more occasions during their first 28 credit hours of Computer Science coursework towards the major is required to take an additional writing course, typically in the English Department.

Written work you do for this course (lab reports, project reports, etc.) will be evaluated for acceptability under this requirement.

Policy on Collaboration

My policy on group work for this course, which is on-line at http://cs.geneseo.edu/~baldwin/collab-intro.html is an important part of this syllabus. A printed copy accompanies the printed copy of this syllabus.

Accommodations

SUNY Geneseo will make reasonable accommodations for persons with documented physical, emotional or learning disabilities. Students should consult with the Director in the Office of Disability Services (Tabitha Buggie-Hunt, 105D Erwin, 245-5112) and their individual faculty regarding any needed accommodations as early as possible in the semester.