Skip to content

Analysis

felicia edited this page Nov 16, 2024 · 13 revisions

Requirements

1. Accept a zipped file containing all student submissions for Object-Oriented Programming 1 Assignment 1.

  • Expected structure of submissions.zip:

    submissions/
        Firstname_Lastname_816000000_A1/
        Firstname_Lastname_816000001_A1/

2. Extract and process zero or more Java files in each student’s zipped submission.

  • Expected structure of student submission:

    Firstname_Lastname_816000000_A1/
        ChatBot.java
        ChatBotGenerator.java
        ChatBotPlatform.java
        ChatBotSimulation.java

3. Evaluate the functionality and correctness of each submission based on assignment specifications.

4. Calculate an overall score for each submission based on the assignment rubric.

5. Generate a PDF for each submission with the marks awarded and a breakdown of test case results including a description and its outcome (pass/fail).

Use Cases

Submission Processing

Pre-condition:
A ZIP file containing student submissions.

Description:
The autograder processes submissions using the GradingFacade. The GradingFacade accepts the provided ZIP file and extracts submissions using the SubmissionExtractor class. The SubmissionExtractor then organizes the extracted files into individual folders for each submission.

Submission Grading

Pre-condition:
Student submissions have been successfully extracted and organized.

Description:
The autograder uses the GradingFacade to grade student submissions. The GradingFacade validates the Java files in each student submission against predefined test cases using the AssignmentTestRunner class. Grades are then assigned based on the passed test cases. An overall score for each class is calculated and stored in the AssignmentGrade.

Feedback Generation

Pre-condition:
Student submissions have been processed and graded.

Description:
The autograder generates an individual PDF report for each student submission using the PDFGenerator class. The PDF contains the overall score for the submission and a breakdown of scores for each class. Detailed descriptions of all test cases are provided, indicating which test passed and failed for the submission.

Target Students

  • Primary Users: Course instructor and markers for Object-Oriented Programming 1.
  • Other Beneficiaries: Undergraduate students in the Object-Oriented Programming 1 course, who receive detailed feedback on their assignment submissions.

Clone this wiki locally