Skip to content

Grading Criteria

Anderson edited this page Nov 17, 2024 · 20 revisions

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.

Weighting Allocation

The allocateWeightings() method in each grading class assigns weightings to individual tests based on their importance, with critical functionality tests receiving higher weightings.

Feedback Generation

The system's feedback indicates whether a test case Pass or Fail in the pdf report. The feedbackMap in each grading class maps the marks earned and feedback explanation for each test case.

Test Example

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."

Test Breakdown

Static Method Check (1 Mark)

  • testMethodIsStatic_generateChatBotLLM()

Purpose: This test ensures that generateChatBotLLM is declared as a static method.
Mark Allocation: 1 mark

Invalid Codes (1 Mark)

  • testGenerateChatBotLLM_ReturnsChatGPT35ForInvalidCodes()

Purpose: This test checks that invalid codes default to returning "ChatGPT-3.5."
Mark Allocation: 1 mark.

Valid Codes (5 Marks)

  • testGenerateChatBotLLM_ReturnsLLaMaForCode1()
  • testGenerateChatBotLLM_ReturnsMistral7BForCode2()
  • testGenerateChatBotLLM_ReturnsBardForCode3()
  • testGenerateChatBotLLM_ReturnsClaudeForCode4()
  • testGenerateChatBotLLM_ReturnsSolarForCode5()

Purpose: This section verifies that valid chatbot codes return the correct chatbot names. Each successful test case earns 1 mark.
Mark Allocation: 1 mark for each passing test.


Mark Allocation Table

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

To view a sample feedback report, click here.

Clone this wiki locally