-
Notifications
You must be signed in to change notification settings - Fork 0
Grading Criteria
The grading system evaluates student submissions across five components: ChatBot, ChatBotPlatform, ChatBotGenerator, ChatBotSimulation, and Program Quality, with a total mark allocation as follows:
- ChatBot: 36 marks
- ChatBotPlatform: 20 marks
- ChatBotGenerator: 7 marks
- ChatBotSimulation: 12 marks
- Program Quality: 25 marks
Marks are distributed based on correctness, functionality, and adherence to specifications, using weighted test cases for key functional requirements.
Tooomuch yap
Each grading class, such as ChatBotGeneratorGrade, uses an allocateWeightings() method to assign weightings to individual tests within that component. These weightings determine how much each test case contributes to the component’s total score. For example, critical functionality tests for ChatBotGenerator—like checking valid chatbot codes and response accuracy—are given proportionally higher weight.
~ Tooo much yap but not bad explanation~
In the current grading system, feedback is simplified to "Pass" or "Fail" results. If a test case passes, it is recorded as "Pass"; if it fails, it is recorded as "Fail" in the PDF report. The feedbackMap in each grading class simply stores the marks earned per test case, making it easy to track test outcomes without custom feedback explanations.
Note: Detailed explanations for each test case are provided in the accompanying PDF to help students understand what was required for each test.
The ChatBotGeneratorTest class evaluates the functionality of the generateChatBotLLM method using a series of targeted test cases. Marks are allocated based on whether the method passes specific requirements, with feedback noted as "Pass" or "Fail."
-
Static Method Check (1 Mark)
Ensures thatgenerateChatBotLLMis declared as a static method.
Test:testMethodIsStatic_generateChatBotLLM()
Mark Allocation: 1 mark for passing. -
Invalid Codes (1 Mark)
Ensures invalid codes default to returning "ChatGPT-3.5." Passing this test earns 1 mark.
Test:testGenerateChatBotLLM_ReturnsChatGPT35ForInvalidCodes() -
Valid Codes (5 Marks)
Verifies that valid chatbot codes return the correct chatbot names. Each successful test case earns 1 mark.
Tests:testGenerateChatBotLLM_ReturnsLLaMaForCode1()testGenerateChatBotLLM_ReturnsMistral7BForCode2()testGenerateChatBotLLM_ReturnsBardForCode3()testGenerateChatBotLLM_ReturnsClaudeForCode4()testGenerateChatBotLLM_ReturnsSolarForCode5()
| Test Case | Marks | Feedback |
|---|---|---|
testMethodIsStatic_generateChatBotLLM |
1 | Pass/Fail |
testGenerateChatBotLLM_ReturnsLLaMaForCode1 |
1 | Pass/Fail |
testGenerateChatBotLLM_ReturnsMistral7BForCode2 |
1 | Pass/Fail |
testGenerateChatBotLLM_ReturnsBardForCode3 |
1 | Pass/Fail |
testGenerateChatBotLLM_ReturnsClaudeForCode4 |
1 | Pass/Fail |
testGenerateChatBotLLM_ReturnsSolarForCode5 |
1 | Pass/Fail |
testGenerateChatBotLLM_ReturnsChatGPT35ForInvalidCodes |
1 | Pass/Fail |
| Total | 7 |
Summarize show tabular example
If the ChatBotGeneratorTest runs and the student’s submission passes four out of the five valid code tests, it would receive 4 out of the possible 5 marks for that section. The report would indicate "Pass" for each successful test and "Fail" for the one that failed. These results are mapped in feedbackMap and used to generate a PDF report showing the marks and Pass/Fail status for each test.
This approach gives students clear, objective feedback through Pass/Fail indicators, with detailed expectations in the PDF for further insight.