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.

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. 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:

  1. Apply common design patterns and abstractions to understand new code bases, programming tools, and components of systems.

  2. Apply appropriate programming workflows using context-relevant tools that enable adherance to best practices for effective code, developer time efficiency, and collaboration.

  3. 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

  4. Identify how information flows across levels of abstraction.

  5. Discuss implications of design choices across levels of abstraction

  6. Describe the social context in which essential components of computing systems were developed and explain the impact of that context on the systems.

  7. 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 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.

The course is designed for you to succeed at a level of your choice. 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.

Penalty-free Zone#

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.

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.

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.

Learning Badges#

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

  • lab: accountability to basics through 1:1 conversation with a member of the instructional team

  • review: just the basics

  • practice: a little bit more indepdendent

  • explore: posing your own directions of inquiry

  • build: in depth application of course topics

Below are the recommended paths to different grade targets.

To earn a D, complete:

  • 22 experience badges

  • 13 lab check outs

To earn a C, complete:

  • 22 experience badges

  • 13 lab check outs

  • 18 review badges

To earn a B, complete:

  • 22 experience badges

  • 13 lab check outs

  • one of the following:

    • 18 practice badges

    • 12 review + 12 practice

For an A you must complete:

  • 22 experience badges

  • 13 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.

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.

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

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#

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#

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 same mistake the first time, might get a , a second will probably be a hint, and a third or fourth time might be a regular revision where we ask you to go review prior assignments to figure out what you need to fix with a broad hint instead of the specific suggestion

Ungrading Option#

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.