CMSC 104, Section 01, Fall 2016
Problem Solving and Computer Programming


Course Website:


Instructor: Tom Reich
Office: ITE 201C
Office Hours:
   TuTh 5:00-5:30 pm in ENG 122
   6:45-7:15 pm in ITE 201C
   ...and by appointment.

Teaching Assistant: Sergey Grokhovetskiy
Office: ITE 240
Office Hours: TuTh 1-2 PM

Class Time and Location

Section 01 meets in Engineering 122 from 5:30pm - 6:45pm Tuesday and Thursday


Required: C How to Program by H.M. Deitel/P.J. Deitel, Prentice Hall
Editions 3-8 are acceptable, and are available from Amazon starting at 1 cent + shipping. Here's some links:
8th Edition
7th Edition
6th Edition
5th Edition
4th Edition
3rd Edition

Course Description

This course will give the students an overview of Computer Science focusing on problem solving and algorithm development. The C programming language will be introduced by covering the first six chapters of the textbook. The following is a list of topics that will be covered this session:


Your final grade will be composed of :

Your final grade will be determined according to the criteria:

90% <= A <= 100%
80% <= B < 90%
70% <= C < 80%
60% <= D < 70%
0% <= F < 60%

Your grade is based on timely work accomplished during the semester; incomplete grades will only be given for a verifiable medical illness or other such dire circumstance.

Project Submission and Grading

Critical programming skills cannot be learned simply by attending the class. You should budget enough time to work on the projects. In general, projects will be graded according to the following criteria, although project-specific criteria may also be used.

Documentation: 15%, Style: 15%, Correctness: 20%, Execution: 50%

A project that runs incorrectly will receive no more than 80% of the grade. A project that does not compile will receive no more than 50% of the grade. These guidelines are for incomplete projects that show significant effort. All projects must compile and run on the UMBC Linux computers (i.e., with the gcc compiler. The projects should adhear to the CMSC 104 C Coding Standards. Be aware that the UMBC computer system may go down from time to time. Your are given ample time to complete your projects, so such downtimes are no excuse for your project being late. Projects that require pseudocode should be logically correct and neatly formatted.


You will be turning in your projects electronically. Details will be announced in class before you need to submit projects.

Project Policy / Academic Integrity

All projects must be individual efforts. 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 4, you can lose all the points from Projects 1 through 3 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 classes. 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. If you miss a class, you are responsible for getting the notes and any verbal information given during class from a fellow classmate. (If handouts were given out, you may come to my office to get them.)


The exams will be closed-book and closed-notes. Test dates for the first exam and final exam will be announced well in advance. In the case of verifiable medical excuses or other such dire circumstances, arrangements must be made with the instructor for a makeup exam. You are responsible for initiating these arrangements, not your instructor, preferably before the exam.

UMBC Statement of Values for Academic Integrity

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, or the UMBC Policies section of the UMBC Directory.

Last Modified: September 25th, 2016 10:01 PM