UMBC CMSC 201, Spring 2005 UMBC CS 201,Spring 05
UMBC CMSC 201 Spring '05 CSEE | 201 | 201 S'05 | lectures | news | resources |discussion| help



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

Prof. Tim Finin
Office: ITE  329
Office Hours: M/W 4:00 - 5:00 PM or by appointment
Telephone: 410-455-3522

Lecture Times and Places

Sects 0101 - 0106: Tues & Thurs 2:30 p.m. - 3:45 p.m., L. H. 5 Evans Sects 0201 - 0206: Tues & Thurs 5:30 p.m. - 6:45 p.m., L. H. 5 Evans Sects 0301 - 0306: Mon & Wed 2:00 p.m. - 3:15 p.m., L. H. 5 Finin


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.


The objectives of this course are:
  • To develop problem-solving skills, especially in the use of computers to solve real-world problems.
  • To learn basic programming skills, especially software development using the C language.
  • To learn how to use UMBC's UNIX system to create, test and execute C programs.
  • To prepare for further study in Computer Science.


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.


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 and will not be accepted late. 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.


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.

CSEE | 201 | 201 S'05 | lectures | news | resources | help |

Sunday, 30-Jan-2005 23:11:36 EST