Mary Eberlein, Ph.D.
eberlein at cs.utexas.edu
Office Hours: WF 1:30-2:30 in PAI 5.35 and by appointment (email me a suggested time).
Course web page: http://www.cs.utexas.edu/~eberlein/cs337/cs337.html
The class textbook was written by Professor Misra. A link is posted on the schedule webpage.
For additional (and optional) reference: Haskell: The Craft of Functional
Programming, by Simon Thompson. Publisher:
Addison-Wesley-Longman, ISBN 0-201-40357-9.
I think we all wish that we could have courses without grades. You hate worrying about grades. I hate having to assign grades. But grades are essential to insuring that your degree has the value that it deserves. So we have a grading system and that system has to have two essential properties:
-It has to be fair to everyone in the class.
-It has to be a true measure of how much each student knows about the class material.
The system I will use in this class will assign grades as follows:
3 Exams (Feb 29, Apr 11, final exam slot) 20% each
Programming Projects 20%
Quizzes and Homework 20%
The standard letter grade cutoffs will be applied, i.e., 90 - 100
is an A, 80 - 89 % is a B, etc. These cutoffs may be changed to
benefit of the students at the instructor's discretion. The use of
and - grades may be used at the instructor's discretion as
well; + and - grades will only possibly be used when it benefits
students. For example, if you have a 90% course average, you are
guaranteed an A. But if you make 89%, it is possible that you
assigned an A- or B+, rather than a B.
The exam dates given above are tentative and may be changed. The
midterm exams will be given in the evening.
Your grade records will be maintained by your TA. If you have
or concerns about your grade, contact your TA during lab hours or
Homework and Programming
The due date for each programming assignment will be clearly stated. Respect Murphy's rule and plan for your bus to run late, your personal computer to crash the afternoon of the due date, etc.
Read the project requirements carefully. You will lose points if
do not follow the
Unless otherwise noted, all projects will be equally weighted, and all quizzes will be equally weighted. Homework will typically be collected at the beginning of discussion or class, and the quizzes will typically be similar to the homework problems and in-class examples and exercises. If you have not worked the homework problems, you will not do well on the quizzes or exams.
Collaboration on Assignments
You are encouraged to study for exams together, and to discuss approaches to solving the programming assignments. See the programming project webpage for more information about project requirements. You and your project partner must follow the pair programming rules, which are posted on the class webpage. Project partners will receive the same grade for the assignment.
Exams will cover material from lecture, discussion section, assignments, and assigned readings. Exams will be closed book, and they will not be comprehensive. Tentative exam dates are posted above, and are subject to change.
Announced and pop quizzes will be given frequently, both in lecture and discussion. Your lowest quiz grade will be dropped. No makeup quizzes will be given. I suggest that you plan to attend all classes and discussion sections so that you may drop a quiz you miss because of illness or emergency.
Makeup exams will not be given unless an exam is missed for a verifiable illness or emergency.
No programming assignment may be turned in more than 2 days late
if the project is due at 10 pm on Thursday, it cannot be submitted
after 10 pm the following Saturday). You will have 3 free late
days in 1 day units (that is, 1 minute to 24 hours late = 1 slip
for the projects this semester, but you cannot use slip days for
first or last programming assignment. You may divide your slip
remaining projects in any way you wish to extend deadlines for the
projects, subject to the 3 day total maximum and the 2 day maximum
project. To help the TA track your slip-day status, add the
comment to the header of your file:
Pair Name 1: Slip days used for this project:____ Slip days
Pair Name 2: Slip days used for this project:____ Slip days used (total):_____
No other programming assigment extensions will be granted. I recommend that you plan to turn in all projects on time and use your slip days for unexpected illnesses or emergencies. If you are working with a pair partner on a project, you both use one slip day for each day your program is late.
Unless you have extenuating circumstances, all projects should be done in pairs. Research has shown that students perform and learn better when pair programming is used to complete assignments. For pair programming projects, you and your partner must sit, design, and program together at least 90% of the time, and split keyboard time evenly. Each student can work independently for at most 5% of the time. See the webpage on pair programming for more information.
Once you choose a partner for a particular project, you cannot change partners for that assignment. In an emergency and with instructor approval (that is, your partner drops the course, gets sick, won't meet with you to work on the project, etc.), you may complete the assignment individually. Include in your assignment comments your former partner's name and your email correspondence with the TA and instructor.You must work with a different partner on each project in CS 337. After each project is completed, you and your partner will submit a feedback form concerning your work on the project.
See the assignments page for more information about the projects.
Computers and Accounts
You must have a CS unix account. You will use this account to submit your programming assignments via turnin.
If you are dissatisfied with any grade you receive, you must present a written complaint to the TA who graded your quiz or project (submit complaints concerning exams to your discussion section TA). The complaint must be submitted within one week of the date on which we returned, or first attempted to return, the graded work to you. Your complaint must contain supporting evidence and arguments which explain why your work was graded incorrectly. It is not sufficient to submit a note that says "regrade question 3", for example. Grade change requests that do not meet these requirements will not be considered. Note that assigned grades are not the starting point of a negotiation. This isn't a weekend bazaar. Unless we have made a mistake in grading your work (i.e., you have a correct answer that was marked wrong, or your score was added incorrectly), your grade is final.
Note that none of the following grade discussions is appropriate:
(1) "I know my answer was wrong, but I deserve more partial credit points." When we grade, we make decisions about how many points to give for various kinds of wrong answers. This is never a clear cut decision. The important thing is that we make some decision and then implement it fairly for everyone. It is completely unfair to come back later and give one person more points just because they ask. We won't do it.
(2) "I don't like my final grade. It will ruin my life for the following reason: ... Therefore you should give me a better one." Class grades reflect only one thing: how well you did in the class. Life circumstances just don't play a role here. Don't come to me with this kind of argument.
(3) "I don't like my final grade. I am desperate. Isn't there some sort of extra credit thing I could do?" Any answer other than "No" to this question would be completely unfair to other students in the class unless they were all offered this option. That would be equivalent to saying that the semester isn't over and everyone can keep trying. We're not going to do this. Final grades are final.
(4) "I don't like my final grade. Can I have an incomplete and try again?" There are University rules for giving incompletes. If you meet those rules (e.g., you had a medical problem during the semester), then, of course, come and tell me and ask for an incomplete. But make sure you do it as soon as you can. Do not wait until the semester is over. If you do not meet the rules, the answer is "No".
(5) "I don't like my final grade. It doesn't reflect what I really know. I guess I didn't show what I know on the exams, but won't you give me a chance to convince you that I really know this stuff." Again, any answer other than "No" would be unfair to everyone else.
Academic Honesty and Inappropriate Collaboration
Unless otherwise specified by the instructor, you are required to do homework assignments and quizzes individually, and you and your programming partner are expected to complete all projects alone. You are permitted to discuss high-level approaches to the assignments with other students, but the moment you start looking at another pair's source code or another student's homework solution you have crossed the line into cheating. I will use plagiarism detection software on programming assignments to find students who have copied code from one another.
Examples of cheating
else about it, talking another student through the solution
code, allowing others to look at your solution code,
code from a student who took CS 337 during a previous semester,
on the internet for code to solve your programming assignments. If
have any doubts about what is allowed, ask the instructor.
Note about programming projects:
We run MOSS on each assignment, and we include projects that were
submitted during previous semesters of this class.
Please make sure that you carefully read the pair programming
your partner writes large parts of the program alone, then you are
submitting code as your own that you did not write, and this is
academic dishonesty for both you and your partner.
Part of academic honesty on the programming assignments is following the pair programming rules. You are NOT allowed to divide the work on the project in half, with you and your partner each doing parts of the assignment separately. That is cheating, since you did not contribute to half of the assignment. You are responsible for the entire project that you and your partner submit. Make sure that you have electronic copies of the project, with regular updated versions, even if you use your partner's machine while coding. All communication with your programming partner should be done via email, so that you have a log of your communication if there are problems. Talk to the instructional staff immediately if you are having difficulties with your partner. If you and your partner submit work that you did not contribute to writing, you will receive an F in the class.
We follow the University's standard policies on academic honesty.
will be rigorously enforced. Cheating will result in action
with the policies stated in the University's Manual on Academic
cheating on an exam, quiz or assignment is an F in the
course and a referral to the Dean of Students office.
You are expected to do all project work with your partner only
for group work is given.
Religious Holy Days
A student who is absent from an examination or cannot meet an assignment deadline due to the observance of a religious holy day may take the exam on an alternate day or submit the assignment up to 24 hours late without penalty, if proper notice of the planned absence has been given. Notice must be given at least 14 days prior to the classes which will be missed. For religious holy days that fall within the first 2 weeks of the semester, notice should be given on the first day of the semester. Notice must be personally delivered to the instructor and signed and dated by the instructor, or sent certified mail. Email notification will be accepted if received, but a student submitting email notification must receive email confirmation from the instructor.
Students with Disabilities
The University of Texas at Austin provides upon request appropriate academic accomodations for qualified students with disabilities. For more information, contact the Office of the Dean of Students at 471-6259, 471-4641 TTY.