![Скачать презентацию MADBAGS Microsoft Access Data Base Automated Grading System Скачать презентацию MADBAGS Microsoft Access Data Base Automated Grading System](https://present5.com/wp-content/plugins/kama-clic-counter/icons/ppt.jpg)
6a79135956a258c2ee6d08a530438f47.ppt
- Количество слайдов: 34
MADBAGS Microsoft Access Data. Base Automated Grading System
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
What does MADBAGS grade? (continued) • Queries – SELECT Type • Fields • Table names plus Join clauses • Where criteria • Total queries – DELETE Type • Table Names • Where criteria – Update Type • Table name • Col=expr List • Where critera
What does MADBAGS not grade? • Forms • Macros • Reports • Modules • Data Access Pages
How does MADBAGS work? • a Microsoft Access application • Attributes are extracted – from student Access databases – into Microsoft Access tables: _Tables _Fields _Indexes _Queries _Relations
Example Table: Item
_Fields Table (Item table structure lines 1 -6)
Example Access Query
_Queries Table
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
Recording Errors placed in “E R R O R S” table in student database
Screenshots
Grade Report
Class Errors Report
Grading Challenges
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
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
Grading Queries • MADBAGS grades three query types – SELECT – DELETE – UPDATE
Query Syntax • SELECT [ DISTINCT | ALL ] col_expr 1, . . . – – – [ [ [ FROM from_clause ] WHERE where_expression ] GROUP BY expression 1, expression 2, . . ] HAVING having_expression ] ORDER BY column 1, column 2, . . ] • UPDATE table_name – SET col_name 1 = expr 1, col_name 2 = expr 2, . . – [ WHERE expression ] • DELETE FROM table_name – [ WHERE expression ]
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
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
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 (e 1, e 2, …) – 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
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
How to use MADBAGS
• 100 point grading scale • Enter number of points deducted for – Incorrect field names, field type, field size – Mistyped data – Missing queries
• The amount is deducted for the following errors: • Missing query fields • Missing/incorrect query criteria • Missing/incorrect joins
• The same amount is deducted for the following errors: – Missing primary keys – Missing indices – Missing relations – Missing/incorrect validation rules and/or validation text
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
Options: Deduct Extraneous • Extra tables, fields, records, queries, etc. are counted against the student
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?
Student Pairs Common Errors
6a79135956a258c2ee6d08a530438f47.ppt