-
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)
This test ensures thatgenerateChatBotLLMis declared as a static method.
Test:testMethodIsStatic_generateChatBotLLM()
Mark Allocation: 1 mark for passing. -
Invalid Codes (1 Mark)
This test checks that invalid codes default to returning "ChatGPT-3.5."
Test:testGenerateChatBotLLM_ReturnsChatGPT35ForInvalidCodes()
Mark Allocation: 1 mark for passing. -
Valid Codes (5 Marks)
This section 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()
Mark Allocation: 1 mark for each passing test.
| 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 |