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:
- Introduction to Computer Organization and Architecture
- Data Representation and Memory Usage
- Introduction to Operating Systems
- Problem Solving and Algorithm Development
- Introduction to Software Engineering Using Top-Down Design
- Compilation, Linking, and Execution
- Basic C Programming
- Reuse Based on Algorithm Selection and Design Techniques
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.
- Make sure that the e-mail's subject line clearly identifies its
content.
- Use your real name. I get a lot of junk e-mail (spam). So, e-mail
from
"Hot Stuff" or some other unidentifiable source gets deleted without
being
read.
- Write your message in the e-mail's text box. Do not include it as an
attachment.
- Do not attach a programming project or any portion of a programming
project unless I request you to do so.
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
- You are expected to attend all classes. (Attendance is not a part of your grades.)
- You are responsible for all material covered in the lecture, even
if the material is not in the textbook. You are responsible for the
material in the readings, even if they are not covered during
lecture. (I recommend you have a study team and help each other
with getting any material from lecture.)
- There will be supplemental material on the course webpages that you
are will have to master in addition to the material in the book.
- You need to monitor the course web pages daily. All new material
will be marked with a yellow icon and the word new, along
with the date the material was modified. That icon will remain for
at least one week. If it is on the web page for 48 hours, I will
penalize you for not following instructions.
Exams
- The exams will be closed-book and closed-notes, with no calculators allowed.
- No pagers or cell phones allowed. (It is very disturbing for the other students!)
- There are quizzes, tests, a Mid-term Exam, and a Final Exam.
- You must show a photo ID for the Mid-term and Final Exams.
- I do not tolerate cheating in any form. Copying from anyone else
is cheating. Likewise, copying from a book any any assignment
is cheating! You must do your own work!
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:
- Cheating: knowingly using or attempting to use unauthorized material, information, or study
aids in any academic exercise.
- Fabrication: Intentional and unauthorized falsification or invention of any information or
citation in an academic exercise.
- Facilitating Academic Dishonesty: Intentionally or knowingly helping or attempting to
help another commit an act of academic dishonesty.
- Plagiarism: Knowingly representing the words or ideas of another as one's own in any
academic exercise, including works of art and computer-generated information/images.
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.