Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microsoft Access DataBase Automated Grading System

Similar presentations


Presentation on theme: "Microsoft Access DataBase Automated Grading System"— Presentation transcript:

1 Microsoft Access DataBase Automated Grading System
MADBAGS Microsoft Access DataBase Automated Grading System

2 What does MADBAGS grade?
Table Structure Field Names Field Types Field Sizes Table Data Field attributes Default values Required fields Validation rules Validation text Indexes Primary Keys Relations

3 What does MADBAGS grade? (continued)
DELETE Type Table Names Where criteria Update Type Table name Col=expr List Where critera Queries SELECT Type Fields Table names plus Join clauses Where criteria Total queries

4 What does MADBAGS not grade?
Forms Reports Data Access Pages Macros Modules

5 How does MADBAGS work? a Microsoft Access application
Attributes are extracted from student Access databases into Microsoft Access tables: _Tables _Indexes _Relations _Fields _Queries

6 Example Table: Item

7 _Fields Table (Item table structure lines 1-6)

8 Example Access Query

9 _Queries Table

10 How does MADBAGS work? (continued)
After attributes are extracted from both instructor’s correct database a student’s database and placed into tables The resulting tables are compared missing attributes are detected unequal attributes are found

11 Recording Errors Errors placed in “E R R O R S” table in student database

12 Screenshots

13

14 Grade Report

15 Class Errors Report

16 Grading Challenges

17 (After table names are recorded as incorrect)
Renaming Tables (After table names are recorded as incorrect) Misnamed tables are matched to correct By comparing field counts Of non-matched tables in correct DB With extraneous tables in student DB Table names are corrected in extracted tables Fields Indexes Relations Queries

18 (After being recorded as incorrect)
Renaming Fields (After being recorded as incorrect) Misnamed fields are matched to correct By finding minimum Levenshtein distance Of non-matched fields in correct DB With extraneous fields in student DB Levenshtein distance is the number of changes required to convert one string into another string LD(“tim”,”tom”) = LD(“tim”,”time”) = LD(“tim”,”ti”) = 1 Field names are corrected in extracted tables Indexes Relations Queries

19 MADBAGS grades three query types
Grading Queries MADBAGS grades three query types SELECT DELETE UPDATE

20 Query Syntax SELECT [ DISTINCT | ALL ] col_expr1, col_expr1, ...
[ FROM from_clause ] [ WHERE where_expression ] [ GROUP BY expression1, expression2, .... ] [ HAVING having_expression ] [ ORDER BY column1, column2, .... ] UPDATE table_name SET col_name1 = expr1, col_name2 = expr2, .... [ WHERE expression ] DELETE FROM table_name

21 Grading Queries Query clauses are separated into 3 categories Lists
SELECT col_expressions GROUP BY expressions ORDER BY columns UPDATE table name UPDATE SET assignments DELETE table name Boolean expressions WHERE clauses HAVING clause Unique clauses FROM clause

22 Grading Queries: List Clauses
Tokenize Correct/Student lists Place into 2 dictionaries (Red-Black Trees) For each list element in Correct Dictionary If Found in Student Dictionary Delete from Student Dictionary Else Generate “Missing Item” error message For each remaining list element in Student Dictionary Generate “Extraneous Item” error message

23 Grading Queries: Boolean Expressions
Convert Correct&Student boolean expressions to RPN For each relational expression (< > =) in Correct RPN If Found in Student RPN expression Replace relational expressions in both RPNs with same bool var (e1,e2, …) Else Generate “Missing” error message Replace relational expression in Correct RPN with unique bool var For any remaining relational expressions in Student Dictionary Generate “Extraneous” error message Replace relational expression in Student RPN with unique bool var

24 Grading Queries: Boolean Expressions (continued)
While boolean (AND/OR) expressions exist in Correct RPN expression Find any boolean expression with two bool var operands (innermost) If bool expression is found in the Student RPN expression Replace boolean expressions in both RPNs with same bool var Else Generate “Missing” error message with boolean operator Replace boolean expression in Correct RPN with unique bool var For each boolean operator in Student Dictionary Generate “Extraneous” error message with operator

25 How to use MADBAGS

26

27 Enter number of points deducted for
100 point grading scale Enter number of points deducted for Incorrect field names, field type, field size Mistyped data Missing queries

28 The amount is deducted for the following errors:
Missing query fields Missing/incorrect query criteria Missing/incorrect joins

29 The same amount is deducted for the following errors:
Missing primary keys Missing indices Missing relations Missing/incorrect validation rules and/or validation text

30 Options: Only Grade Tables
Only grades table structure and table data Useful with first class assignments Avoids grading more advanced features (for example, queries, indexing, relations) before being covered in class Avoids “error overload”; hides details that might be more easily handled manually

31 Options: Deduct Extraneous
Extra tables, fields, records, queries, etc. are counted against the student

32 Error Analysis Helps discover possible plagiarism
Considers a pair of students at a time How many errors do they have in common? More errors, more evidence of plagiarism Input is minimum # errors to be included in report What percent of a student A’s errors were also made by student B?

33 Student Pairs Common Errors

34


Download ppt "Microsoft Access DataBase Automated Grading System"

Similar presentations


Ads by Google