Grading#
This section of the syllabus describes the principles and mechanics of the grading for the course. The course is designed around your learning so the grading is based on you demonstrating how much you have learned.
Additionally, since we will be studying programming tools, we will use them to administer the course. To give you a chance to get used to the tools there will be a grade free zone for the first few weeks.
Each section be viewed at two levels of detail. You can toggle the tabs and then the whole page will be at the level of your choice as you scroll.
this will be short explanations; key points you should remember
this is the full policy, the details that you should use as a reference
Learning Outcomes#
The goal is for you to learn and the grading is designed to as close as possible actually align to how much you have learned.
You should be a more independent and efficient developer and better collaborator on code projects by the end of the semester.
The goal is for you to learn and the grading is designed to as close as possible actually align to how much you have learned. So, the first thing to keep in mind, always is the course learning outcomes:
By the end of the semester, students will be able to:
Apply common design patterns and abstractions to understand new code bases, programming tools, and components of systems.
Apply appropriate programming workflows using context-relevant tools that enable adherance to best practices for effective code, developer time efficiency, and collaboration.
Differentiate the different classes of tools used in computer science in terms of their features, roles, and how they interact and justify positions and preferences among popular tools
Identify how information flows across levels of abstraction.
Discuss implications of design choices across levels of abstraction
Describe the social context in which essential components of computing systems were developed and explain the impact of that context on the systems.
Differentiate between social conventions and technical requirements in programming contexts.
These are what I will be looking for evidence of to say that you met those or not.
Principles of Grading#
Learning happens with practice and feedback
I value learning not perfect performance or productivity
a C means you can follow a conversation about the material, but might need help to apply it
a B means you can also apply it in basic scenarios or if the problem is broken down
an A means you can also apply it in complex scenarios independently
please do not make me give you less than a C, but a D means you showed up basically, but you may or may not have actually retained much
The course is designed to focus on success and accumulating knowledge, not taking away points.
Learning happens through practice and feedback. My goal as a teacher is for you to learn. The grading in this course is designed to reflect how deeply you learn the material, even if it takes you multiple attempts to truly understand a topic. The topics in this course are all topics that will come back in later courses in the Computer Science major, so it is important that you understand each of them correctly so that it helps in the next course.
This course is designed to encourage you to work steadily at learning the material and demonstrating your new knowledge. There are no single points of failure, where you lose points that cannot be recovered. Also, you cannot cram anything one time and then forget it. The material will build and you have to demonstrate that you retained material. You will be required to demonstrate understanding of the connections between ides from different parts of the course.
Earning an A means that you can use knowledge from this course to debug tricky scenarios; you can know where to start and can form good hypotheses about why uncommon errors have occurred; you can confidently figure out new complex systems.
Earning a B means that you can apply the course concepts in other programming environments; you can solve basic common errors without looking much up.
Earning a C in this class means you have a general understanding; you will know what all the terms mean; you could follow along in a meeting where others were discussing systems concepts and use core tools for common tasks. You know where to start when looking things up.
Earning a D means you have seen all of the concepts; you might be able to follow along but probably have to look up basic tutorials
The course is designed for you to succeed at a complexity level of your choice, instead of grading being about taking points away. As you accumulate knowledge, the grading in this course is designed to be cumulative instead of based on deducting points and averaging. No matter what level of work you choose to engage in, you will be expected to revise work until it is correct. The material in this course will all come back in other 300 and 400 level CSC courses, so it is essential that you do not leave this course with misconceptions, as they will make it harder for you to learn related material later.
If you made an error in an assignment what do you need to do?
Read the suggestions and revise the work until it is correct.
Penalty-free Zone#
We will use developer tools to do everything in this class; in the long term this will benefit you, but it makes the first few weeks hard, so mistakes in the first few weeks cannot hurt your grade as long as you learn eventually.
Deadlines are extra flexible for 3 weeks while you figure things out.
Since learning developer tools is a core learning outcome of the course, we will also use them for all aspects of administering the course. This will help you learn these tools really well and create accountability for getting enough practice with core operations, but it also creates a high stakes situation: even submitting your work requires you understanding the tools. This would not be very fair at the beginning of the semester.
For the first three weeks we will have a low stakes penalty-free zone where we will provide extra help and reminders for how to get feedback on your work. In this period, deadlines are more flexible as well. If work is submitted incorrectly, we will still see it because we will manually go look for all activities. After this zone, we will assume you chose to skip something if we do not see it submitted.
During the third week, you will create a course plan where you establish your goals for the course and I make sure that you all understand the requirements to complete your goals.
What happens if you merged a PR without feedback?
During the Penalty-Free zone, we will help you figure that out and fix it so you get credit for it. After that, you have to fix it on your own (or in office hours) in order to get credit.
Important
If there are terms in the rest of this section that do not make sense while we are in the penalty-free zone, do not panic. This zone exists to help you get familiar with the terms needed.
What happens if you’re confused by the grading scheme right now?
Nothing to worry about, we will review it again in week three after you get a chance to build the right habits and learn vocabulary. There will also be a lab activity that helps us to be sure that you understand it at that time.
Learning Badges#
Different badges are different levels of complexity and map into different grades.
experience: like attendance
lab: show up & try
review: understand what was covered in class
practice: apply what was covered in class
explore: get a mid-level understanding of a topic of your choice
build: get a deep understanding of a topic of your choice
To pass:
22 experience badges
12 lab checkouts
Add 18 review for a C or 18 practice for a B.
For an A you can choose:
18 review + 3 build
18 pracitce + 6 explore
you can mix & match, but the above plans are the simplest way there
Your grade will be based on you choosing to work with the material at different levels and participating in the class community in different ways. Each form of engagment is tracked with a particular type of badge that you can earn as you accumulate evidence of your learning and engagment.
experience: guided in class activities, with reflection (similar to a participation grade)
lab: accountability to basics through 1:1 conversation with a member of the instructional team
review: understanding of what was taught in class
practice: apply what was taught in similar contexts
explore: posing your own directions of inquiry; demonstraing a general understanding
build: in depth application of course topics; applying and creating something with your new knowledge
Below are the recommended paths to different grade targets.
Important
These are minimum counts, you can see more details on how the final grade is calculated if you do not meet these cutoffs on the Detailed badge calculations page
To earn a D, complete:
22 experience badges
12 lab check outs
To earn a C, complete:
22 experience badges
12 lab check outs
18 review badges
To earn a B, complete:
22 experience badges
12 lab check outs
one of the following:
18 practice badges
12 review + 12 practice
For an A you must complete:
22 experience badges
12 lab check outs
one of the following:
18 practice badges + 6 explore badges
18 review badges + 3 build badges
6 review badges + 12 practice badges + 4 explore badges + 1 build badges
12 review badges + 6 practice badges+ 2 explore badges + 2 build badges
You can also mix and match to get +/-. For example (all examples below assume 22+ experience badges aand 13 lab checkouts)
A-: 18 practice + 4 explore
B+: 6 review + 12 practice + 4 explore
B-: 6 review + 12 practice
B+: 24 practice
C+: 12 review + 6 practice
Warning
These counts assume that the semester goes as planned and that there are 26 available badges of each base type (experience, review, practice). If the number of available badges decreases by more than 2 for any reason (eg snowdays, instructor illness, etc) the threshold for experience badges will be decreased.
All of these badges will be tracked through PRs in your kwl repo. Each PR must have a title that includes the badge type and associated date. We will use scripts over these to track your progress.
Important
There will be 20 review and practice badges available after the penalty free zone. This means that missing the review and practice badges in the penalty free zone cannot hurt you. However, it does not mean it is a good idea to not attempt them, not attempting them at all will make future badges harder, because reviewing early ideas are important for later ideas.
You cannot earn both practice and review badges for the same class session, but most practice badge requirements will include the review requirements plus some extra steps.
In the second half of the semester, there will be special integrative badge opportunities that have multipliers attached to them. These badges will count for more than one. For example an integrative 2x review badge counts as two review badges. These badges will be more complex than regular badges and therefore count more.
Can you do any combination of badges?
No, you cannot earn practice and review for the same date.
Experience Badges#
In class#
You earn an experience badge in class by:
preparing for class
following along with the activity (creating files, using git, etc)
responding to 80% of inclass questions (even incorrect,
\idk
,\dgt
)reflecting on what you learned
asking a question at the end of class
Makeup#
You can make up an experience badge by:
preparing for class
reading the posted notes
completing the activity from the notes
completeing an “experience report”
attaching evidence as indiated in notes OR attending office hours to show the evidence
Tip
On prismia questions, I will generally give a “Last chance to get an answer in” warning before I resume instruction. If you do not respond at all too many times, we will ask you to follow the makeup procedure instead of the In Class proccedure for your experience badge.
To be sure that your response rate is good, if you are paying attention, but do not have an answer you can use one of the following special commands in prismia:
\idk
: “I am paying attention, but do not know how to answer this”\dgt
: “I am paying attention, not really confused, but ran out of time trying to figure out the answer”
you can send these as plain text by pressing enter (not Mac) or return (on Mac) to send right away or have them render to emoji by pressing tab
An experience report is evidence you have completed the activity and reflection questions. The exact form will vary per class, if you are unsure, reach out ASAP to get instructions. These are evaluated only for completeness/ good faith effort. Revisions will generally not be required, but clarification and additional activity steps may be advised if your evidence suggests you may have missed a step.
Do you earn badges for prepare for class?
No, prepare for class tasks are folded into your experience badges.
What do you do when you miss class?
Read the notes, follow along, and produce and experience report or attend office hours.
What if I have no questions?
Learning to ask questions is important. Your questions can be clarifying (eg because you misunderstood something) or show that you understand what we covered well enough to think of hypothetical scenarios or options or what might come next. Basically, focused curiosity.
Lab Checkouts#
You earn credit for lab by attending and completing core tasks as defined in a lab issue posted to your repo each week. Work that needs to be correct through revisions will be left to a review or practice badge.
You will have to have a short meeting with a TA or intructor to get credit for each lab. In the lab instructions there will be a checklist that the TA or instructor will use to confirm you are on track. In these conversations, we will make sure that you know how to do key procedural tasks so that you are set up to continue working independently.
To make up a lab, complete the tasks from the lab issue on your own and attend office hours to complete the checkout.
Review and Practice Badges#
The tasks for these badges will be defined at the bottom of the notes for each class session and aggregated to badge-type specific pages on the left hand side fo the course website.
You can earn review and practice badges by:
creating an issue for the badge you plan to work on
completing the tasks
submitting files to your KWL on a new branch
creating a PR, linking the issue, and requesting a review
revising the PR until it is approved
merging the PR after it is approved
Where do you find assignments?
At the end of notes and on the separate pages in the activities section on the left hand side
You should create one PR per badge
The key difference between review and practice is the depth of the activity. Work submitted for review and practice badges will be assessed for correctness and completeness. Revisions will be common for these activities, because understanding correctly, without misconceptions, is important.
Important
Revisions are to help you improve your work and to get used to the process of making revisions. Even excellent work can be improved. The process of making revisions and taking good work to excellent or excellent to exceptional is a useful learning outcome. It will help you later to be really good at working through PR revisions; we will use the same process as code reviews in industry, even though most of it will not be code alone.
Explore Badges#
Explore badges require you to pose a question of your own that extends the topic. For inspiration, see the practice tasks and the questions after class.
Details and more ideas are on the explore page.
You can earn an explore badge by:
creating an issue proposing your idea (consider this ~15 min of work or less)
adjusting your idea until given the proceed label
completing your exploration
submitting it as a PR
making any requested changes
merging the PR after approval
For these, ideas will almost always be approved, the proposal is to make sure you have the right scope (not too big or too small). Work submitted for explore badges will be assessed for depth beyond practice badges and correctness. Revisions will be more common on the first few as you get used to them, but typically decraese as you learn what to expect.
Important
Revisions are to help you improve your work and to get used to the process of making revisions. Even excellent work can be improved. The process of making revisions and taking good work to excellent or excellent to exceptional is a useful learning outcome. It will help you later to be really good at working through PR revisions; we will use the same process as code reviews in industry, even though most of it will not be code alone.
You should create one PR per badge
Build Badges#
Build badges are for when you have an idea of something you want to do. There are also some ideas on the build page.
You can earn a build badge by:
creating an issue proposing your idea and iterating until it is given the “proceed” label
providing updates on your progress
completing the build
submitting a summary report as a PR linked to your proposal issue
making any requested changes
merging the PR after approval
You should create one PR per badge
For builds, since they’re bigger, you will propose intermediate milestones. Advice for improving your work will be provided at the milestones and revisions of the compelte build are uncommon. If you do not submit work for intermediate review, you may need to revise the complete build. The build proposal will assessed for relevance to the course and depth. The work will be assessed for completeness in comparison to the propsal and correctness. The summary report will be assessed only for completeness, revisions will only be requested for skipped or incomplete sections.
Community Badges#
These are like extra credit, they have very limited ability to make up for missed work, but can boost your grade if you are on track for a C or B.
Community badges are awarded for extra community participation. Both programming and learning are most effective in good healthy collaboration. Since being a good member of our class community helps you learn (and helps others learn better), some collaboration is required in other badges. Some dimensions of community participation can only be done once, for example fixing a typo on the course website, so while it’s valuable, all students cannot contribute to the course community in the same way. To reward these unique contributions, you can earn a community badge.
You can see some ideas as they arise by issues labeled community
.
Community badges can replace missed experience, review, and practice badges, upgrade a review to a practice badge, or they can be used as an alternate way to earn a + modifier on a D,C,or B (URI doesn’t award A+s, sorry). Community badges are smaller, so they are not 1:1 replacements for other badges. You can earn a maximum of 14 community badges, generally one per week. Extra helpful contributions may be awarded 2 community badges, but that does not increase your limit. When you earn them, you can plan how you will use it, but they will only be officially applied to your grade at the end of the semester. They will automatically be applied in the way that gives you the maximum benefit.
Community Badge values:
3 community = 1 experience badge
4 community = 1 review
7 community = 1 practice.
3 community badges + 1 review = 1 practice.
10 community = add a
+
to a D,C, or B, note that this is more impactful
You can earn community badges by:
fixing small issues on the course website (during penalty free zone only)
contributing extra terms or reviews to your team repo
sharing articles and discussing them in the course discussions
contributing annotated resources the course website
You will maintain a list of your contributions in your KWL repo in the community_contributions.md
file. Every individual change to this file (representing one contribution) should be commited to a new branch and then submitted as a PR, with a review requested from @brownsarahm.
Note
Some participation in your group repo and a small number of discussions will be required for experience, review, and practice badges. This means that not every single contribution or peer review to your team repo will earn a community badge.
Example(nonexhaustive) uses:
22 experience + 17 review + 11 community = C (replace 2 experience, 1 review)
24 experience + 17 review + 5 community = C (replace 1 review)
24 experience + 18 review + 10 community = C+ (modifier)
24 experience + 18 practice + 10 community = B+ (modifier)
23 experience + 18 practice + 13 community = B+ (modifier, replace 1 experience)
24 experience + 16 practice + 2 review + 10 community = B (upgrade 2 review)
24 experience + 10 review + 10 community + 6 practice + 3 explore + 2 build = A (replace 2 review)
24 experience + 14 review + 10 community + 4 practice + 3 explore + 2 build = A (upgrade 2 review to practice)
24 experience + 12 review + 14 community + 4 practice + 3 build =A (replace 2 practice)
These show that community badges can save you work at the end of the semester by reducing the number of practice badges or simplifying badges
Free corrections#
If you get a apply the changes to get credit.
All work must be correct and complete to earn credit. In general, this means that when your work is not correct, we will give you guiding questions and advice so that you can revise the work to be correct. Most of the time asking you questions is the best way to help you learn, but sometimes, especially for small things, showing you a correct example is the best way to help you learn.
Additionally, on rare occasions, a student can submit work that is incorrect or will have down-the-line consquences but does not demonstrate a misunderstanding. For example, in an experience badge, putting text below the #
line instead of replacing the hint within the < >
. Later, we will do things within the kwl repo that will rely on the title line being filled in, but it’s not a big revision where the student needs to rethink about what they submitted.
In these special occasions, good effort that is not technically correct may be rewarded with a . In this case, the instructor or TA will give a suggestion, with the emoji in the comment and leave a review as “comment” instead of “changes requested” or “approved”. If the student commits the suggestion to acknowledge that they read it, the instructor will then leave an approving review. Free corrections are only available when revisions are otherwise eligible. This means that they cannot extend a deadline and they are not available on the final grading that occurs after our scheduled “exam time”.
Important
These free corrections are used at the instructional team’s discretion and are not guaranteed.
This means that, for example, the first time you make a particular mistake, might get a , but the second time you will probably get a hint, and a third or fourth time might be a regular revision with a comment like see #XX and fix accordingly
where XX is a link to a previous badge.
IDEA
If the course response rate on the IDEA survey is about 75%, will be applicable to final grading. this includes the requirement of the student to reply
Ungrading Option#
You should try to follow the grading above; but sometimes weird things happen. I care that you learn.
If you can show you learned in some other way besides earning the badges above you may be able to get a higher grade than your badges otherwise indicate.
At the end of the semester, you have the option of submitting a final reflection that states what grade you think you deserve, and justifies it by summarizing what you have learned and providing evidence of that. Instructions for this option will be provided as we approach the end of the semester. The policy of no submitted content that was not generated by you still applies. If you take this option, you may be required to also take an oral exam by appointment to supplement the evidence provided in your reflection.
This option exists in recognition of the fact that grading schemes are not perfect and I am truly committed to your learning. If you think that the grading scheme described on this page is working out to you earning a different grade than you deserve and you can support that with strong evidence that you have learned, you can have the grade you deserve.
What do you think?
share your thoughts on this option in the discussions for the class and then log it for a community badge!