Syllabus
Instructor
Instructor: Sue Bogar
Office: ECS 225D
Office Hours: TuTh 1:00-2:00 p.m., 4:00-5:00 p.m.,
or by appointment
Telephone: 410-455-3964
E-mail: bogar@cs.umbc.edu
Lecture Time and Place
Tuesday and Thursday 2:30 p.m. - 3:45 p.m., Lecture Hall 4
Tuesday and Thursday 5:30 p.m. - 6:45 p.m., Lecture Hall 1
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 worth 8% of the final grade each, for a total of
40%; some number of quizzes worth a total of 10%; a midterm and a final
exam worth 25% each. There will be no make-ups for missed quizzes.
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.
Project Submission and Grading
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.
Projects will be graded according to five equal parts:
correctness, design, style, documentation and efficiency.
You may turn in incomplete projects for grading. Late penalties apply
as usual. A project that runs incorrectly will receive no more than
75% of the grade. A project that does not compile will receive no
more than 50% of the grade. These guidelines are for incomplete
projects where a good effort was made. Garbage will receive 0%.
You will be turning in your projects electronically. Details will be
announced in class before you need to submit projects.
Project Policy
All projects must be completed by your own individual effort. You
should never have a copy of someone else's project either on paper or
electronically under any circumstance. Also, you should
never give a copy of your project, either on paper or
electronically, to another student. This also means that you cannot
"work" on the project together. Cases of academic dishonesty will be
dealt with severely.
If your project is turned in by someone else, both you and the person
copying your project will receive a 0 for that project. This includes
"substantially similar" projects. Furthermore, all parties concerned
will have their prior projects checked for cheating. So, if you cheat
on Project 5, you can lose all the points from Projects 1 through 4 as
well, even though you may have done all the work and just "let" other
people copy from you.
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 and quizzes will be closed-book and
closed-notes. The final exam will be comprehensive and cover the
material from the entire course.
last modified on