Auto-Generated, Randomized Assessments

Auto-Generated and Randomized Assessments for Non-coding Concepts

Auto-generated and Randomized Assessments (ARA) help our students learn and practice non-coding database concepts. Students receive a new variant every time they attempt an ARA problem. These assessments allow instructors to assess students' understanding of core concepts related to database, and reduce the time instructors spend on question development, allowing instructors to focus on other essential course aspects. 

My course staff and I have developed ARA assessments for several database topics,, including Database Design Theory (Functional Dependencies and Normal Forms), Indexing (B+ tree and Linear Hash Tables), Transaction Management (Isolation Levels and Two-Phase Locking Protocols), and Query Optimization (Join Ordering, and Size Estimation). Here are some example assessments. 

Assessments with Scratch Canvas

Database indexing is an essential topic that introduces students to data structures used by the Database Management Systems to speed up access to records stored in secondary-storage devices (i.e., hard disks). We cover two highly used indexing data structures: B+ Trees and Hash Tables (Linear Hash Tables). In the past, students had to manually draw these structures for homework and exam assessments. So, we decided to develop ARA with a scratch canvas that allow students to work on the problem without having to manually draw the data structures. Below, we show B+ tree and hash tables examples.

B+ Tree Example:
BTree-Insert-p1-CS 411, SP22 _ PrairieLearn
BTree-Insert-p2-CS 411, SP22 _ PrairieLearn
Hash Tables Example
HashTables-Automated-p1-CS 411, SP22 _ PrairieLearn
HashTables-Automated-p2-CS 411, SP22 _ PrairieLearn
Assessments Implementing Complex Algorithms 

Database Design Theory involve learning complex (non-deterministic), multi-staged algorithms for enhancing the design of a database. We developed several algorithms that generate a random problem and explore all its possible solutions. These algorithms allowed us to provide students with auto-generated and randomized assessments that can be configured to increase or decrease the problem difficulty. 

Functional Dependencies: Attribute Closure 
Attribute-Closure- CS 411, SP22 _ PrairieLearn
Functional Dependencies: Finding the set of candidate keys 
Candidate-Keys-CS 411, SP22 _ PrairieLearn
Boyce-Codd Normal Form (BCNF) and Third Normal Form (3NF)
BCNF Example:
BCNF-CS 411, SP22 _ PrairieLearn
3NF Example:
3NF-CS411, SP22 _ PrairieLearn

Transaction Management: Isolation Levels

trxn-iso-levels-CS 411, SP22 _ PrairieLearn

Transaction Management: Two-Phase Locking Protocols

trxn-s2pl-CS 411, Fa21 _ PrairieLearn
Assessments with randomized variants

Learning query processing and optimization require a understanding of how the database evaluates query execution plans and select the most optimal one. To help students learn these concepts, we designed assessments with randomized variants to allow students to practice several variants of a questions. Here are some examples. 

Estimating Query Operation Size
QryOpt-SizeEst- CS 411, Fa21 _ PrairieLearn
Query Optimization (Join Ordering)
Qry-Opt-Dynamic-Prog-CS 411, Fa21 _ PrairieLearn