|
CMSC104
Problem Solving and Computer Programming |
|
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: | By appointment |
E-mail: | burt@cs.umbc.edu |
Telephone: | 410-455-3928 (Do not leave a message!) |
Class Time and Place
Section |
Days |
Time |
Room |
0501 |
WM |
3:30 - 4:45 pm |
SS203 |
Textbook
Problem Solving An Introduction to Programming by J.R. Hanly/E.B. Koffman and
H.M. Deitel/P.J. Deitel, Pearson Custom Publishing
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/spring05/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.
Late projects will not be accepted after 5 days, unless approved be the instructor
in advance.
Projects will be graded according to the following criteria:
Documentation: 15 %
Filename 5 %
Style: 10 %
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%.
When the project requirements states that the program is to do something,
that is not a recommendation, it is an absolute requirement. You will
lose points if your program does not do that requirement. Likewise, unless
the requirements state you are to do it, it will lose points for doing it.
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 grader must have
your name and the UMBC ID (ie, jdoe2) 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!
I get up to 200 spam a day and I don't want to accidently delete your
email.
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 deleted 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 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.
Copying from the Internet is cheating.
Likewise, copying from a
book for any assignment is cheating! You must do your own work!
If you get caught cheating you will receive an F on that item, all
previous work will be reviewed and regraded if cheating is found.
Finally, the cheating will be reported to UMBC and can lead to expulsion.
Written Report
The is one written report required for this class, due at
the before 11:59 pm on the day 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, the Tutoring Center 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. Student Services works with
students and faculty members to assist us in providing you with the necessary
learning environment.