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 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 B means that you can apply the course concepts in other programming environments; you can solve basic common errors without looking much up.

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

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.

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 of these represents different types of badges that you can earn as you accumulate evidence of your learning and engagment.

  • experience: guided in class acitivies

  • review: just the basics

  • practice: a little bit more indepdendent

  • explore: posing your own directions of inquiry

  • build: in depth- application of course topics

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.

To earn a D you must complete:

  • 22 experience badges

  • 13 lab check outs

To earn a C you must complete:

  • 22 experience badges

  • 13 lab check outs

  • 18 review badges

To earn a B you must complete:

  • 22 experience badges

  • 13 lab check outs

  • your choice:

    • 18 practice badges

    • 12 review + 12 practice

For an A you must complete:

  • 22 experience badges

  • 13 lab check outs

  • your choice:

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

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 or `:idk:``)

  • 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

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.

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

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

Deadlines#

There will be fixed feedback hours each week, if your work is submitted by the start of that time it will get feedback. If not, it will go to the next feedback hours.

We do not have a final exam, but URI assigns an exam time for every class. The date of that assigned exam will be the final due date for all work including all revisions.

Experience badges#

Prepare for class tasks must be done before class so that you are prepared. Missing a prepare task could require you to do an experience report to make up what you were not able to do in class.

If you miss class, the experience report should be at least attempted/drafted (though you may not get feedback/confirmation) before the next class that you attend. This is strict, not as punishment, but to ensure that you are able to participate in the next class that you attend. Skipping the experience report for a missed class, may result in needing to do an experience report for the next class you attend to make up what you were not able to complete due to the missing class activities.

If you miss multiple classes, create a catch-up plan to get back on track by contacting Dr. Brown.

Review and Practice Badges#

These badges have 5 stages:

  • posted: tasks are on the course website

  • planned: an issue is created

  • started: one task is attempted and a draft PR is open

  • completed: all tasks are attempted PR is ready for review, and a review is requested

  • earned: PR is approved (by instructor or a TA) and work is merged

Tip

these badges should be started before the next class. This will set you up to make the most out of each class session. However, only prepare for class tasks have to be done immediately.

These badges badges must be started within one week of when the are posted (2pm) and completed within two weeks. A task is attempted when you have answered the questions or submitted evidence of doing an activity or asked a sincere clarifying question.

If a badge is planned, but not started within one week it will become expired and ineligble to be earned. You may request extensions to complete a badge by updating the PR message, these will typically be granted. Extensions for starting badges will only be granted in exceptional circumstances.

Expired badges will receive a comment and be closed

Once you have a good-faith attempt at a complete badge, you have until the end of the semester to finish the revisions in order to earn the badge.

Tip

Try to complete revisions quickly, it will be easier for you

Explore Badges#

Explore badges have 5stages:

  • proposed: issue created

  • in progress: issue is labeled “proceed” by the instructor

  • complete: work is complete, PR created, review requested

  • revision: “request changes” review was given

  • earned: PR approved

Explore badges are feedback-limited. You will not get feedback on subsequent explore badge proposals until you earn the first one. Once you have one earned, then you can have up to two in progress and two in revision at any given time.

Build Badges#

You may earn at most one build badge per month, with final grading in December. To earn three build badges, you must earn the first one by the end of October.

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.

Academic Honesty Violation Penalty#

All of your work must reflect your own thinking and understanding. The work that you submit must all be your own work or content that was provided to you in class, it cannot include text that was generated by an AI or plagiarized in any other way.

If you are found to submit prismia responses that do not reflect your own thinking or that of discussion with peers as directed, the experience badge for that class session will be ineligible.

If work is suspected, you will be allowed to take an oral exam in lab time to contest and prove that your work reflects your own understanding.

The first time you will be allowed to appeal through an oral exam. If your appeal is successful, your counter resets. If you are found to have violated the policy then no further work will be graded for the remainder of the semester

If you are found to submit work that is not your own for a review or prepare badge, the review and prepare badges for that date will be ineligible and the penalty free zone terms will no longer apply to the first six badges.

If you are found to submit work that is not your own for an explore or build badge, that badge will not be awarded and your maximum badges at the level possible will drop to 2/3 of the maximum possible.