Grading Scheme

By default we will use the following standard scale:

These cutoffs may be lowered if need be, but they will never be raised. Your grade will be rounded to the nearest integer percentage when we compute your grade.

Below we describe all of the components that we will use to calculate your score. You may notice that the percentages add up to 110%, which is more than 100%. This is because different people learn in different ways, and different people succeed at different forms of evaluation. By structuring the class like this, you will have some leeway, and with enough effort you can earn a high grade without having to be perfect on every component of the course.

Note: The best way to think about this is that you have 110 chances to get 100 points. This grading scheme does NOT mean that you get 10 "free" percentage points. It means you get 10 "free" opportunities to earn percentage points. If you have any questions about how to calculate the grade, you should email me for clarification.

Reading Quizzes (20%)

This will not be a traditional lecture class - instead it will be a flipped class. This means that class will not be solely focused me lecturing material to you. Instead, before every week (except the first one) you will have assigned reading, and you will be expected to complete a Canvas quiz on the reading. When you come to class, I will still spend some time lecturing on the material, and then spend some time solving practice problems to solidify your understanding. By completing a reading quiz ahead of time, you will be prepared to go through the introductory material more efficiently, which will allow us to focus more time on problem solving. You will have to work hard in preparation for lectures, but the payoff is that reading the material on your own and solving problems in class are a more active form of learning than you listening to me talk.

Reading quizzes do not have a time limit, and you may attempt them as many times as you like. We will take your highest score, so you can re-take the quiz until you get 100%. You may refer to the readings while you take the quiz, and you may also search for and refer to other resources if you find another resource that presents the material in a way that's better for you..Reading Quizzes can be found on Canvas, and they are due by Monday evening before week's first lecture.

In-Class Participation (10%)

In addition to traditional lecturing, our class times will be focused on problem solving. To measure in-class participation, we will be using Top Hat questions. You should create an account on Top Hat using the same credentials that you use for Canvas and all other Pitt single sign-on tools. During class you may log onto Top Hat using any device you wish to answer multiple choice questions. It does not matter if your answer is correct or not - we are only grading for participation. Your participation score will be based on the percentage of Top Hat questions that you answer.

We understand that circumstances will come up, and you may not be able to make it to every second of class. Thus, if you answer at least 80% of the Top Hat questions, you will get the full 20% of participation points. If you answer less than 80% of the Top Hat questions, you will get an extra 20% added to your score - so for example, if you answered 70% of the Top Hat questions, your Top Hat score would be augmented to 90%, and you would get 9% for your participation score.

I do not schedule Top Hat make-up sessions, for the simple reason that it would be a logistical nightmare to try to schedule different make-up sessions for all of the different students who had to miss lectures (or parts of lectures). If you miss a lecture, don't stress, and remind yourself that you have quite a bit of leeway to miss some Top Hat questions without incurring a significant penalty to your participation grade.

If you can't attend lectures synchronously due to a recurring conflict (i.e. time-zone difference, a job, another course, etc.), let me know. I am happy to excuse the in-class participation component of your grade. Note that in this scenario, the other course components will carry higher weights in your grade calculation. I realize that this may not be ideal, but unfortunately I don't know of a better solution, since it's not feasible for me to hold make-up lectures. I am open to suggestions.

Skills Labs (20%)

Most weeks you will complete a skills lab in which you complete short problems that reinforce the concepts you leaarned in the previous week. Skills labs will use the Stepik platform. Each lab is broken into "steps" that describe a problem and then ask you to write a short piece of code. You will write your code in a text box in the browser, hit submit, and then we will run your code behind the scenes to check if it runs correctly. Stepik is a clould-based platform, so you can access it on any device with internet access - I have even seen students complete the problems using their phones. It will also save your work. All of the skills labs can be found here.

The weekly recitations will be dedicated towards helping you complete the skills labs. The UTAs will explain what you need to do on each problem, give you hints for how to solve them, and initiate discussion and collaboration between students. This is BY FAR the best space for you to get help on skills labs. In order to encourage recitation participation and attendance, I will not be posting recordings of the recitations.

Note: In order to complete the skills labs you need to sign up for an account on Stepik. When you sign up for an account, please please please please PLEASE sign up using a name that matches your Canvas name. This means that you should use your full name (not just youor first name), and you should use the name that is listed on Canvas (even if you typically go by a different name in reaal life). This makes it exponentially easier for the grader to input grades without errors. To input skills labs grades, the grader will download a spreadsheet from Stepik. If you sign up using a different name from what's listed on Canvas, the grader won't find your name in the spreadsheet, you'll get a 0, and it will be very confusing and frustrating for you to sort it all out with the grader.

Programming Assignments (40%)

During this course you will complete ten programming assignments in which you will apply the skills and concepts that you learned about and practiced in the readings, lectures, and skills labs. Assignment 0 will simply involve writing a program to print out that you affirm and agree to the academic integrity policy (more on that below). Assignments 1-4 will involve writing code to run simulations of the famous Monty Hall problem. Assignment 5-9 will involve writing code to allow a user to interactively solve a sudoku puzzle. Each assignment use the new skills you learn each week to build up your project brick by brick. Each part of the project will build on the previous one. That said, if you can't complete one part of the project, don't fret - we will post solutions that you can use for the subsequent parts of the project. You can find the programming assignment writeups and starter code on Canvas or here on the course website. Programming assignments will usually be due on Sunday evenings.

Final Exam (20%)

We need some way to evaluate how well you yourself can understand the course material without the help of your peers and/or the instructional staff. That said, I do not believe in timed exams. Instead, we will administer a take-home examination. The exam will be administered through Stepik. It will have 10 questions - each question will correspond to one of the skills labs. It will be an open-book exam, with the restriction that you may ask the instructional staff for help, collaborate with your peers or search the internet for solutions. You will be able to attempt the questions as many times as you want until you get the right answer - just like you would if you were coding in real life. I am trusting all of you to complete the exam with integrity.

Note that you don't need to get 100% final exam to get an A in the course. For reference, if you got all of the other points in the course then you could get an A- without touching the final exam, and you would need to answer just 20% of the final exam questions right bump up to an A. You can play around with other potential numbers, and I think you'll be pleasantly surprised at what final exam score you need in order to get a certain grade. And actually it could be even lower than that...

Extra Credit (~2%)

I always ask my students to give me feedback around halfway through my courses, and I will give you a full 1% extra credit boost if you fill out the feedback survey. The survey is always completely anonymous to incentivize the most candid feedback possible

Additionally, as you might know, Pitt administers OMET surveys at the end of the semester so that the department can evaluate the professors. I will give extra credit on the following basis: if at least 80% of the class fills out the OMET surveys, then everyone (including the people who didn't fill it out) gets 1% of extra credit. But if even 79.9% of the class fills it out then nobody gets any extra credit.

If anything else comes up that merits extra credit then I will potentially offer more.

Academic Integrity

We want you to succeed in this course, but we also want you to succeed with integrity. We want to make sure that you actually learn the material, so that the impact of the course doesn't disappear once the quarter ends. We also want to make sure that every student has a fair chance to succeed, and isn't being taken advantage of by his or her peers. You worked very hard to get into a prestigious school like Pitt, and without enforcing academic integrity that very prestige would quickly crumble. Finally, it would be cartoonishly malicious and cynical to take advantage of the Covid pandemic to circumvent normal academic integrity violations. I can assure you that any grade increase that you receive in this class due to cheating will not benefit you nearly enough to offset the guilt of knowing that you tried to use a global pandemic for grade profiteering.

In this course we expect students to adhere to the University of Pittsburgh of Scholarship Policy. This means that you will complete your work honestly, with integrity, and support and environment of integrity within the class. Here are few examples of what is considered as reasonable and unreasonable collaboration.


Unreasonable For your first programming assignment, you will write a program acknowledging that you understand and agree to abide by the academic integrity policy. In order to do this, you will submit a programming assignment. You will submit a computer program that prints out the following:

I, [INSERT NAME], agree to the academic integrity policy

This will signal to us that you agree to study and excel with integrity. It will also give you the chance to make sure you know how to write, compile, and run a java program (which you will need to do for all of the programming assignments). The TA will go over how to do this in the first recitation.

Late Policy

Late Penalty

I will accept late work; however, I will impose a late penalty of 0.5% for each hour that an assignment is late. This means that if an assignment is a full day late, you will lose 24 * 0.5% = 12%. Note that canvas rounds up to the next hour, so if you are just 5 minutes late, this will be rounded up to 1 hour and you will still lose 0.5%. This late penalty applies to all assigned work. There is, however, a way to avoid late penalties...

Late Tokens

I understand that circumstances come up - family or medical situations, tough work in other classes, extracurricular commitments, your social life, etc. For this class, you have three (3) late tokens. A late token grants you the ability to turn in an assignment 24 hours late without incurring any penalties. You may use late tokens on any assignment, and you may use multiple tokens on the same assignment. Late tokens are cannot be transferred from one student to another. Late tokens cannot be split into fractional tokens. When you want to use a late token, email the instructor and tell him which assignment you want to use a late token on (and how many tokens you want to use).

Extenuating Circumstances

If you have a family or a medical emergency (including a mental health emergency), I can grant you an extension without using a late token. In most circumstances, however, I will probably ask you to simply use a late token or take the late penalty. I reserve the right to request some sort of doctors or parent's note should you make such a request.

Grade Appeals

Grades can be appealed up to two weeks after they have been posted; no appeals will be considered after that time. Please note that the entire assignment will be regraded upon appeal.

Audio/Video Recordings

To ensure the free and open discussion of ideas, students may not record classroom lectures, discussion and/or activities without the advance written permission of the instructor, and any such recording properly approved in advance can be used solely for the student's own private use.

Copyrighted Materials

All material provided through course websites is subject to copyright. This applies to class/recitation notes, slides, assignments, solutions, project descriptions, etc. You are allowed (and expected!) to use all of the provided material for personal use. However, you are strictly prohibited from sharing the material with others in general and from posting the material on the web or other file sharing venues in particular.

Religious Observances

In order to accommodate the observance of religious holidays, students should inform the instructor (by email, within the first two weeks of the term) of any such days which conflict with scheduled class activities.

Students with Disabilities

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services (DRS), 140 William Pitt Union, (412) 648-7890,, (412) 228-5347 for P# ASL users, as early as possible in the term. DRS will verify your disability and determine whether reasonable accommodation(s) for this course are warranted. It is the responsibility of any student seeking accommodation(s) for this course to present any necessary documentation to the instructor by the start of the term.

Covid Statement

At Pitt, we are committed to providing instruction in the safest and most responsible manner possible. This includes increasing support for remote instruction and taking precautions to minimize the need for medium and large gatherings. Please check out for more information on the steps that Pitt is taking to mitigate the effects of the pandeminc.

For this particular class, here are some of the policies that I will enforce: