OO Java Requirements Specification Produce highly adaptable teaching
OO Java Requirements Specification - Produce highly adaptable teaching materials - 1 st step: collect all useful materials 1. I. Jurca, M. Ivanovic, K. Bothe OO Java, Baile Herculane, Romania, 2005 1
Our goal: Joint course "OO Java" Jointly produce and reuse teaching materials for a course "Object-oriented programming in Java" Is this sufficient to start the project? OO Java, Baile Herculane, Romania, 2005 2
Sources o Questionnaire concerning teaching OO Java at different universities o Answers from n n n Belgrade – MF Belgrade – ETF Berlin Novi Sad Plovdiv Timisoara o M. Ivanovic, I. Jurca, K. Bothe: On the course architecture and course homepage, 4 th workshop an SE education and reverse engineering, Zagreb Sep. 2004 OO Java, Baile Herculane, Romania, 2005 3
Problem areas (answers from the questionnaire) o Position of Java in the curriculum: n Belgrade – MF: 5 -6 th sem. Java n Belgrade – ETF: 1 st sem. C, Pascal, 4 th sem. Java n Berlin: 1 st sem. Java, 3 rd sem. C n Novi Sad: 1 st sem. Modula-2, 3 -4 th sem. Java n Plovdiv: 1 st sem. C++, 5 th sem. Java, MSc studies: Java practice n Timisoara: 1 st C; 3 rd sem. Java n Skopje: 1 st C, 2 nd Java n Zagreb: 1 st C, 2 nd C, C#, 7 th sem. Java (elective) OO Java, Baile Herculane, Romania, 2005 4
Problem areas (answers from the questionnaire) o Existing materials: n different formats: ppt, doc, tex n different national languages o Duration of the course: 16 -60 lecture hours o Literature: different textbooks o Assignments: lab work, projects, written assignments o Used java examples (source: Zivana Komlenov, Zagreb workshop) o Examinations: written, oral OO Java, Baile Herculane, Romania, 2005 5
Conclusion: completely different teaching strategies and contents required The knowledge of another programming language significantly influences the teaching strategy of Java. o Imperative languages (Pascal, C, Modula-2): n Data, statements, algorithms, procedures, recursion are known n Techniques may be known: sorting, searching n Examples may be known: stack, queue Teach also the philosophy of OO and its advantages o OO languages (C++, Eiffel, Smalltalk, Delfi): straighton introduction of Java [Zagreb, Plovdiv] o No other language: imperative and OO concepts to be introduced [HU] OO Java, Baile Herculane, Romania, 2005 6
Summary: Final OO Java materials differing in … Time constraints Place of Java (1 st, 2 nd, 3 rd language) Java program examples / classes: stack, time … Longer Java case studies Preknowledge of OO Methodological preferences: Order of topics, inclusion of SE principles, kinds of Java examples Preknowledge of techniques: sorting, searching, … Used textbooks Individual preferences: shapes, colors, animations OO Java, Baile Herculane, Romania, 2005 Remark: also knowledge from school is rather influencing in 1 st semester 7
Vision Teaching and learning materials for a joint course OO Java n Jointly produced and used n Highly adaptable Is this really realistic? OO Java, Baile Herculane, Romania, 2005 8
Approach 1. Elementary learning objects 2. Combination strategy n Combination description 3. Tool support to adapt the material: future version of S-Bahn tool OO Java, Baile Herculane, Romania, 2005 9
Approach (cont. ) 4. Standard recommendations for certain default circumstances n 1 st semester, 1 st language n Java as a second language after C, Pascal (imperative) n Java as a second language after another OO language n individual students preknowledge n Restrictions to 30 lecture hours, 60 lecture hours … n lecturers preferences: individual and methodological ones OO Java, Baile Herculane, Romania, 2005 10
Joint "OO Java" course project phases and results Requirements Specification What do we want to produce? Design What is the structure of the course? "OO Java" website at Novi Sad Implementation Which kind of course materials? Slides, Assignments, … Use … OO Java, Baile Herculane, Romania, 2005 11
Teaching and learning materials Object-oriented programming with Java – OO Java – Requirements specification version 0. 1 M. Ivanovic, I. Jurca, K. Bothe DAAD Project Software Engineering: Education and Research Cooperation OO Java, Baile Herculane, Romania, 2005 12
Technical requirements 1. Kinds of classes a) to support classical education: lectures, lab exercises (assignments), examinations b) to support e. Learning: “Electronical textbook” (text combined with tasks [run a program], with questions [what is a class? ], with assignments [modify the program]) cf. “Open university”, Cavtat Java Course( London) OO Java, Baile Herculane, Romania, 2005 13
2. Kinds of teaching materials a) Basic material: lecture slides, lecture notes (teaching tips), Java program examples (. java) e. g. to be included in slides, assignments (questions), lab assignments, literature recommendations (books, web addresses), examination material, question catalogue (e. g. from SUN) OO Java, Baile Herculane, Romania, 2005 14
b) advanced material: Tools: o programming tutors (e. g. Jeliot) o style checkers o automatic test evaluation c) advanced Java programming examples: o Game playing, o Search problem (Mouse in Maze) OO Java, Baile Herculane, Romania, 2005 15
3. Format of teaching materials: n Lecture slides (lecture notes): ppt according to the ppt-template (including style guides, e. g. program code in Courier) from NS website n Other documents: html – doc ? 4. Language: English n Later to be adapted to national languages (S-Bahn tool) OO Java, Baile Herculane, Romania, 2005 16
Strategy o Collect all materials n There may be different materials connected with the same topic e. g. Introduction to objects and classes, Inheritance o Evaluate, compare, divide into elementary semantic units o Combination strategy according to different needs, preferences, time constraints … o Tool support o Define standard solutions (combine elementary materials to longer units (simple lesson, complete courses)) S. Joachim: The design of highly adaptable course materials (Baile Herculane workshop) OO Java, Baile Herculane, Romania, 2005 17
The role of the individual professor in lecture presentations and contents o HU: 1992 -2005 n Introduction to programming (Modula-2 / OO Java) o Provided by 8 different professors: n No slide had been reused from a colleague n But all of them where unhappy with the great expense of preparation work (3 rd semester: CC – pool of slides) OO Java, Baile Herculane, Romania, 2005 18
- Slides: 18