程序代写案例-CS 242

2021/9/23 Grading Policy - CS 242 - Illinois Wiki
https://wiki.illinois.edu/wiki/display/cs242/Grading+Policy 1/5
由 Cheng, Ti-Chung创建, 最终由 Liu, Miranda修改
于 八月 23, 2021
Grading Policy
Part 1. Grading Policy
The motivation for this Grading Method:
The motivation is to re-emphasize the core of CS242 -- writing good and clean code. The question is, how do we design a rubric that encourages students to write clean code?
We have considered the following:
1. The code you write should be clean and testable. (In industry, people choose to delay functionality deployment over excellent and testable code.)
2. We are assessing the quality of your code based on the functions that you completed.
3. We don't want to add extra workload compared to the current setting, and we know you have other classes.
Term Definition
Each assignment is developed into 5 Sections:
[Basic Requirements]
These requirements include everything from basic preparation, code submission to the in-class presentation. They will be very similar for each assignment. They add up to 25
pts. Please see the rubric template below for a detailed description of this category.
[Functional Requirements]
These requirements are functions to be implemented for the assignment. They are explicitly listed on each assignment. The add up to 15 pts.
[Testing Requirements]
These involve testing requirements listed on the assignment. They usually add up to 10 pts.
[Bonus]
Bonus points earned for the assignment. Involves two types of bonuses:
Functional Bonus: Rewarded for the completion of over 75% of functional code
Bonus: Bonus indicated by the assignment
[Admin]
These reflect specific policies listed on the course policy page.
Basic Requirements Rubric
页面 / Home
2021/9/23 Grading Policy - CS 242 - Illinois Wiki
https://wiki.illinois.edu/wiki/display/cs242/Grading+Policy 2/5
Category Scoring Details
Basic Requirements
Total: 22 - 30 points,
depending on whether
"Peer Review" and
"Addressing Peer Review
Feedback" are included.
Basic Preparation 1 +1 pt: Comes to the section on time within 10 minutes and fully setup
Presentation 2 +0.5 pt: Presentation exceeds the allotted time
+0.5 pt: Present the functionalities implemented that week
+0.5 pt: Highlight how styling was taken into account while coding, Improvements from previous
weeks in styling - Show how current week’s rubric for styling was taken into account
+0.5 pt: What they think they had not done well and want to improve
Participation 3 +1 pt for each interaction: Interact with the group 3 times (ask a question, make a comment,
help answer a question, etc.)
Commenting and
Documentation
3 +1 pt: Block comments should be written for all public functions and classes in correct formats
+1 pt: Block comments should be written for nontrivial private functions in correct formats
+1 pt: Inline comments should be written to provide context to a non-intuitive solution
Repository 3 -0.5 pt: Incorrect GitLab repository name
-0.5 pt: Incorrect branch name
-1 pt: README less than 10 lines (READMEs auto-generated by other packages, frameworks,
or command-line applications do not count)
-2 pt: No README
Code Submission 3 -1 pt: Few commit messages that include too many changes
-2 pt: One commit message
-1 pt: Feature or main branches disappeared after rebasing or merging
-1 pt: Failure to create merge request on time
-1.5 pt: Committing irrelevant, compiled files, or libraries, e.g., doxygen-generated files,
node_modules, .idea, .vscode, .DS_Store, python environment, etc.
-1 pt: Committing files that contain environment variables
Decomposition and Code
Design
4 Changes depending on different assignments
Style Guide 3 Changes depending on different assignments
Peer Review 5 -1 pt: Less than 5 line-specific comments focusing on decomposition, code design, or testing
requirements, which might include at most 1 comment focusing on style
-2 pt: Less than 2 line-specific comments focusing on aforementioned areas
-3 pt: No line-specific comments focusing on aforementioned areas
-2 pt: There is no summary comment, or the summary comment does not follow the given
format
-1 pt: The summary comment is of low quality (see Code Review form for all questions)
-5 pt: If the comments are rude and do not respect the peer
-2 pt: Failure to complete peer review on time
Addressing Peer Review 3 -1 pt: For each comment of previous assignment that is not addressed
页面 / Home
2021/9/23 Grading Policy - CS 242 - Illinois Wiki
https://wiki.illinois.edu/wiki/display/cs242/Grading+Policy 3/5
Feedback from last week
Functional Requirements
Total: 15 points
Changes depending on different assignments
Testing Requirements
Total: 10 points
Changes depending on different assignments
Bonus
Total: undecided
Changes depending on different assignments
*Note: Some of the contents in upcoming weeks are still subject to change/modification. Rubrics on the assignment page are always the final version.
Calculator
We provide a sample grading sheet for you and moderators. Please make a copy of the sheet and then make edits.
Areas of the lightest areas are parts for you to make changes to.
Areas with a darker color might contain formulas so it is not recommended to change those contents, but feel free to observe it to understand how this formula work.
Explaining the formula
页面 / Home
2021/9/23 Grading Policy - CS 242 - Illinois Wiki
https://wiki.illinois.edu/wiki/display/cs242/Grading+Policy 4/5
The math way
The text way (with reasoning and explanation)
The formula consists of three steps:

Step 1. Calculating the completeness of your assignment. In other words, how much function did you implement for the assignment? The more code you write, the harder it is to
maintain the quality of code.
We want you to focus on writing good code, thus, as long as you get 50% of the functions completed, you will not be penalized for the code you write for the basic requirements
and test requirements.
This also means that the more code you write, the more bad quality code you write, the lower the score you get. This is the way we encourage you to write test cases and have
quality code when you are writing functionality along the way.
Let’s look at an example, finishing 50% for your functional requirements but getting a full score for basic and testing requirements will score you a final grade of 85/100.
However, finishing all your functional requirements but getting 50% for basic and testing requirements completed will score you a final grade of 67.5/100.
Let’s look at another example, say you still only finish 50% for basic and testing requirements again but now you only complete 75% of the functional requirements, the score
would drop drastically to 57.5/100.
Now switching the values around again, finishing 75% for basic and testing requirements and only 50% of the functional requirements will now earn you 67.5/100.
You will also realize that when you only finish half of the assignment, instead of completing the other 50% of the functionality, you get the same score just by trying to complete
25% of the basic and testing requirements.
Always focus more on writing good code first.
页面 / Home
// How much a student completes in terms of funcational requirements
Completeness = Student_func_score / Full_func_score
// penalty functions: A penalty score is applied if the completeness does not achieve a certain threshold.
Penalty_basic = min(Completeness, 0.5) * 2

Assignment_score = (
Penalty_basic * Student_test_score
+ Penalty_basic * Student_basic_score
+ Student_func_score
) / Full_score + Bonus

Final_score = Assignment_score * other_penalty - other penalty
2021/9/23 Grading Policy - CS 242 - Illinois Wiki
https://wiki.illinois.edu/wiki/display/cs242/Grading+Policy 5/5
Step 2. The more code you write, the harder it is to maintain good coding styles and tests. Therefore, we give a “functional bonus” once you completed 75% of your code.
Functional bonus caps at 5 points. The “functional bonus” is proportional to (1) the proportion of the extra 25% of functional requirements and the (2) proportion of the basic and
testing requirements.
For example, completing all the functional requirements and 50% of the basic and testing requirements, you get an extra 2.5 points (5*1*0.5).
Step 3. After your score is calculated, we apply the final bonus and penalties to your score.
Note: The best way to fully understand this formula and to take advantage of it is to play around with the calculator.
Conclusion
This formula is again to encourage you to write good code and is not necessary for the functionalities.
It is also equally important to remember that assignments are cross weeks, so the functions you missed this week might impact next week.
Finally, it is okay to score a lot fewer points in the first few weeks and you will get more and more used to writing good code as the class progresses.
Also, we will revisit the rubric and this formula from time to time. We have used the implementation of this formula since Fall 2019 and received mostly positive feedback.
With some minor changes, we are continuing this way of calculating this semester and again we hope that this is beneficial to you. Please feel free to comment/give suggestions
on Piazza, come to office hours, or send the TA an e-mail.



页面 / Home
无标签

欢迎咨询51作业君
51作业君 51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: ITCSdaixie