Date: Mon, 11 Nov 1996 17:15:24 GMT
Server: NCSA/1.5
Content-type: text/html
Last-modified: Fri, 06 Sep 1996 04:25:02 GMT
Content-length: 10803
General Course Information - CS 302 - Section 4
Algebraic Language Programming in C++
Instructor:
Milo M. Martin
(milo@cs.wisc.edu)
General Course Information
Objectives
The main objectives of this class are that students develop problem solving
and C++ programming skills. These programming skills are practical for
the non-major student and for the computer science major serves as a solid
foundation upon which further classes will be built. Thus, this classes is
a general introduction to computer programming, and the first step toward
a computer science major.
Expectations
Learning is an active process. To get the most out of this
course, I expect you to:
- Be prepared to discuss in class and become an active participant in
the classroom setting.
- Read the assigned material before coming to class. Be prepared to ask
questions about material that you did not understand. Remember that even
though we may not discuss particular assigned sections in class, you are
still responsible for the material and can be tested on it.
- Start the programming assignments early and ask questions about parts
that you do not understand. Complete and turn in these assignments on
time.
- Check your email and the web page frequently for class announcements.
Textbook
Problem
Solving with C++ - The Object of Programming by Walter Savitch
Addison-Wesley Publishing Company, 1996.
Contacting Me
The best way to contact me is to visit my office during office hours or
any other time by appointment. In addition to my instructing duties, I
also must attend to my own class work and research. For this reason, I
will not always be available when requested. In general it should be no
problem to setup an appointment with me to discuss whatever class
concerns or questions you might have. I would also like to encourage you
raise your questions in class. Odds are if you have a question, someone
else also needed clarification In addition questions from the class can
often generate further class discussion or lead into the topic of the day.
The next best way to contact me is through e-mail. I will do my best to
answer your questions or other concerns promptly. However, to avoid being
swamped by e-mail, I will follow this e-mail reply policy:
- Office visits take priority over e-mail. Thus if I have
e-mail pending and also students waiting at my office, I will attend
to the students first and then e-mail.
- I will give priority to e-mail of general concern. Thus e-mail
pertaining to important/relevant class material or general questions on
the assignments will be handled first. Questions that are narrow in
scope, such as debugging problems that pertain to an individual student,
will be handled as time permits. (consultants in the lab should be your
first line of attack).
- I can't guarantee that I will reply to all e-mail. Though,
I will try my best to do so.
Grading Percentages
Your grade is determined by programming assignments, quizzes, and three
exams. The exact number of programming assignments and quizzes has not
yet been determined. Individual assignments and exams will not be
assigned letter grades. Letter grades are assigned only at the end
of the semester.
- 3 Exams - 20 percent each, total of 60 percent.
These are closed book, closed note exams. Because the tests are two hours
in duration, all three exams will be administered outside of normal class
time, most often in the evenings. The exact dates and times of these
exams will appear on the course syllabus.
- Quizzes - 10 percent
These are short in-class execizes to test your understanding and
give feedback on your progress with the course material. Quizzes
also serve as an indication of what test questions might be like.
Warning: I reserve the right to give unannounced quizzes, so
attending class each day is in your best interest. There is no way to
makeup a missed quiz.
- Programming Assignments - 30 percent
These are designed to present students a concrete application of the
material covered in class. The assignments give students practice with
C++, and should help prepare students for exams. The assigned programming
assignments are the minimum amount of programming required. I would
suggest that students work on additional programs if they feel they need
the practice. If I am given adequate warning, I will do my best to supply
these students with suggestions.
Summary:
3 Exams (20% each) 60%
Quizzes 10%
Programs 30%
----------------------------
Total 100%
Grading Standards
Grading of programming assignments is based upon three criteria:
correctness, technique, and readability.
Correctness is by far the most important
criterion.
A program which does not correctly fulfill the requirements of the
assignment is subject to a grade reduction of as much as 50% or more.
The technique used in a program is the means
in which that particular problem was solved. A solution which is
correct but clumsy or awkward is subject to a grade reduction of as much
as 25%. Sometimes there will be very little leeway in this area; other
times there might be several correct solutions.
The readability of a program refers to the ease
with which a human reader (such as the grader) can read and
understand the source code. Readability does not affect the
execution of the program; however, poor readability can result in
programming errors which make the program incorrect. Poor readability
can result in a grade reduction of as much as 25%. The readability
of a program includes:
- Proper and consistent indentation of statements
- Documentation (via comments) for functions and parameters,
and for non-obvious variables and pieces of code
- Use of blank lines to separate logically separate pieces of code
- Use of meaningful identifiers for variables, functions, etc.
- Correct use of constants
Late Policy
- Programming assignments consist of printed copies of source
code, description of input, and the output generated by
the program, and by copying your files to a special "hand-in" directory.
Specific instructions are provided in the assignment pages. It is your
responsiblity to plan ahead and get your work done early. The following
late policy is provided in case of emergencies, and is not to be used
carelessly.
- Programming assignments are due at the beginning of class on
the assigned due date. Programs received after the beginning of class will
be considered late.
- Each week has at most three late periods. The period from the
beginning of class on Monday to the beginning of class on Wednesday is one
late period. The second late period is from the beginning of class on
Wednesday to the beginning of class on Friday. From the beginning of class
on Friday to the beginning of class on Monday is the third late period.
- You have three "grace periods" that you may use throughout the
semester. You may use grace periods to turn in an assignment late without
a late penalty. You may use up to 2 grace periods on any one assignment.
No program will be accepted after 2 late periods, or after the last day of
classes.
- Once you have used up your grace days, late assignments are deducted
30% for each late period, or fraction of a late period.
- Worst-case: If you have just about used up the two grace day maximum
on an assignment and your program is still not complete, you should turn
in what you have with a short paragraph explaining what you still needed
to do. Don't list excuses, just explain your plan. You will receive some
charity points depending on how close you were to completion and how
correct your program appears
- Late assignments should be turned in to me personally (for example,
during office hours), or placed in my departmental mailbox located on the
5th floor of CS&St (use the elevators, head down the hallway and they are
immediately on your left -- I'm under the "Graduate Students" sign).
- Exceptions in case of severe medical emergencies or such can be
discussed. See me as soon as possible to discuss the situation.
Honor
Students are encouraged to discuss course issues, including those issues
raised by class discussions and assignments. However, the solutions to
programming assignments should be individual original work. The phrase
used to concisely summarize the policy is: "Do not share code in any
form: oral, written, or computerized."
If you have any questions about this policy, or question if a specific
action is allowed, please don't hesitate to come and talk to me about
these issues. In addition please read the document linked from my main
CS302 page, "Academic Misconduct Policy".
Computer Logistics
- We will be using the Vectra Lab, Room CS1350.
- Each student has a 300 Page printer quota. If you waste these
first 300 pages, an additional 300 pages can be purchased for $15. 300
pages should be more than adequate for this class.
- Each student also has a reasonable disk quota.
Other Educational Concerns
- Religious Holidays: Let me know if you observe any religious
holidays that might interfere with exam or homework scheduling as soon as
possible.
- If you have any physical or learning difficulties that might
affect your performance in this course, please contact me immediately and I
will do my best to facilitate necessary arrangements for your special
circumstances.
This document was constructed using similar documents from various current
and past CS302 instructors as reference.
Milo M. Martin
(milo@cs.wisc.edu)