Presentation on theme: "IVANA NIŽETIĆ Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia Long-lasting teaching materials in spite of changing technology."— Presentation transcript:
IVANA NIŽETIĆ Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia Long-lasting teaching materials in spite of changing technology DAAD workshop, Sept, , Durres
Preparing new course materials Bologna process New courses New teaching approach (c ontinuous assessment ) Course “Development of Software Applications” New course – Only small parts of the materials reused from old courses Professor: Krešimir Fertalj Assistants: Boris Milašinović, Marija Katić & Ivana Nižetić 6th semester Academic year 2007/2008: 100 students
Course description 1/2 The aim of the course is to: Prepare students to develop complex interactive applications, particularly database applications. Provide a knowledge for successful design, construction and implementation of software systems. Students will be able to : Formulate the software requirements Develop, implement and maintain quality software built upon different software architectures.
Development of software applications Development of interactive, layered applications Windows, Web and Pocket PC platform For real users Methodological approach to software lifecycle UML modelling and program documentation C# programming Team development Visual Studio Team System development environment Team Foundation Server for source version control Course description 2/2
Our goals while preparing materials Choosing an optimal theory to practice ratio Putting emphasis on concepts, not technology Presenting a software project as a living matter Teaching general knowledge instead of educating in narrow-minded way
Choosing an optimal theory to practice ratio Students have to know general professional terms, but they also have to face the real-life problems by themselves! Theory : Practice = 2 : 3 (Optimal ratio?) Theory “Recognizing” general software engineering terms Evaluation: tests on computer, parts of homework and exams Practice Developing applications according to user requirements Evaluation: exams and homework
Putting emphasis on concepts, not technology Teaching software engineering concepts and programming in parallel Example: Teaching students only one UML diagram per time, when they really need it Avoiding to make step-by-step course for programming in particular language Avoiding to teach specialities of particular framework or language Trying to be independent to programming language Using technology as demonstration tool
Presenting a software project as a living matter Presenting concepts in practice Covering real-life problems Show variety of the examples in order to cover different real- life problem Let students write down and understand user requests User’s uncertainty and unsystematic Changing requests, doubts, … Organizing code in order to facilitate maintenance
Teaching general knowledge instead of educating in narrow-minded way Avoiding to teach from a cookbook, leaving a dose of creativity to students Giving students general suggestions and sharing experience with them, but “force” them to think on their own Preparing student for real-life Defining tasks leaving creativity to students Changing user requests Facing difficulties while working in teams
Conclusion 1/2 What have we actually done? Let all teams develop the same “big” project during the semester Organizing the database Setting project requirements and defining priorities Defining team rules Developing application At the end: the same “user”, the same requirements => different projects!
Conclusion 2/2 What have we actually obtained? Compare to other Bologna courses, we achieve distribution of points most likely to Gaussian distribution Feedback from students: “Hard, but very useful course!”
… Thank you for your attention! Questions? IVANA NIŽETIĆ FER, ZAGREB, CROATIA