Skip to content

Commit 90c93c9

Browse files
zelenskiCS107E BOT
authored andcommitted
Extensions now counted in credits, gives more flexibility in grading, full system also expressed as credits
commit b66a6d539e4d440eb7fea23cf318a9072b3d7b80 Author: Julie Zelenski <[email protected]> Date: Thu Jan 2 15:08:13 2025 -0800 Extensions now counted in credits, gives more flexibility in grading, full system also expressed as credits
1 parent f723759 commit 90c93c9

File tree

2 files changed

+52
-52
lines changed

2 files changed

+52
-52
lines changed

website/assignments.md

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Students in previous quarters report spending between 10 and 20 hours completing
1919
The assignments build on each other,
2020
and it is difficult to recover from skipping an assignment.
2121
The last assignment is a final project,
22-
and you will have two weeks to do the project.
22+
and you will have 2-3 weeks to do the project.
2323
The final project is more open-ended than the assignments.
2424
Most students will spend more than 20 hours on their final project.
2525

@@ -42,7 +42,7 @@ you submit by creating a pull-request. Consult [Assignment 0](/assignments/assig
4242

4343
### What is the policy on late assignments?
4444

45-
In Winter Quarter 2024, assignments will be due weekly Tuesday 5pm. On-time submission is awarded a small bonus that boosts course grade. After the deadline is a 2-day grace period that allows late submission with no penalty. All submissions are expected by end of the grace period. Read our [course late policy](/policies/#late-policy)
45+
Assignments will be due weekly Tuesday 5pm. On-time submissions are awarded a small reward that boosts course grade. After the deadline is a 2-day grace period that allows late submission with no penalty. All submissions are expected by end of the grace period. Read our [course late policy](/policies/#late-policy)
4646
for specifics.
4747

4848
### What is the assignment collaboration policy?
@@ -53,14 +53,14 @@ Code policies, and offer specific examples of its application to CS107E
5353
coursework in our [course collaboration
5454
policy](/policies/#collaboration-policy).
5555

56-
The final project is usually done in teams of 2 or 3. If working in a team, all partners are expected to contribute equally to the effort.
56+
The final project is usually done in teams of 2, and sometimes 3. All team members are expected to contribute equally to the effort.
5757

5858
### How are assignments structured?
5959
Each assignment writeup has a required basic part and various optional extensions.
6060

6161
The __core features__ are required of all students. The work follows directly from the material covered in lecture and lab. It has a tight specification to which your submission is expected to match. We provide suggested steps to guide you through completing the core part.
6262

63-
The __extensions__ are optional add-ons that allow you to explore further and earn additional points. These are not required, but it is highly encouraged that you attempt some of the extensions. Extensions are given with a looser specification and much less guidance than the core features. If tackling an extension, you will need to research advanced material on your own and apply your creativity in problem-solving.
63+
The __extensions__ are optional add-ons that allow you to go deeper, implement extended features, and apply your creativity. These extended features earn bonus credits. Extensions are not required but everyone is highly encouraged to attempt some of these explorations. The extensions are given with a looser specification and much less guidance than the core features. If tackling an extension, you will need to research advanced material on your own and apply your creativity in problem-solving.
6464

6565
In assignments 2 through 7, you will build up a library of useful utilities for bare metal programming on the Pi. These assignments build on one another. To complete assignment 5, say, you will need working versions of assignments 2 through 4.
6666

@@ -72,38 +72,30 @@ The last assignment requires you to use code from
7272
many of the previous assignments.
7373
To encourage you to complete all assignments and resubmit to fix your bugs,
7474
if you submit the last assignment using only your own code,
75-
we will award you additional bonus points for building a complete working system.
75+
we award you additional bonus credits for building a complete working system.
7676

7777
<a name="grading"></a>
78-
### How are assignments graded?
78+
### How are assignments graded? What kind of feedback will I get on my work?
7979

80-
We evaluate your assignments through these three lenses:
80+
We evaluate your assignments through these lenses:
8181
1. __Functionality__ (_does it pass the QA tests?_)
82-
2. __Code quality__ (_does my code achieve my team/tech lead's standards?_)
82+
2. __Quality/style__ (_does my code achieve my team/tech lead's standards?_)
8383
3. __Timeliness__ (_did I meet the program manager's schedule?_)
8484

85-
We test __functionality__ by exercising your code against our grading tests. For each bug or test failure, we file a GitHub issue to report the problem. An issue is categorized with its priority, Priority 1 being the most important and decreasing from there. Priority 1 "Essential" tests exercise core functionality that is critical to the system's operation. Your system won't be fully usable until these high priority issues are addressed. Priority 2 "Comprehensive" tests thoroughly exercise the full range of functionality including lesser-traveled features. A Priority 3 "Just Mention" would be used for small concerns as a misbehavior in an obscure edge case or minor issue of polish.
85+
We test __functionality__ by running a set of automated and manual grading tests. If we find a test failure, we post a GitHub issue for the problem. An issue is categorized with its priority, Priority 1 being the most important and decreasing from there. The option to revise and resubmit is available for all GitHub issues, with special emphasis on fixing those of higher priority.
86+
- P1: "Essential" tests exercise core functionality that is critical to the system's operation. Your system won't be fully usable until these high priority issues are addressed.
87+
- P2: "Comprehensive" tests thoroughly exercise the full range of functionality including lesser-traveled features.
88+
- P3: "Just Mention" are used for small concerns as a misbehavior in an obscure edge case or minor issue of polish.
8689

87-
For full credit on the core functionality, you must have passing results on all of the Priority 1 tests. You are encouraged to revise and resubmit in order to address any Priority 1 issues. Lower priority bugs can be addressed at your discretion. A higher percentage of passed tests boosts your assignment grade.
90+
We want to help you learn how to write __high-quality__ code that will be eagerly welcomed into your team's repository-- code that it is not only functionally correct, but also thoughtfully designed and written to be readable and maintainable. Whether you have a strong established sense of style or are still finding your way, we hope all of you aspire to level up the quality of your code this quarter and we are eager to support you on this journey! Each assignment has a follow-up "style reflection"; this guided activity is for you to review your code and its design choices and build awareness of how you can continue to improve. We have lots of experience reading, writing, and reviewing code and would love to help you further develop and refine your "coding voice".
8891

89-
For __code quality__, the grader will read your code from the role of a team manager giving feedback before accepting the code into the team's repository. We are expecting clear code that is readable, well-designed, and commented appropriately. Good code is decomposed into small, clear, well-named functions so that
90-
no code is repeated and it is easy to follow the intent of each function.
92+
Managing your time so as to make a solid submission on schedule is a valuable skill to cultivate; we encourage and support your achievements in __timeliness__ by rewarding your on-time submissions as well as timely followup to resolve any outstanding issues.
9193

92-
We evaluate code quality using a bucket system. Code that needs
93-
improvement falls in the `-` bucket, code that meets our expectations is in the
94-
`ok` bucket, and exceptional code falls in the `+` bucket.
95-
We will also provide comments on your code to help you improve your code quality.
96-
Please incorporate our feedback into future assignments;
97-
it will improve your grade and more importantly your coding style.
98-
99-
Effectively managing your time to hit deadlines with working code is an accomplishment that we reward in the __timeliness__ category. Your timeliness score is boosted by making your submissions pass tests on-time (or within the grace period).
100-
101-
For details on overall course grades, see our [course grading policy](/policies/#grading-policy).
94+
For information on course grades, see our [course grading policy](/policies/#grading-policy).
10295

10396
## What is the revise and resubmit policy?
104-
Many of the assignments in this course build upon each other. It is a good idea, both for your learning and your grade, to revise and resubmit old assignments after seeing what tests they fail.
105-
106-
For a failed test case on core functionality, we will file a GitHub issue to report the bug. You are encouraged to review your issues and rework your code to fix the underlying bug(s). When you submit the revised code, we will run the tests again and update to show the now-passed results.
97+
Many of the assignments in this course build upon each other. It is a good idea, both for your learning and your grade, to revise and resubmit previous work after seeing which tests they fail.
10798

108-
The final opportunity for assignment revise and resubmit will be with the submission for Assignment 7. (Hint: don't wait til last minute -- much better to get those bug fixes in early rather than build up a big backlog!)
99+
For a failed test case on core functionality, we will file a GitHub issue to report the bug. You are encouraged to review your issues and rework your code to fix the underlying bug(s). When you submit the revised code, we will run the tests again and close issues for those test cases that are now passing.
109100

101+
The final opportunity for revise and resubmit will be with your submission for Assignment 7. __Pro tip__: rather than put off working on bug fixes til the very end, better to work on them as time allows. Early resolution is a boost for your timeliness and avoids you facing a big backlog to work through under time crunch -- win-win!

website/policies.md

Lines changed: 34 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,47 @@ toc: true
55
---
66

77

8-
## Grading Policy
9-
Your course grade comes from your efforts in lab, assignments, and the final project.
108

11-
+ __Labs__ meet weekly, your attendance and participation is mandatory.
12-
+ There are 7 weekly __assignments__. The assignment specification identifies the core features which are required, along with optional extensions where you can go above and beyond.
13-
+ The course culminates with a final __project__ where you design and implement a system of your choosing.
9+
## Course Grades
1410

11+
The coursework consists of 7 weekly assignments and a final project. There are no exams. Your achievement of the course learning goals is assessed via:
12+
13+
+ Assignment deliverables
14+
- Core functionality is "feature-complete"
15+
- Timeliness in meeting schedule
16+
- Earn bonus credits for optional extension tasks
17+
+ Project deliverables
18+
- Creative final project that is well-executed and shows proficiency with course material
19+
+ Engagement
20+
- We welcome and recognize your contributions of E-P-A:
21+
- Effort: growth mindset, willingness to challenge yourself, dedication to learning, continued improvement
22+
- Participation: active involvement in lab, lecture, and forum
23+
- Altruism: learning together, asking and answering questions, collaborating in lab, celebrating and supporting one another
24+
- Together we can build a vibrant and interactive learning community where all can thrive!
1525

1626
If you have your sights set on earning an __A__ course grade, you will need consistently __outstanding__ work:
17-
+ Attend and participate in all labs.
18-
+ Assignments ([how assignments are graded](/assignments#grading))
19-
- Core functionality is complete/correct:
20-
- Passing all Priority 1 and Priority 2 tests for all assignments (revise and resubmit ok).
21-
- Consistent good timeliness (on-time submissions, majority of core functionality passing in original submission, swift resolution of outstanding issues)
22-
- Code quality (style and tests) trending to `+`.
23-
- 3 or more assignment extensions successfully completed.
24-
- Earn the full system bonus for using all your own code on the last assignment.
25-
+ Outstanding final project, excellent execution.
26-
27-
For a __B__ course grade, we expect consistently __solid__ work:
28-
+ Attend and participate in all labs.
29-
+ Assignments
30-
- Core functionality is mostly complete/correct:
31-
- Passing all Priority 1 tests for all assignments (revise and resubmit ok).
32-
- Ok timeliness (within grace period, all Priority 1 issues eventually resolved by Assignment 7)
33-
- Code quality (style and tests) trending to `ok`.
34-
- One extension attempted or full system bonus earned.
35-
+ Good final project, satisfactory execution.
27+
+ Assignment deliverables
28+
- Core functionality is complete and correct (resolve all P1 and P2 issues, revise and resubmit ok)
29+
- Consistently good timeliness (submit on-time, swift resolution of outstanding issues)
30+
- Earn 15 or more bonus credits (2-4 per assignment extension, full system = 6)
31+
- Full system award if assign7 console is "ready to ship" and uses only your code -- big achievement!
32+
+ Project deliverables
33+
- Outstanding project (demonstrates mastery of course topics, excellent execution)
34+
+ Engagement
35+
- Active and involved throughout (all labs, thoughtful completion of all style reflections, strong E-P-A contributions)
36+
37+
For a __B__ course grade, we expect __solid__ work throughout:
38+
+ Assignment deliverables
39+
- Core functionality is complete and correct (resolve all P1 issues)
40+
- Ok on timeliness (submit within grace, P1 issues resolved by Assign 7)
41+
- Candidate for full system bonus
42+
+ Project deliverables
43+
- Good project (shows skill on course topics, satisfactory execution)
44+
+ Engagement
45+
- Good (all labs, some style reflections, positive E-P-A)
3646

3747
Work that is not completed satisfactorily will earn grades **C and below**.
3848

39-
**NOTE:** Hitting the above metrics is guaranteed to land a course grade in A range or B range respectively. However, there are also other means to demonstrate success and mastery of the course learning goals and achieve noteworthy outcomes – the course staff may decide on areas of flexibility to apply to all students at the end of the quarter. We see your accomplishments and want to reward you!
40-
4149
## Late Policy
4250

4351
The course moves at a steady clip and the weekly assignments build on one other. In our experience, one of the strongest factors in student success has been the dedication to stay on pace. Learning to set a schedule and manage your time to hit deadlines is a valuable skill to develop and an accomplishment you can be proud of. We designed our policy to encourage and reward good habits, but knowing that things come up, we have a standing grace period that provides a little flexibility if you need it.

0 commit comments

Comments
 (0)