Download ppt

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Teaching Database Courses
Using Educational System ADVICE
Miloš Cvetanović , Zaharije Radivojević
School of Electrical Engineering, Belgrade University
12th Workshop
“Software Engineering Education and Reverse Engineering”
Opatija, Croatia
03-08 September 2012
Agenda
•
•
•
•
•
•
Course description
Structure of ADVICE
Implementation details
Laboratory exercises and usage of ADVICE
Assessment
Conclusions
12th Workshop SEE and RE
2/17
Database course
• Type: Mandatory course
• Starts: 3 semester SE, 5 semester CE
(of 8 semesters for bachelor studies)
• Prerequisites: • Class hours: 2+2+1
• Format:
– Midterm 20
– Laboratory 20
– Final 60
• SE 60 students, CE 110 students
12th Workshop SEE and RE
3/17
Course Syllabus
•
•
•
•
•
•
Database systems
Data modeling
Relational databases
Database query languages
Relational database design
Transaction processing
12th Workshop SEE and RE
4/17
Creating a tool for laboratory exercises
•
•
•
•
•
Conceptual Design
SQL DDL
SQL DML
Formal Query Languages
Normalization
12th Workshop SEE and RE
5/17
Yes
Yes
NORMIT
No
No
No
No
Yes
Yes
Yes
No
KERMIT
Yes
No
No
No
No
Yes
Yes
No
SQL Trainer
No
No
Yes
No
No
Yes
Yes
Yes
Gradiance SQL
No
No
Yes
No
No
Yes
Yes
Yes
SQLCourse
No
Yes
Yes
No
No
No
Yes
No
WinRDBI
No
No
Yes
Yes
No
No
No
No
Web-based Normalization Tool
No
No
No
No
Yes
No
Yes
No
LDBN
No
No
No
No
Yes
Yes
Yes
No
ADbC
Yes
Yes
Yes
No
Yes
No
Yes
No
12th Workshop SEE and RE
Monitoring
Yes
Progress
No
Distance Learning
No
Checking
Yes
Correctness
No
Normalization
SQL DML
No
Languages
SQL DDL
SQL-Tutor
System
Formal Query
Conceptual Design
Creating a tool for laboratory exercises
6/17
ADVICE
• ADVICE (Automated Database Verification with
Interactive Counter Example)
• Tool for laboratory exercises
• Modular structure
• Teaching support
• Interactive tutoring
12th Workshop SEE and RE
7/17
ADVICE modules
• Core modules
• login
• users
• defining problems
• additional test
• Additional modules
• SQL DDL
• SQL DML
• relational algebra
• relational calculus
• conceptual modeling
• normalization
12th Workshop SEE and RE
8/17
Typical appearance of ADVICE
12th Workshop SEE and RE
9/17
Model verification algorithm
match(answer, solution){
schema1 = toSchema(answer);
schema2 = toSchema(solution);
reduce(schema1);
reduce(schema2);
for each (newSchema1, newSchema2)
in eliminate(schema1, schema2){
for each renamedSchema1
in rename(newSchema1, newSchema2){
if(compare(renamedSchema1, newSchema2)){
return success;
}
}
}
return failure;
} Workshop SEE and RE
12th
10/17
Model verification example
“An entity is missing: Journey”
12th Workshop SEE and RE
11/17
Query verification algorithm
DbInstance1=create(initScript)
DbInstance2=create(initScript)
IN
yes
no
Is Query?
modify(answer,DbInstance1)
modify(solution,DbInstance2)
yes
no
Is SQL?
TR
ES
12th Workshop SEE and RE
Is DDL?
yes
transform(answer)
transform(solution)
MD
result1=execute(answer)
result2=execute(solution)
no
modify(testScript,DbInstance1)
modify(testScript,DbInstance2)
result1=execute(selectAll)
result2=execute(selectAll)
PC
match=pairColumns(result1,result2)
CR
compareRows(result1,result2,match)
MT
EA
12/17
Query verification example
SELECT J.Distance, T.Model
FROM Journey J, Truck T
WHERE T.IDTru=J.IDTru
AND
(SELECT COUNT(*)
FROM Drives D
WHERE D.IDJou=J.IDJou)>=2;
SELECT J.Distance, T.Model
FROM Journey J, Truck T
WHERE T.IDTru=J.IDTru
AND
(SELECT COUNT(*)
FROM Drives D
WHERE D.IDJou=J.IDJou)=2;
“You have 1 row(s) less. Missing row: (157,MAN)”
12th Workshop SEE and RE
13/17
Query visualization
12th Workshop SEE and RE
14/17
Assessment
40.00%
40.00%
30.00%
30.00%
20.00%
20.00%
10.00%
10.00%
0.00%
5
6
7
8
9
10
• main effect
0.00%
5
6
7
8
9
10
2005
22.97%
35.14%
20.27%
12.16%
6.76%
2.70%
2006
23.46%
31.56%
23.74%
13.41%
5.03%
2.79%
2006
28.74%
34.01%
23.89%
10.93%
2.02%
0.40%
2007
19.25%
27.33%
19.25%
19.25%
6.21%
8.70%
2007
27.38%
35.71%
19.05%
13.10%
1.19%
3.57%
2008
1.34%
26.17%
24.16%
20.81%
16.11%
11.41%
2008
25.42%
28.81%
22.03%
10.17%
6.78%
6.78%
– year factor is significant (F(2, 721)=5.1286, p=0.00614) ,
difference between the years.
– group factor is significant (F(1, 721)=90.489, p=0.0000),
difference between groups.
– Interaction is not significant (F(2, 721)=0.90318, p=0.40574),
difference between groups is not dependent on the year.
12th Workshop SEE and RE
15/17
Conclusion
• Tool for support in laboratory exercises in databases
related courses
• Modular and extendable structure
• Interactive iterative verification with query visualization
• Possibility for vertical integration into database course
12th Workshop SEE and RE
16/17
Thank you!
Radivojevic Zaharije
Related documents