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, but not based on how quickly you learn it.
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 penalty free zone for the first few weeks.
+++
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 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.
+++
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.
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 to succeed in the course.
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.
(badgecounts)=
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
Review and practice badges are dated and you can only earn one of the two for each date. 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
(expinclass)=
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 answers or
\:idk:
count here) - reflecting on what you learned and asking a question at the end of class in your experience reflection
(expmakeup)=
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.
The tasks for these badges will be defined at the bottom of the notes for each class session, aggregated by type on the course website, and issues will be created for each badge in your KWL repo where you track your work.
You can earn review and practice badges by:
- completing the tasks
- submitting files to your KWL on a badge-specific 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
:class: checkin, dropdown
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.
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 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 of the course website.
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). If your proposal is too big, you will get advice to either cut it back or transform it to a build badge. If it is too small, you will get advice on how to flesh it out a little bit. 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.
You should create one PR per badge
Build badges are for when you have an idea of something you want to do. There are also some ideas on the build page.
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 complete 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 are awarded for extra community participation. Both programming and learning are most effective with good 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
on the course website repo.
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.
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
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 makes the most sense.
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 {fa}gift
. In this case, the instructor or TA will give a suggestion, with the {fa}gift
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".
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 {fa}`gift`, 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.
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.
(rp-status)=
These badges have 5 stages:
- posted: tasks are on the course website and issue 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
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 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.
Explore badges have 5 stages:
- 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.
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.
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.
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. You may use auto-complete in all tools and GitHub co-pilot for any code that is required for this course because the code is necessary to demonstrate examples, but language syntax is not the core learning outcome.
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 the badge in question will be ineligible and your maximum number of badges possible to be earned will be limited (you cannot treat the plagiarized badge as skipped).
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.