CMSC104
Problem Solving and Computer Programming
104 | current 104

Syllabus

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:

Note: This course does not fulfill any of the computer science major requirements. Students who have taken and received transfer credit for, or who are taking concurrently any programming course in a high-level programming language will not receive credit for CMSC104. The list of such computer porgramming courses includes, but in not limited to: CSMC 103, 106, 109, 201, 202, and sections of 291 that cover programming topics.

Instructor

Instructor: Gary Burt
Office: ITE225
Office Hours: 4:30 - 5:30 pm Mon - Thur
E-mail: burt@cs.umbc.edu
Telephone: 410-455-3928 (Do not leave a message!)

Teaching Assistants: Yong Rao
E-mail: yongrao1@csee.umbc.edu
Office: ITE351
Office HOurs: M/W 4:00 - 5:00 pm

Class Time and Place

Section Days Time Room
0201 MW 5:30 - 6:45 p.m. ACIV014
0301 TTh 1:00 - 2:15 p.m. ITE241

Textbook

C How to Program by H.M. Deitel/P.J. Deitel, Prentice Hall, 3rd Edition

Course Homepage

This course has a homepage where assignments and grades will be posted. Many of the handouts will also be available off of the homepage.

The URL is: http://www.cs.umbc.edu/courses/undergraduate/CMSC104/fall03/burt

Grading

a number of programming projects 100 points each
a number of homework assignments 50 points each
a number of unannounced pop-quizzes 5 points each
written report 100 points
a number of tests 100 points each
midterm 200 points
final exam worth 400 points

Your final letter grade determined by the standard formula:

90%+ A 80%+ B 70%+ C 60%+ D Below 60% F

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 class. You should budget enough time to work on the projects as well. Late projects will be accepted with a penalty of 10% per day. After 5 days, the project will not be accepted and the grade will be -100%.

Projects will be graded according to the following criteria:

Documentation: 15 % Style: 15 % Correctness: 20 % Execution: 50 % (Includes following all specifications!)

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 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 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.

Communications

All communications with the instructor and the TA must have your name and the last four of your Social Security Number (last four) and the section number. Too many of you have email that shows up with a fancy alias and we can't figure out who "Joe Snuffy" is! This includes all email, projects, homework, written reports, etc. Except for in-class work, all material must be typed (or printed on the computer). Too many of you have handwriting that would qualify you to be a medical doctor!

Using E-mail For This Class

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

Any e-mail that does not follow these rules will be returned unanswered. It is up to you to determine which rule was not followed. Any e-mail that is disrespectful, offensive, or threatening will receive no reply.

I do my best to answer my e-mail in a timely and thorough manner. But backups do occur, especially around project due dates. Do not hold up turning an assignment in 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 gl account. So, be sure to check your gl account regularly and frequently.

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

Lectures and Readings

Exams

Written Report

The is one written report required for this class, due at the beginning of class when the midterm exam is given. For this report, you will locate an article (published on hard-copy or electronically) on some aspect of computer programming. Your report will summarize the article and you will present your analysis of the article. The report must be printed on the computer, using a font of 12 points. It will be two full pages plus an additional title page which provides your name, SSAN (last four), title of the article and section number. The report will be submitted electronically and the filename will be the last four of your SSAN and "report.doc", such that if your SSAN is 123-45-6789, the filename would be 6789report.doc.

Academic Conduct Policy

The following is taken from the UMBC Student Handbook:

DEFINITIONS OF ACADEMIC MISCONDUCT

Academic misconduct may include but is not limited to the following:

POLICY FOR RESOLVING CASES OF ACADEMIC MISCONDUCT

Individual faculty members have the right and responsibility to deal directly with any cases of academic misconduct which arise in their courses. Instances of academic misconduct may be identified in one of two ways. If a faculty member believes a student has committed an act of academic misconduct--for example, by direct observation of student behavior, by comparing the contents of an assignment with that submitted by another student, or by reviewing notated sources or references--the faculty member, in consultation with the Chair of the Academic Conduct Committee, will assess the student's alleged misconduct and the faculty member's options. If a student believes that academic misconduct has occurred, the student will notify either the faculty member or the Chair of the Academic Conduct Committee.

It is particularly important that the Chair of the Academic Conduct Committee be consulted. The Chair can provide knowledge and insight for the faculty member. Communication of instances of academic misconduct also protects the integrity of the university by providing a means of recording infractions that may be repeated by a particular student, or which may prove endemic to a particular course or department. Consultation with the Chair of the Academic Conduct Committee provides a formal record of the infraction and resolution, protecting the student, professor, and university should any questions later arise.

The student will have the opportunity to respond to an accusation of academic misconduct.

Out-of-Class Help

You will have some difficulties in this class and will need some extra help. This is normal. You can come to me or the TA for this help. The sooner you come to us for help, the easier it is for you to catch up. Don't wait until you are totally and hopelessly lost. Work the exercises in the book, even when it is not homework, because you can not learn this material only by reading it. You must write programs to learn all these concepts. The TA's primary responsibility in this course is to help you. Don't waste this opportunity.

In the past, I have had students who would visit me as much as four times a week for assistance. Then again, I have had former students come back and visit for assistance in other courses. Don't be afraid of upsetting me because you ask for help too much.

There is also a Tutoring Center and the Computer Science Help Desk that is available. Hours will be posted when they are announced.

ADA Compliance

We recognize that some of you might have disabilities that require special attention from the instruction staff. Please make us aware of them so that UMBC can make suitable arrangements.