Grading
You will be graded on a number of standards—the exact number is yet to be determined but almost certainly more than ten and less than one hundred—where each standard represents mastery of some aspect of what we are learning this year, e.g. Writing basic function, Basic control constructs, etc.
You will receive a grade on a scale from 0-4 for each standard where the points indicate how well you have demonstrated you understand the underlying material.
Points | Meaning |
---|---|
4 | Exceeding standard |
3 | Meeting standard |
2 | Approaching standard |
1 | Beginning standard |
0 | Insufficient evidence |
In Infinite Campus there are currently two categories: “Standards” and “Assessments”. The items in “Standards” contain the grades that actually go into computing your semester grade; items in “Assessments” represent the parts of each assessment you have taken broken down by the different standards the assessment covered. Those grades are then folded into the corresponding item in the “Standards” category with the most recent grades weighted most heavily.
For instance, an assessment that asks you to write functions involving boolean expressions and then submit your code via a Github pull request will yield three new grades in Infinite Campus: one for the Writing basic functions standard part of the assessment, one for the Boolean expressions part, and one for Use of Github PRs. Those three grades will then be folded into your grade in the corresponding “Standards” items.
“Assessment” grades don’t change after they are given but “Standards” grades change throughout the semester to reflect your latest performance. That is why those items have a due date in Infinite Campus at the end of the semester.
Your course grade at any point will be determined by averaging the point scores on all the “Standards” we have covered and mapping that average to letter grades. However the mapping is more generous than the normal percentages would suggest.
Average on 4-point scale |
As a % | Letter grade |
---|---|---|
3.4 | 85% | A |
2.8 | 70% | B |
1.8 | 45% | C |
0.8 | 20% | D |
<0.8 | <20% | F |
Knowledge standards and assessments
In this grading system, assessments are truly that, an opportunity to assess how well you understand the material covered by a standard. They are just one way to provide evidence, both to me and to yourself, that you understand the material. If you do badly on an assessment that just means you don’t understand the material yet and you will have more opportunities to demonstrate that you have picked it up. A better performance on a later assessment or simply demonstrating understanding when you write code in our larger projects will raise your grade to whatever level of mastery you exhibit.
Habits of work standards
Some of the standards I will be grading are not about particular knowledge but about how you work. For instance, what do you do when you are stuck? Do you break the problem down into smaller parts and figure out how to tackle them in pieces? Just like learning the syntax of the programming language, learning these habits is also a process and I will be keeping track of how often you demonstrate them over the semester. The more frequently you exhibit the habits, the higher your score will be on those standards.
Questions you might have
Q. How do assessments affect my grade?
Assessments will test your understanding of material covered by one or more of the grading standards. For instance, an assessment that asks you to write functions involving numeric expressions would provide evidence of how well you understand both the basics of writing functions and using numeric expressions.
How well you do on the different part of the assessment will be incorporated into your grade on the relevant standards with more recent information being weighted more heavily than older information.
Q. What else affects my grade?
You can also provide evidence of understanding different material in ways other than taking assessments. The main one is by writing code—particularly on larger projects—that demonstrates your understanding. For instance, if you write your code that demonstrates you know how to write functions, I will adjust your grade on the Writing basic functions standard to reflect that, regardless of how you have done on any assessment.
Q. Can my grade on a standard go down?
It is possible. For instance, if you achieved a high score on an early assessment via cramming but didn’t really lock in your understanding of the material, your later work might show that and I would lower your grade on that standard until you could demonstrate that you had mastered the material. However almost everything we learn will build on what we’ve learned before so you will naturally have to use and review earlier material, so in practice grades should rarely go down.
Q. How can I improve my course grade?
You can always improve your grade (unless you have 4s on all the standards!) by doing work that demonstrates an improved understanding of the material for any standard or by exhibiting the behaviors assessed by the habits of work standards. I will point out when a particular assignment or project provides opportunities to demonstrate understanding of particular standards.
Q. Okay, but what about extra credit?
Since your grades are based on your understanding and habits, and since you can almost always improve your score on any standard, there isn’t really such a thing as extra credit.
However, the one habit that I care about more than anything else is an inquisitive attitude about trying things in your programs, figuring out how things work, and generally pushing beyond your comfort zone. The best way to show that you really want to excel in this class is to frequently demonstrate that habit.
I will happily answer any questions that come up and can always suggest things for you to try, but learning to program is about learning to learn: whatever specific language or technology you learn today will likely be out of date in a few years but if you have learned to learn you will easily be able to pick up the next thing.