CMSC 104 -- Problem Solving & Computer Programming | Section 0101, Instructor: John Y. Park



Lecturer: John Y. Park

Course Information

Course: CMSC 104 Problem Solving and Computer Programming

Section 0101:
Days/Time: Mondays & Wednesdays, 5:30pm - 6:45pm
Classroom: ITE 233
Office Hours: Mon 4:15 - 5:15pm, Wed 7:00 - 8:00pm


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

Course Homepage

The homepage for this course can be found at:

Course Description

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


Your final grade will be broken down as follows. 3 Homeworks (4% each) = 12% 4 Projects (7% each) = 28% 3 Exams (20% each) = 60% Total = 100%

Final letter grades will be determined as follows.

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

An average of .5 and above will be rounded up. For example, 89.5% would be rounded up to 90%. Final grades will NOT be curved.

A grade of "I" (Incomplete) will only be given in the case of a verifiable medical emergency or other such dire circumstance. See Taking Responsibility below.

Taking Responsibility


You are expected to attend all classes. 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 slides provided online are not a substitute for attending class.


Please be on time! Class begins at the scheduled time. Being late is disruptive to the class. Most of the important announcements (such as project extensions!) are given at the beginning of class. Habitual lateness will not be tolerated.

Responsibility for Class Material

You are responsible for all material covered in lecture, even if it is not in the textbook. The textbook readings shown on the Lecture Schedule are meant to be supplemental. You are not repsonsible for topics covered in the readings that were not covered in class.


Use e-mail in an appropriate and mature manner. See Making the Most of E-mail below.

Classroom Etiquette

As a student in this course, you should be courteous and respectful of your fellow classmates, as well as your Instructor. The following behavior is considered unacceptable:


Project Submission and Grading

The critical programming skills cannot be learned simply by attending class. You should budget enough time to work on the projects as well. Programming projects will be graded based on the following:

All projects must:

If a project does not compile and produce reasonable output, it will receive a zero. "Reasonable output" will be explained in class. If you ever have a doubt as to whether or not your project produces reasonable output, ask your instructor before submitting it.

All projects must compile on the GL system ( using the gcc compiler. This is the compiler that the grader will use to compile your program.

All projects are due before midnight on the date listed in the Lecture Schedule. No late projects will be accepted.

Be aware that the linux system may go down from time to time. You are given ample time to complete your projects, so such downtimes, no matter how long and when, are no excuse for your project being late. For those using the network via ResNet, ResNet being down is no excuse for a late project either. If ResNet goes down, get to a computer lab and complete your project.

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

Your Assignment Must Be Yours

All assignments must be completed by your own individual effort. You should never have a copy of someone else's assignment either on paper or electronically under any circumstance. You should not even look at another student's solution to an assignment. Also, you should never give a copy of your assignment, either on paper or electronically, to another student. This also means that you cannot "work" on the project together.

I will be using special software to check for cheating. The software is quite sophisticated and has "surprised" some students in the past. I will, of course, not release the details of the internal workings of this cheat-checking software, but you are forewarned that there is no difficulty in comparing every pair of projects --- even for projects submitted to other sections of this course.

Your homeworks/projects will be checked for similarities with all other student projects. If your homework/project is found to be "substantially similar" to that of another student, both you and the other student will receive a grade of 0 for that homework/project AND a reduction of one full letter grade in your final course grade. Furthermore, all parties concerned will have their prior homeworks/projects checked for cheating. A second incident will result in a grade of 'F' for the semester.

Any act of dishonesty may be reported to the University's Academic Misconduct Committee for further action. Egregious cases of cheating will be written up as a "more serious" infraction. In this case, you will not be allowed to drop the course. Also, a "more serious" infraction would appear as a permanent part of your student record and would be seen by potential employers when they ask for an official copy of your transcript.


The exams will be closed-book and closed-notes. The test dates for the exams are listed in the Lecture Schedule. In the case of a verifiable medical excuse or other such dire circumstance, arrangements must be made with your instructor for a makeup exam.

The date and time for your final exam (Exam 3) is listed in the Lecture Schedule.

General Academic Dishonesty

Academic dishonesty is serious and will be dealt with severely, including the possibility of being reported to the University's Academic Misconduct Committee. Academic dishonesty includes, but is not limited to:

For a more complete description of academic dishonesty, refer to the UMBC Student Handbook, and to the UMBC Undergraduate Student Academic Conduct Policy.

Making the Most of E-mail

E-mail is a great way to communicate. It can save both of us a lot of time and also allows you to receive answers to questions outside of class.

Using E-mail For This Class

In order to facilitate communication, please observe the following rules.

I do my best to answer my e-mail in a timely and thorough manner. But occasionally I do get behind, especially around project due dates. Do not hold up turning in an assignment because you are waiting for a reply to your e-mail.

When I reply to your e-mail, I will reply to the address from which it was sent. However, if I initiate an e-mail, it will be sent to your UMBC gl account. So, be sure to check your UMBC gl account regularly and frequently.

For your benefit, hold on to all e-mails concerning policies and grades.

Last modified: Saturday, 30-Aug-2008 15:31:00 EDT