22C:54, section 2 - Programming Language Concepts

General Info.
Course Homepage
About 22C:54
Contacting Us

Homework & Grades
Grading Policies
Homework Directory

Q & A
Meeting outlines
Running Scheme
Scheme Library

Department Homepage
U. of Iowa Homepage

Valid HTML 4.0!
Valid CSS!

Grading Policy

The material on this page is organized as follows:

  1. Final Grades
  2. Letter Grades
  3. Late Homework Problems Policy
  4. Homework Problem Types
  5. Extra Credit
  6. Cheating
  7. Cooperation

Final Grades

Final grades for the course will be weighted heavily towards exams. Together the four exams given will account for 70% of your grade while homeworks will count for 30%. Each exam is weighted equally with the others; no extra weight is given to the final exam. Each homework point counts equally, but some homeworks have more points than others.

Note this policy well. The idea is that you should:

Do the homework problems to learn the material.

You will pass and do well if you make mistakes on your homework and learn from them. Don't think that the homework grades are so important that you should cheat to get higher homework grades, as doing so will most likely cause you to fail the tests.

We reserve the right to adjust your calculated grade downward (towards F) if you do not turn in the homework problems, but get good grades on the tests. (This indicates to us that you are either cheating on the tests or denying yourself the extra learning that would come from doing the homework problems. If you already know the material, talk to the instructor about placing out of this class.)

Return to top

Letter Grades

Your grade is independent of anyone else's grade in this class; that is, we do not grade on a curve. Everyone can get an A in this class. Our purpose in grading is to uphold a standard of quality and to give you feedback, it is not to rank students.

Instead of using curve grading as a final defense against problems that are too hard, we use the following policy. If a problem on the homework or a test is so hard that most students do not "get it", then we will eliminate it from the test or homework grading. If this problem was appropriate, then we will teach how to solve problems like it, and give a similar problem on another test or homework. If it was not appropriate, then we will ignore it. If you detect such a problem on a homework, let us know about it as soon as possible, as it will save us all a lot of work.

Although we will not always make fine distinctions in points the nominal minimum standards are given by the following table.


Return to top

Late Policy for Homework Problems

The late policy for homework problems is designed to encourage you to:

  • hand in one "good" version of each problem,
  • hand it in on-time if possible,

but to hand it in eventually in any case. To prevent the TA from grading multiple versions of homework problems, only one version of any problem, the first you hand in, will be accepted.

Like all homework, late homework problems must be printed and handed in to a staff member, email will not be accepted. If you can't find your TA to turn in late homework problems, turn them in to me or the department office. If you give it to someone in the office, be sure to have them note the time on it.

Homework problems are due at the beginning of the lecture meetings, not five minutes after it starts. However, you can turn in just the problems that you have finished; we don't require you to turn in entire homeworks at once. The late penalties only apply to those problems you turn in late.

We do give partial credit for homework, so you will have to balance the gain from waiting to get a good version of a problem and the loss from handing the problem in late. In general, we encourage you to hand in a good version of each problem, but if you are late (and have been trying), consider that as a sign that you need help on the concepts, and get help from us!

Homework problems that are late receive points based on the following table.

When Handed In Percentage Penalty
if answer(s) are given in class 25% (or more due to time)
by noon the day after the due date 5%
at the next lecture meeting 10%
by 1 week after due date 25%
by 2 week after due date 40%
by 3 weeks after due date 55%
by 4 weeks after due date 70%
later or during last week of classes 100%

For example, if a homework problem is due on Monday in class, but you turn it in by noon Tuesday, you will have 5% of what would have been your score subtracted; thus if the problem was 25 points, and you earned 20 of them, your score would be recorded as 19 points, due to the 5% penalty. If you turned the same thing in on the following Wednesday, your penalty would be 10%, so your score would be recorded as 18 points. However, if an answer to the problem was given in class, then even turning it in by noon on Tuesday you would have a 25% penalty (and so your score would be recorded as 15 points).

Absolutely no credit for late homework problems will be given during the last week of classes (or later!), or for homework problems turned in later than 4 weeks after the due date.

If you are consistently late with homework, we may stop accepting your late homework problems.

Return to top

Homework Problem Types

There are 3 kinds of homework problems: normal, suggested practice, and extra credit. Normal problems are essential material. If you find yourself struggling with one more than a reasonable amount of time, please come and see us for help! Suggested practice problems are for you to use for practice, if you wish, but not to hand in; suggested practice problems may be discussed in discussion sections, and make good study problems for tests. Extra credit problems do not count as normal problems, but can be handed in. They are discussed further below.

On homeworks, the points and type of problem follow the problem number. For example, "3. (25 points)" is a normal problem, while "4. (suggested practice)" is a suggested practice problem, and "5. (20 points; extra credit)" is an extra credit problem.

The points used to figure your grade on a homework are the points you earn for the normal problems.

Return to top

Extra Credit

In homeworks for which you do not have any incomplete problems and earned a grade of at least a B overall, you may accumulate extra credit points on problems marked extra credit. Extra credit problems that are not given explicit due dates may be turned in any time within 3 weeks of the due date of the last normal problem of the homework to which they are attached. However, all extra credit work must be handed in before the last week of classes.

Extra credit problems should be turned in separately from regular homework problems. That is, don't staple them together with regular homework problems. Make sure they are also labeled with your name and clearly state what problems are being solved.

The main reason to do extra credit work should be that you are interested in the problems and want to learn more about the material. Since the main material is more important, you should only do extra credit problems that interest you and that you have time for. Beware that one reason for having extra credit problems is to give me a place to put interesting problems that are of unknown difficulty. Sometimes these turn out to be quite hard.

Another reason, for doing extra credit work, however, is that your extra credit points will be used to subjectively raise your final grade in the class. For example, if you are close to an A in the class, and have some extra credit points, then we will take them into account and may raise your grade to an A. Another use for extra credit points is to impress me, if you want me to write you a recommendation someday. (Because of that, it is wise to save your extra credit work.) However, you can't use extra credit work to make up for incomplete work. If you are having difficulty in the class, focus on the main material, not on the extra credit work.

You may also do work for extra credit that you invent, but please check with me before doing something like that. (Otherwise you may spend a lot of time on something that I may not consider worth many extra credit points.)

Return to top


The simple rule of thumb is:

Never give or use someone else's code or written answers.

Such exchanges are definitely cheating and not cooperation.

We will take action if we catch you cheating on a test or exchanging code or written answers. Read the section on academic dishonesty in the University of Iowa Schedule of Classes and the Liberal Arts Bulletin.

If you honestly believe that certain problems are too much busy work, then bring it to the instructor's attention; or failing that, only do the part of the problem that you think you need to do to learn the material and explain that to us.

Return to top


You are encouraged to discuss homework, and other parts of the class with other students. Such discussions about ideas are not cheating, whereas the exchange of code or written answers is cheating. However, in such discussions of ideas, you should distinguish between helping and hurting yourself and the other student. In brief, you can help the other student by teaching them, and you can hurt them by giving them answers that they should have worked out for themselves. (Remember, when you're being tested, you won't be able to help each other.) The same applies to tutoring and getting help from me or a TA.

This most commonly occurs in giving away a key idea needed to solve a problem. For example, suppose you have studied a programming problem for an hour or so, and finally found that the key to the solution is to use a helping procedure you call "critical". Your friend, after working on the problem for 15 minutes, says "I just can't see how to do this" and you say "try using a helping procedure called 'critical'. "

Although it takes more time, your friend will learn more if you say something like: "How are you approaching the problem, what's your plan?" (knowing that if your friend is not planning, no helping procedure will be found). If your friend hasn't planned, you should let them do it; if they have trouble planning, tell them to think about problems discussed in class that were similar, etc. If, after planning, your friend still hasn't found helping procedure 'critical', you should say something more direct like, "what helping procedures do you have?" or "how do these helping procedures help you get closer to the solution?" or "can you solve part of the problem?" The idea is to guide the other person's thinking process.

Perhaps a more common way to fall into the hurtful exchange of giving away the key idea is when you're talking over a problem that no one knows the answer to yet. Once one of you comes up with the key idea, it is tempting to blurt it out, impressing the others with your brilliance. If this happens, you should write "developed in cooperation with ..." on your solution. (Note that this disclaimer cannot be used to get away with cheating, but we're not discussing exchanging written code or answers.) It would be better for the one who comes up with the key idea say "I have it, but now I can't tell you what it is" and then try to guide the others to the solution as described above.

If you use reference materials (other than the course texts) to solve a problem, please give a citation. (You should not copy code from other books, as that will probably not help you on tests. But you may get some ideas from a book about algorithms or data structures.) Similarly, if you discuss a solution with another student, give credit where credit is due by making a note such as "the following idea was developed jointly with Alyssia P. Hacker," or "the following idea is due to Ben Bittwiddle." You cannot be charged with plagiarism if you cite in this way. (However, don't expect to excuse cheating with such a citation. That is, you cannot exchange code even if you say it was developed in cooperation with someone else. Cooperation refers to the exchange of ideas, not code or written answers.)

Return to top

Last modified Sunday, August 20, 2000.

This web page is for the Fall 2000 offering of 22C:54 at the University of Iowa. The details of this course are subject to change as experience dictates. You will be informed of any changes. Thanks to Curt Clifton for help with these web pages. Please direct any comments or questions to Gary Leavens.