+ All Categories
Home > Documents > Teaching Database Courses Using Educational System ADVICE Miloš Cvetanović, Zaharije Radivojević...

Teaching Database Courses Using Educational System ADVICE Miloš Cvetanović, Zaharije Radivojević...

Date post: 29-Dec-2015
Category:
Upload: leo-norman-bailey
View: 222 times
Download: 4 times
Share this document with a friend
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
Transcript
Page 1: Teaching Database Courses Using Educational System ADVICE Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

12th Workshop SEE and RE 9/17

Typical appearance of ADVICETypical appearance of ADVICE

Page 10: Teaching Database Courses Using Educational System ADVICE Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

12th Workshop SEE and RE 14/17

Query visualizationQuery visualization

Page 15: Teaching Database Courses Using Educational System ADVICE Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

• 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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

• 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 Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.

Thank you!Thank you!

Radivojevic Zaharije


Recommended