CMPT 275: Software Engineering I
SUMMER 2015
Project Spec: Streamlined Grading System
Project Description
A Department in a college is looking for a way to economize. The administration has decided that large savings can be made if TA budgets are reduced by half and a tool to make grading more efficient is provided to replace lost TA hours. They have called this potential tool the "Streamlined Grading System".Your team is subcontracting for ABC software consultants. ABC software consultants have just received the contract to develop and implement the "Streamline Grading System". The purpose of the system is to increase the efficiency of those grading assignments, essays, multiple choice tests, and software. Your task in the next few months is to design the "Streamlined Grading System" and build a working prototype. The prototype will demonstrate the feasibility of each of the main goals, grading of essays, grading of problem sets, grading of multiple choice tests, and grading of computer coding assignments. The hope is that the prototype will secure the funding for phase two, the complete implementation of the "Streamlined Grading System" for ABC software consultants and for your team.
The "Streamlined Grading System" will perform the tasks not already performed by the client's course management system. These tasks include:
- Users will be identified by name, employee id, and user id for this system
- The "system administrator" will manage installation and backup of the system
- The "system adminsitrator" will manage all accounts for this system
- The "administrative assistant" will, create courses, modify courses, delete courses, and copy courses
- The "administrative assistant" will assign instructors, students and teaching assistants to courses
- Students are identified by their computer id and their student number
- The "administrator" will view and update all material added by other users of the system.
- The "instructor" will add, modify, and delete the activities to be graded during each of their courses
- Instructors may only see information relating to their own courses
- The "instructor" will enter all detailed information needed to describe each of the activities they create
- All "instructors" can copy some or all activities from one of their previous offerings of the same course
- A rubric is a list of expected outcomes for the activity and the maximum number of points assigned to each expectation
- The "instructor" can enter or modify a rubric for grading each activity
- The "instructor" can copy a rubric for an activity from previous offerings of the course
- Instructors and Teaching assistants may grade activities
- Individuals who grade activities are called markers
- The "marker" can view the work of each student they are assigned to grade, one student at a time
- The "marker" can add comments directly to the submitted student work (except multiple choice tests)
- The "marker" can enter grades for each item in the rubric after viewing the student's work related to that portion of the rubric
- Some courses require grading of essays, markers must be able to add comments to the essays and return the commented work to the student
- Some courses require grading of problems requiring calculations or derivations, markers must be able to add comments and return the commented work to the student
- Some courses require programming assignments in C, C++, JAVA, or PYTHON
- Programming assignments may use specific environments such as Visual Studio or Eclipse
- For programming assignments "instructors" will provide a series of tests for the student submitted software. Each test will include any input files and console input necessary to run each test. Each test will also include correct output files and console output for the test.
- The application should help the instructor assemble all the necessary input and output files for each test
- The application should run each test using the specified input files and console input and producing the require output files and console output (for each student's 's submitted code)
- The application should provide comparisons between the output of each student's code and the "correct" output
- The application should then display related portions of the rubric and ask the "marker" to enter the grade for that portion
- "Markers" should be able to grade or regrade any assigned student
- The application should produce a csv file suitable to load into a spreadsheet. Each row should be for one student , each column should be one item in the rubric.
- The application will be provided with a directory, containing one subdirectory for each student. In each subdirectory the submitted PDF or code files for each student will be stored
- The application will receive scanned results of multiple choice tests. The instructor will provide a .csv file. Each row in the .csv will be results for one student. Each row will provide the choices made by the student for each of the questions on the multiple choice test
- The "instructor" will provide an answer key, and a list of weights (the number of points for each multiple choice question)
- The "instructor may modify the multiple choice answer key or the weights for each problem and recalculate the grades for each student based on the modified answer key
* CMPT 275 Information Page * Student Resources * Computing Science Home *
Janice Regan, last modified May15 2015.