What about my grades?

Many of you are at Tufts because while you were in high school, you became extremely good at getting A’s. But I didn’t come to Tufts to worry about handing out A’s; I came to Tufts to make it possible for you to learn great stuff. I want to give you an A, but I insist that you earn the A by showing me (and my staff) that you’ve learned a lot. (If you can get an A without working hard, either you are cheating yourself or your instructor is cheating you.)

Of course you will want feedback, and my staff and I will provide it: you will receive formative assessments that help you get better and summative assessments (grades) that tell you where you are. That’s our end of the bargain. Your end of the bargain is that you will show us not only that you will have learned something about the subject matter, but that you have applied the methods and tools for learning that we will teach you. We’re drawing on years of study about what methods work best and help students learn most effectively. We don’t want to waste your time, and we don’t want to waste ours either. In order to receive grades, you must agree to The Bargain.

I take The Bargain so seriously that I actually expect you to print it out, sign it, and bring it to your first lab session. Your signature acknowledges that you have read and understood the bargain and its implications. I’m not interested in the letter of the law; as long as you live up to the spirit of the bargain, then throughout this semester, my staff and I will stand by you.

What things will be graded?

In almost every lecture, there will be a quiz. The topic of the quiz will typically be drawn from the reading and will be stated in advance. The purpose of the quiz is to help you prepare so that you come to class with your brain fully loaded and in the On position. To reward you for your preparation, my staff and I will grade some of the quizzes—probably about 10 or 15. Quizzes will be graded pass/fail.

Almost every week, there will be a homework or project. A “homework” is a collection of small problems. A “project” is a single big problem (although it may be broken into parts). For example, a homework might ask you to design several different functions that could be used in a GPS device. A project might ask you to do something like design and build a program that can tell what natural language a Web page is written in.

Once a week you will have a lab that gives you hands-on experience which helps you use tools or put ideas into practice. For each lab, you will receive a grade that will be based on your self-assessment of two questions:

  1. What did you build or do in the lab?
  2. What did you learn from your experience?

You may find these questions hard to answer at first. Don’t worry; course staff will be on hand to teach you how to answer them.

What should my homework look like?

I need to write a page on that. It should cover

Except for the first homework, we will have some form of electronic submission. However, the department’s standard electronic-submission tool is barbaric, and if I can avoid subjecting you to it, I will. I’m still looking for a solution that can be integrated with DrRacket.

What is a finger exercise?

A finger exercise is a short problem is assigned as part of the homework, but that you don’t turn in.

When you ask for help with a homework problem, we may ask you to solve a related finger exercise (or to explain its solution).

The word “finger exercise” comes from music practice. If you’re an athlete, not a musician, think of finger exercises as calisthenics.

What is a karma problem?

Homeworks and labs may include optional problems called karma problems. A karma problem provides extra challenge to those who want it. We’ll be happy to look at your solutions to karma problems, but they don’t affect your grades. However, if you have a habit of doing karma problems, we will certainly notice this habit—and such a good habit may improve the final letter grade you receive for the course.

That said, if you want a high grade for the course, the effective path to earning high grades is to do well on regular problems, not karma problems. Tackle a karma problem only after you’ve finished the rest of a homework or lab.

What will my grades look like, exactly?

Without going into all the science behind it, it is known that when a grading scale has too many choices, the scale becomes extremely difficulty to apply consistently and fairly. For that reason, all your work will be graded on a simple five-point scale. (It is the same scale that the National Science Foundation uses to judge proposals.)

A sixth grade, No Credit, is assigned to work that is not turned in, for parts that are incomplete, or for work that is non-functional or appears to bear no relation to the problems assigned.

This scale will seem strange to you at first. Roughly speaking, Excellent corresponds to A-plus, Very Good corresponds to an A or A-minus, Good corresponds to something in the B range, Fair corresponds to something in the range from B-minus to C-minus, and Poor corresponds to a D or F. No Credit is a zero.


Sometimes there is a small fault in an assignment that is not severe enough to warrant lowering the grade from, e.g., Very Good to Good. In this case I may instead mark a “deduction” for the fault. If you believe in “points,” then a deduction is roughly equivalent to a “point off” of a 100-point assignment.

What if I got the wrong grade?

If we have made a mistake in grading a homework assignment, you have seven days after the return of the assignment to call the mistake to the attention of your TA or instructor. In such cases, we will reassess the entire assignment and assign a new grade. The new grade may be higher or lower than the original grade.

What will go into my final course grade?

Your course grade is based on my judgment of the quality of your work and the degree of mastery you demonstrate. My judgment is influenced by your quizzes, labs, homeworks, and projects, and by your learning portfolio. I plan to weigh the elements of your work roughly as follows:

Quizzes 15%
Labs 15%
Homework and projects 40%
Learning portfolio (in lieu of a final exam)   30%

When determining final course grades, I consider the total picture including not only all of your work but any grading tendencies I have observed during the term. My goal is the final course grades should reflect a consistent standard, consistently applied.

Do I have to turn my homework in on time?

Mostly. I recognize that college life occasionally interferes with on-time submission. If you can’t get a homework in on time, here’s what we’ll do for you:

If you can’t finish a homework by the deadline, turn in an unfinished homework. Half a loaf is better than none.

What if I’m really, really sick? Or some other bad thing happens?

There are two situations in which I will permit you to turn in work late without expending an extension token:

Once your dean is involved, all kinds of arrangements become possible. Until then, I’m a hardass.

Where do I have to go and when do I have to be there?

The class has two lectures per week. Lecture is highly recommended. If you are an experienced Tufts student and you find you can do all the labs, homeworks, and projects without attending lecture, more power to you. (If you miss lecture, you will miss a quiz, and some quizzes count toward a small part of your grade. But don’t let that stop you.) If you are new to Tufts, or you are not doing great on the labs, homeworks, and projects, then if you miss lecture, you are fool. Not everybody understands that college is not like high school: if you don’t come to class, nobody’s going to complain—and if you fail the course and you haven’t come to class, nobody’s going to care.

To help maximize the value of lecture time, please comply with two requests:

You must go to lab once a week. The lab is scheduled for 75 minutes, but if you finish the lab exercises sooner, you are welcome to leave early. Lab times are posted on the class home page; you will sign up before the first lab. Because lab space is very tight, you should always go to your assigned lab. If you go to another lab, there may not be room for you. However, if there is a real emergency that keeps you from lab, we will try to accommodate you in another lab.

What software do I need?

You need DrRacket version 5.3.6, and you need a CS account. These basics are covered in quick-start guide on the course’s home page. If you don’t have your own computer or you don’t want to install DrRacket, DrRacket is already installed in Halligan labs 116 and 118 but not in 120 (don’t ask). In principle, you can use DrRacket by logging in remotely to the server homework.cs.tufts.edu. In practice, I expect this to be difficult—you need a mysterious thing called an “X server connection,” and getting one is not as easy as it should be.

What help is available?

Computing is not a solitary profession. To maximize your chances of success, interact with others:

How should I work with others?

Problem-solving and program design are creative processes. You must reach your own understanding of problems and discover your own paths to their solutions. During this time, please do discuss your ideas with friends and colleagues—you will do much better in the course, and at Tufts, if you find people with whom you regularly discuss problems. But those discussions should take place in English, not in code. If you start communicating in code, you’re violating academic integrity.

When you reach the coding stage, therefore, group discussions are no longer appropriate. Each program must be entirely your own work.

Similar guidelines apply to the final stage of the design recipe: your test cases. When you are figuring out how to test the solution to some problem, it is entirely helpful and appropriate to discuss testing with others. But when you start to write down your actual test cases, group discussions are no longer appropriate. Each test case must be entirely your own work.

I don’t want anyone to violate academic integrity through carelessness. To avoid a violation, please adhere to these guidelines:

The most heinous violation of academic integrity is plagiarism (submitting someone else’s work as your own). We may examine your work for potential plagiarism using automated heuristics.

If I or a member of my staff suspect a violation of academic integrity, we are required to report our suspicions to the University’s Judicial Officer, who will investigate and adjudicate the case. Be careful! As described in the handbook on academic integrity, the penalties for violation can be severe. A single bad decision made in a moment of weakness could lead to a permanent blot on your academic record. In particular, if you plagiarize, you may be suspended for a year or even expelled from Tufts.

What about the Internet (and the library)?

You may look in the library (including the Internet, etc.) for ideas on how to solve homework problems, just as you may discuss problems with your classmates. Library sources must be acknowledged when you submit your homework, even if you find little or nothing useful.

Some students rely heavily on the library. Although this is permitted within the letter of the rules, I discourage it. I assign homework problems not because I want to know the answers, but because doing homework is the best way for you to learn. While library skills are important in our profession, the homework in this course is designed to develop other skills that are even more important. Remember, when you go on job interviews, you will not have the library with you!


For help writing these policies, and sometimes for the very words themselves, I’m indebted to Matthias Felleisen, Carmen Lowe, Andrew Myers, and Olin Shivers.