UMBC CMSC 201, Fall 2006

Syllabus

Lecturers

Dr. Marie desJardins
Office: ITE  337
Office Hours: Mon 2:30 - 3:30 PM and Wed 11:00 AM - 12:00 noon or by appointment
Telephone: 410-455-3967
E-mail: mariedj@cs.umbc.edu

Sue Evans
Office: ITE  207
Office Hours: Tu/Th 1:00 - 2:00 PM and Tu/Th 4:00 - 5:00 PM or by appointment
Telephone: 410-455-3964
E-mail: bogar@cs.umbc.edu

Lecture Times and Places

Sects 0101 - 0106: Mon & Wed 1:00 p.m. - 2:15 p.m., L. H. 7 desJardins Sects 0201 - 0206: Tues & Thur 5:30 p.m. - 6:45 p.m., L. H. 7 Evans 201H Sect 0101: Tues & Thur 5:30 p.m. - 6:45 p.m., L. H. 7 Evans

Textbook

Problem Solving, An Introduction to Programming
Custom Edition for UMBC, Pearson Custom Publishing

Course Description

An introduction to computer science through problem solving and computer programming. Programming techniques covered by this course include modularity, abstraction, top-down design, specifications, documentation, debugging, and testing. Selected topics in computer science are introduced through programming projects in the C language running under a UNIX operating system. The core material for this course includes functions, arrays, strings, pointers, structures, and files. Students are assumed to already know the basics of a modern high-level language such as C or Pascal (expressions, basic data types, arrays, and control structures). Students with no prior programming experience should take CMSC 104. This is the first course for students interested in pursuing further study in computer science. Note: credit will not be given for both CMSC 106 and CMSC 201 Prerequisite: MATH 150 and previous programming experience.

Objectives

The objectives of this course are:

Grading

There will be five projects each worth 8% of the final grade, for a total of 40%; 10 lab assignments each worth 1% of the final grade, for a total of 10%; a midterm and a final exam worth 25% each. Make-ups for exams are given under only the most dire circumstances (almost never). Your final letter grade may be curved above the standard formula: 0 <= F < 60 60 <= D < 70 70 <= C < 80 80 <= B < 90 90 <= A <= 100 Under no circumstances will the grades be curved downward. Your grade is based on timely work accomplished during the semester; incomplete grades will only be given for medical illness or other such dire circumstances.

Projects

The critical programming skills cannot be learned simply by attending the lectures. You should budget enough time to work on the projects as well. Projects are due by midnight of the due date. Projects will be graded according to four parts: correctness, design, style, and documentation.

For details and an Important Warning concerning Academic Integrity, see Project Submission and Grading Policy.

Lectures and Readings

You are expected to attend all lectures and your weekly discussion session. The lab assignments are to be done during your weekly discussion session, so attendance is mandatory. You are responsible for all material covered in the lecture, even if they are not in the textbook. You are responsible for the material in the readings, even if they are not covered during lecture.

Exams

In general, the exams will be closed-book and closed-notes. The final exam will be comprehensive and cover the material from the entire course.