UMBC CMSC 201, Fall 2000 
Syllabus
Lecturers
Lecturer:     Ms. Sue Bogar
Office:        ECS 225 D
Office Hours:  TuTh 11:30 AM-12:30 PM and TuTh 4:00-5:00 PM or by
appointment
Telephone:     410-455-3964 
E-mail:         bogar@cs.umbc.edu
Lecturer:     Mr. Dennis Frey
Office:        ECS 222
Office Hours:  TuTh 10:00 AM - 12:00 noon
or by appointment
Telephone:     410-455-3540 
E-mail:         frey@cs.umbc.edu
Lecture Times and Places
Honors Section   : Tues & Thurs  10:00 a.m. - 11:15 a.m., L. H. 5  Bogar  
Sects 0101 - 0104: Tues & Thurs  10:00 a.m. - 11:15 a.m., L. H. 5  Bogar
Sects 0201 - 0204: Tues & Thurs  5:30 p.m. -  6:45 p.m.,  L. H. 2  Bogar
Sects 0301 - 0304: Mon  & Wed    2:00 p.m. -  3:15 p.m.,  L. H. 5  Frey
Textbook
 
C How to Program  by H.M. Deitel/P.J. Deitel
Prentice Hall
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, 
recursion, arrays, strings, pointers, records, 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:
   -  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.
 
Grading
There will be five projects each worth 10% of the final grade, for a total of 
50%; 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.  If you fail
to turn in a project on time, a late penalty will be assessed (even if
it's only a few seconds late -- no excuses, no exceptions).
Projects will be graded according to four equal parts:
correctness, design, style, and documentation.
For details and an Important Warning
, see  Project Submission and Grading Policy.
Lectures and Readings
You are expected to attend all lectures and your weekly discussion session.  
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.  There will be some number of 
unannounced quizzes which may be given in either the lecture or the discussion,
so you should keep up with the assigned readings during the semester.  
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.