Teaching Database Courses Using Educational System ADVICE

17
Teaching Database Courses Teaching Database Courses Using Educational System ADVICE 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

description

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. - PowerPoint PPT Presentation

Transcript of Teaching Database Courses Using Educational System ADVICE

Page 1: Teaching Database Courses  Using Educational System ADVICE

Teaching Database Courses Teaching Database Courses Using Educational System ADVICEUsing Educational System ADVICE

Miloš Cvetanović , Zaharije RadivojevićSchool of Electrical Engineering, Belgrade University

12th Workshop “Software Engineering Education and Reverse Engineering”

Opatija, Croatia03-08 September 2012

Page 2: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 2/17

AgendaAgenda

• Course description• Structure of ADVICE• Implementation details• Laboratory exercises and usage of ADVICE• Assessment• Conclusions

Page 3: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 3/17

Database courseDatabase 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

Page 4: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 4/17

Course SyllabusCourse Syllabus

• Database systems• Data modeling• Relational databases• Database query languages• Relational database design• Transaction processing

Page 5: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 5/17

Creating a tool for laboratory Creating a tool for laboratory exercisesexercises• Conceptual Design• SQL DDL• SQL DML• Formal Query Languages• Normalization

Page 6: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 6/17

Creating a tool for laboratory Creating a tool for laboratory exercisesexercises

Page 7: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 7/17

ADVICEADVICE

• ADVICE (Automated Database Verification with Interactive Counter Example)

• Tool for laboratory exercises• Modular structure• Teaching support• Interactive tutoring

Page 8: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 8/17

ADVICE modulesADVICE modules

• Core modules• login• users• defining problems • additional test

• Additional modules• SQL DDL• SQL DML• relational algebra• relational calculus• conceptual modeling• normalization

Page 9: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 9/17

Typical appearance of ADVICETypical appearance of ADVICE

Page 10: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 10/17

Model verification algorithmModel 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;

}

Page 11: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 11/17

Model verification exampleModel verification example

“An entity is missing: Journey”

Page 12: Teaching Database Courses  Using Educational System ADVICE

DbInstance1=create(initScript)DbInstance2=create(initScript)

Is Query?

Is SQL?

transform(answer)transform(solution)

result1=execute(answer)result2=execute(solution)

result1=execute(selectAll)result2=execute(selectAll)

Is DDL?

match=pairColumns(result1,result2)

compareRows(result1,result2,match)

modify(testScript,DbInstance1)modify(testScript,DbInstance2)

modify(answer,DbInstance1)modify(solution,DbInstance2)

yes

yes

yes

no

no

no

IN

TR

ES

PC

CR

MD

MT

EA

12th Workshop SEE and RE 12/17

Query verification algorithmQuery verification algorithm

Page 13: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 13/17

Query verification exampleQuery verification example

SELECT J.Distance, T.ModelFROM 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)”

Page 14: Teaching Database Courses  Using Educational System ADVICE

12th Workshop SEE and RE 14/17

Query visualizationQuery visualization

Page 15: Teaching Database Courses  Using Educational System ADVICE

• main effect – 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

AssessmentAssessment

0.00%

10.00%

20.00%

30.00%

40.00%

2005 22.97% 35.14% 20.27% 12.16% 6.76% 2.70%

2006

2007

2008

5 6 7 8 9 100.00%

10.00%

20.00%

30.00%

40.00%

2006 23.46% 31.56% 23.74% 13.41% 5.03% 2.79%

2007

2008

5 6 7 8 9 10

Page 16: Teaching Database Courses  Using Educational System ADVICE

• 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

ConclusionConclusion

Page 17: Teaching Database Courses  Using Educational System ADVICE

Thank you!Thank you!

Radivojevic Zaharije