Currently, grading multiple choice exams that use Scantron answer sheets (OMR sheets) is a manual, tedious, and time-consuming process. Teachers must use a separate Scantron device to read the key answer sheet and each student's answer sheet to calculate grades. This takes a significant amount of time and effort.
Develop a software application that automatically grades student's answer sheets by comparing their answers to the key answer sheet, calculating a score, and writing that score digitally onto the student's answer sheet.
Input
The software must accept the following inputs:
- Key Answer Sheet: Single page image OR single page scanned PDF (one format must be chosen)
- Student Answer Sheets: Same file format as key answer sheet, multiple sheets allowed
Grading Capability
- Software must compare each student answer sheet to the key answer sheet
- Software must calculate a grade/score and digitally write that score onto the respective student's answer sheet
Sample input Key | Sample Input Student sheet | Sample Output |
---|---|---|
Scope
- Core grading module only with the capabilities outlined in the requirements
- Graphical user interface (GUI) is not required
Software application meeting the above requirements and objectives that automatically grades Scantron bubble answer sheets.
Important Information
Given the short 2 hour timeframe, we understand that you may not be able to build a polished, production-ready solution. Rather, we want to evaluate your approach, architecture, and progress towards a proof-of-concept that could solve this problem.
We want to mainly see,
- A proposed Technical Architecture with high-level plan for how you would design/architect the automated grading system (Key components, modules, flows, etc.)
- Based on your architecture, begin building the core grading functionality
- Focus on the key algorithms for parsing/comparing answer sheets and scoring
- Pseudocode or stubs are acceptable where you cannot complete full functionality
- In a Readme file,
- Explain your architecture and design decisions
- Identify areas of difficulty and how you would resolve if you had more time
Again, We want to evaluate how well you are able to analyze the problem, architect a solution, make progress on core functionality, and clearly present your approach.
Any solutions or intellectual property (code, architectures, algorithms, etc.) produced as part of this hackathon may be open sourced by the organizers after the event for further development by the community. By participating in this hackathon, you agree that any submissions may be published publicly under an open source license. This allows others to freely use, modify, and distribute your solution for nonprofit purposes. You will retain original author attribution for any public usages. Please let the organizers know if you have any concerns regarding open sourcing of your hackathon submission.
- One person from each team should visit https://classroom.github.com/a/AcoX5wxz
- Create a team
- Click on "Accept this assignment"
- Refresh the page
- Everyone else on the team visits the same URL https://classroom.github.com/a/AcoX5wxz and selects their team to accept the assignment.
- You can clone the repository to your local and start commiting your code,images and everything to your team repo.