Date post: | 16-Dec-2015 |
Category: |
Documents |
Upload: | douglas-york |
View: | 213 times |
Download: | 0 times |
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, 07-14 2008, Durres
Preparing new course materials
Bologna process New courses New teaching approach (continuous 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 ratioPutting emphasis on concepts, not technologyPresenting a software project as a living
matterTeaching 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 examsPractice
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 practiceCovering 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!”