Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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