Grading and Policies

Grade Calculations

Grades will be computed using the following weights.

  • 35% Homework
  • 15% Quizzes (3x5%)
  • 20% Midterm Exam
  • 30% Final Exam

Grades are assigned using the following standard ranges, after rounding.

≥ 93% = A 90–92% = A-
87–89% = B+ 83–86% = B 80–82% = B-
77–79% = C+ 73–76% = C 70–72% = C-
60–69% = D
≤ 59% = F

Overall grades will not be curved. However, scores on individual quizzes and exams may occasionally be adjusted upward by a constant factor for the entire class.

Quiz and Exam Policies

Quizzes and exams will be administered synchronously via Canvas. That is, you must be online during the scheduled class time on the day of the quiz/exam.

Exams will take up the entire class period.

Quizzes will take place during the last 50 minutes of the class period. Quizzes will be designed to take approximately 20-30 minutes, so you can sign off as soon as you’re done.

On quizzes and exams, you may use the following resources:

  • Notes that you have taken yourself throughout the class.
  • Course slides and example code posted to the course web page.
  • Programming tools used in the course, such as a text editor, GHCi, and/or SWI-Prolog.

On quizzes and exams, you may not use the following:

  • The internet, outside of Canvas for taking the quiz/exam (e.g. you may not search the web for answers).

  • Your classmates or any other person. Communication during quizzes and exams will be considered cheating.

I am strongly opposed to using spyware to enforce test-taking policies, so we will not be using any such software.

I have tried to make the policies as liberal as possible so that things that might seem like minor infractions in other classes (e.g. looking something up in the course slides) are perfectly acceptable in this class. Since all that’s left are relatively major infractions (using work that isn’t yours), I hope that students won’t be tempted to cheat.

If we do have reason to believe that cheating occurred, I am required to file an academic dishonesty report with the university and will do so.

Homework Policies

On homework, collaboration is strongly encouraged, provided you follow the policies described below.

Although homework is graded, its main role is to help you learn the course material, not evaluate your performance. Often the best learning happens through a combination of doing and discussing, so having teammates to discuss homework with is much more effective than working alone. It is also of course very helpful to have teammates to help work through a problem when you’re stuck. For these reasons, I strongly recommend working in a team on the homework assignments.

To ensure that every student gets the most out of the homework, you must follow the following rules when collaborating:

  • Teams of up to 3 students may submit a common homework solution. Include the name and ID number of all team members at the top of the file.

  • Teams should work on the assignment together, at the same time, not divide it up and then try to combine the results. Dividing up an assignment means that each student only learns from a subset of it, which defeats the purpose of the homework.

  • All team members must contribute significantly to the solution and will receive the same grade. A good practice is to rotate who is actually typing the solution into the file. This keeps everyone engaged and ensures that everyone has a chance in the drivers’ seat.

  • All team members must be able to explain any aspect of the solution. If you don’t understand something a teammate does or says, ask them to explain it to you! Teaching something is the best way to learn it, so asking questions of your teammates helps everyone learn more.

  • If you discuss homework with classmates or others who are not part of your team, you should follow the 30-minute rule: after the conversation, do something unrelated to the assignment that takes ~30 minutes (go for a walk, make and eat something tasty, watch a show) before returning to your solution. This ensures that you actually understand what you’re doing, not just offloading information from your short-term memory cache.

Adding the name of a student who has not contributed to a solution as described above will be regarded as cheating. Submitting a homework solution that you did not produce is also (obviously) cheating. All team members should be able to explain their homework contribution to a TA or the instructor, if asked.

Academic Dishonesty

I am required to file academic dishonesty reports with the university when I believe cheating has occurred, and I do so. Unfortunately, I’ve learned that many instructors do not regularly file such reports (instead giving students zeros and/or making them redo the work).

I get why instructors don’t typically file reports: filing academic dishonesty reports is a major hassle and time sink, and it’s not fun at all! However, I think they are are doing our students a disservice.

Besides being required by university policy, I believe that filing reports is the right thing to do for several reasons:

  • It is unfair to students who don’t cheat to be compared against students who do.

  • It is unfair to students who don’t cheat and bad for the university as a whole to have our degrees cheapened by students who make it through the program without really understanding the content.

  • It is unfair to students who do cheat to not do everything we can to correct this behavior as soon as possible so they can maximize the value of their education.

  • By not filing a report and foregoing the formal process, we deny students accused of cheating the opportunity to appeal the decision.

So, I file academic dishonesty reports. I’m sorry to make a big deal out of this, and I hope that it doesn’t come up at all this term, but I decided to explain this clearly at the outset since (1) students have been surprised in the past that I actually filed them, and (2) hopefully it saves me from actually having to do so.


Back to course home page