Syllabus
Instructor
Instructor: Chintan Patel
Textbook
C How to Program by H.M. Deitel and P.J. Deitel, Prentice Hall,
3rd edition
Course Homepage
The homepage for this course can be found at:
http://www.cs.umbc.edu/courses/undergraduate/104/fall01
We will be using slides found under the Lectures link at
http://www.cs.umbc.edu/courses/undergraduate/104/fall01/cpatel2
You may find it helpful to get a printed copy of the lecture slides
before the class in which they will be used. I will show you how to get
printed copies of the slides when I take you to the computer lab. Until
that time, I will bring printed copies to class for everyone.
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
Grading
Your final grade will be broken down as follows.
6 Projects = 40%
Written Report = 5%
Pop Quizzes = 5%
2 Exams (25% each) = 50%
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%
Final grades will NOT be curved. Do not ask.
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
Attendance
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. Also you will lose the points for
a pop quiz given in the class, if you don't attend that class. (If handouts
were given out, you may come to my office to get them.)
Tardiness
Please be on time! Class begins at the scheduled time. Being late
is disruptive to the class. Habitual tardiness 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. You are responsible for the material in the readings,
even if they are not covered during lecture. The readings are listed in
the Lecture Schedule.
Questioning a Grade
You have exactly one week from the time that you receive any
grade to discuss it with me. After that time period, the grade remains
as is.
Requesting a Grade of "I" (Incomplete) for the Semester
A grade of "I" (Incomplete) will only be given in the case of a verifiable
medical emergency or other such dire circumstance. This is for circumstances
that occur at the last moment in the semester only.
E-mail
Use e-mail in an appropriate and mature manner. See Making the Most
of E-mail below.
Projects
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:
-
Logically correct and neatly formatted psueodocode (if pseudocode is required)
-
Adherence to the CMSC 104 C Coding Standards
-
Adherence to the CMSC 104 Indentation Standards
-
Correctness of program output
-
Format of program output
All projects must:
-
compile, and
-
produce reasonable output.
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 linux computer under the "gcc"
compiler (linux.gl.umbc.edu). This is the compiler that the grader will
use to compile your program.
All projects are due by 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 Project Must Be Yours
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 zero for that project. This includes
"substantially similar" projects.
Exams
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 immmediately for a makeup exam. You are
responsible for initiating these arrangements, not your instructor.
The date and time for your final exam is listed in the Lecture Schedule.
Make a note of it now. I have no plans to give
any
early or makeup exams.
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:
-
Cheating in any manner on a quiz or test.
-
Sharing projects either partially or wholey (see Your Project Must be
Yours
above).
-
Discussing quizzes or tests that you have already taken with students in
other sections of 104
For a more complete description of academic dishonesty, refer to the UMBC
Student Handbook.
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. Realize,
however, that it is not always the most appropriate way to communicate
with me. Some topics are best discussed during my office hours or an appointment.
Using E-mail Wisely
Before you send an e-mail to anyone, it is a good idea to ask yourself
the following questions.
-
Would you say what you have said in the e-mail directly to the person?
-
Do you want what you have said in the e-mail permanently recorded and possibly
distributed to others?
-
Do you want anyone and everyone to read what you have written?
If your answer is "no" to any one of these questions, it is probably best
not to send the e-mail.
Using E-mail For This Class
In order to facilitate communication, please observe the following rules.
-
Include your name, course number, and section number in the body of the
e-mail.
-
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.
In addition, please do not send me e-mails expressing "tales of woe."
If you have such a situation, please see me during an office hour, make
an appointment with me, or give me a call. If I receive a "tale of woe,"
I will instruct you to handle it in one of these manners rather than by
e-mail.
I do my best to answer my e-mail in a timely and thorough manner. But
backups do occur, especially around project due dates. Also, do not expect
a reply on weekends, over holidays, or late in the evening. And 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.