krešimir fertalj: development of a new course on software development – a case study

46
Krešimir Fertalj: Development of a new course on software development – a case study DAAD meeting, May, 19-25 2008, Berlin DAAD workshop, Sept, 07-14 2008, Durres- Kavaje

Upload: ima

Post on 12-Feb-2016

29 views

Category:

Documents


0 download

DESCRIPTION

Krešimir Fertalj: Development of a new course on software development – a case study. DAAD meeting, May, 19-25 2008, Berlin DAAD workshop, Sept, 07-14 2008, Durres-Kavaje . Course: Development of Software Applications. Short description - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Krešimir Fertalj: Development of a new course on software development – a case study

Krešimir Fertalj:Development of a new course on software

development – a case study

DAAD meeting, May, 19-25 2008, BerlinDAAD workshop, Sept, 07-14 2008, Durres-Kavaje

Page 2: Krešimir Fertalj: Development of a new course on software development – a case study

2Fertalj: Development of a new course, DAAD, 2008.

Course: Development of Software Applications Short description

This course elaborates software engineering concepts, principles and techniques.

The course studies approaches to the development of end user applications, including requirements analysis and specification, design and construction of software components, programming techniques, documentation, implementation and maintenance of applications.

Educational goals The course will prepare students for development of complex interactive

applications, particularly database applications. The course will provide a knowledge for successful design, construction and

implementation of software systems. Students will be able to formulate the software requirements and to develop,

implement and maintain quality software built upon different software architectures.

Page 3: Krešimir Fertalj: Development of a new course on software development – a case study

3Fertalj: Development of a new course, DAAD, 2008.

The context Prerequisites

Algorithms and Data Structures - explicit Databases – implicit for 5th semester

In practice: Lectures 5%, Homework 15%, Tests 30%, Exams 10%+15%+25% points

Page 4: Krešimir Fertalj: Development of a new course on software development – a case study

4Fertalj: Development of a new course, DAAD, 2008.

Page 5: Krešimir Fertalj: Development of a new course on software development – a case study

5Fertalj: Development of a new course, DAAD, 2008.

The context – module of software engineeringSemester Course ECTS

Hours per week

Software Design 8 4 Communication Networks 4 3 V Information Theory 4 3 Automata and Formal Languages 4 3 Ecology and Sustainable Development 2 2 Software Project 8 0 30 15 Development of SW applications 4 3 Programming Paradigms and Languages 4 3

VI Elective course 4 3 Elective course 4 3 Commercial Law 2 2 Baccalaureate Thesis 12 0 30 14

Page 6: Krešimir Fertalj: Development of a new course on software development – a case study

6Fertalj: Development of a new course, DAAD, 2008.

Selection of literature Mandatory textbooks

Roger S. Pressman: Software engineering: A Practitioner`s Approach, McGraw-Hill , 2004

Supplementary textbooks Ian Sommerville : Software engineering, Addison-Wesley , 2004 Steve Mc Connel: Code Complete, Microsoft Press, 2004 Stephen R Schach: Object-Oriented and Classical Software Engineering,

McGraw-Hill , 2005

Candidate books (selected for another course, ISD) J.A. Hoffer, J.F. George, J.S. Valacich: Modern Systems Analysis and

Design, 4th ed., Prentice Hall, 2004. A. Dennis, B.H. Wixom, D.Tegarden: Systems Analysis & Design: An

Object-Oriented Approach with UML, Wiley & Sons, 2002. G. B. Shelly, T. J. Cashman, H. J. Rosenblatt: Systems Analysis and

Design, 5th ed, Course Technology, 2003.

Page 7: Krešimir Fertalj: Development of a new course on software development – a case study

7Fertalj: Development of a new course, DAAD, 2008.

Roger S. Pressman: Software engineering: A Practitioner`s Approach

Part 1 The Software Process    2 Process: A Generic View    3 Prescriptive Process Models    4 Agile Development

Part 2 Software Engineering Practice    5 Practice: A Generic View    6 System Engineering    7 Requirements Engineering    8 Analysis Modeling    9 Design Engineering    10 Architectural Design    11 Component-Level Design    12 User Interface Design    13 Software Testing Strategies    14 Software Testing Techniques    15 Product Metrics for Software

Part 3 Applying Web Engineering   16 Web Engineering    17 Formulation and Planning for Web

Engineering ...

...  18 Analysis Modeling for Web Applications    19 Design Modeling for Web Applications    20 Testing Web Applications

Part 4 Managing Software Projects    21 Project Management Concepts    22 Process and Project Metrics    23 Estimation for Software Projects    24 Software Project Scheduling    25 Risk Management    26 Quality Management    27 Change Management

Part 5 Advanced Topics in Software Engineering

   28 Formal Methods    29 Cleanroom Software Engineering    30 Component-Based Software Engineering    31 Reengineering    32 The Road Ahead

Page 8: Krešimir Fertalj: Development of a new course on software development – a case study

8Fertalj: Development of a new course, DAAD, 2008.

Ian Sommerville : Software engineeringINTRODUCTION

Ch 1: Introduction         Ch 2: Socio-technical SystemsCh 3: DependabilityCh 4: Software ProcessesCh 5: Project Management

REQUIREMENTS ENGINEERINGCh 6: Software RequirementsCh 7: RE ProcessesCh 8: Systems ModelsCh 9: Critical Systems SpecificationCh 10: Formal Specification

DESIGNCh 11: Architectural DesignCh 12: Distributed Systems ArchitectureCh 13: Application Architectures Ch 14: Object-oriented DesignCh 15: Real-time Systems Ch 16: User Interface Design

SOFTWARE DEVELOPMENTCh 17: Iterative Software Development

Ch 18: Software ReuseCh 19: CBSE Ch 20: Critical Systems DevelopmentCh 21: Software Evolution

VERIFICATION AND VALIDATIONCh 22: Verification and ValidationCh 23:  Software Testing Ch 24: Critical Systems Validation

MANAGEMENTCh 25: Managing PeopleCh 26: Software Cost EstimationCh 27: Quality Management Ch 28: Process ImprovementCh 29: Configuration Management

Page 9: Krešimir Fertalj: Development of a new course on software development – a case study

Execution

Page 10: Krešimir Fertalj: Development of a new course on software development – a case study

10Fertalj: Development of a new course, DAAD, 2008.

Contents Minimal theory, required to determine practice

full life cycle, from project initiation, project planning and requirements specification to controlled applicaton development in teams

Practice, in feasible quantity development of windows programs, database access, distributed

applications (GUI, DAL, BLL) windows services (.net), generation of reports (Crystal reports) web application development (asp.net), web services (xml) mobile applications development (pocket pc, compact framework) development of help and documentation, installation procedures

Team work – solving a real-life project, evaluated on exams Problem definition Assignment of tasks Source code sharing Extensive collaboration with lecturer, assistants, and team members !?

Page 11: Krešimir Fertalj: Development of a new course on software development – a case study

11Fertalj: Development of a new course, DAAD, 2008.

Course execution Presence on lectures (5% points)

students' activity, problem solving – 5% disturbance, newspaper reading – 0%

Homework (15% points) individual solutions to project problems (modeling, ...) project documentation (plans, specifications, interview, ...) team work (programming, components, ... source code control) homework is due the end of the actual week (Sunday, 23:59:59)

Laboratories (non-obligatory) 1 hour per week, but scheduled for two groups as 2 hours student consultations students preferred email to lecturer or assistants, usually on weekends

Page 12: Krešimir Fertalj: Development of a new course on software development – a case study

12Fertalj: Development of a new course, DAAD, 2008.

Evaluation of students Tests on computer, "blitz" (30% points)

"theoretical" (definitions, concepts, but no syntax nor tricky) questions 3 tests, 10% points each, 20 generated questions, 60 minutes per test

Interim exam I (10% points) project plan requirements specification, use cases, conceptual model

Interim exam II (15% points) updated project plan design specification, data model, screen shots windows application

Final exam (25% points) web application, mobile application, end user documentation software validation (view of "end user") software verification (control checklist)

Repeated Final exam for students who failed on max 2 components in one cycle for ambitious students, willing to repeat one full cycle, but no one applied

Page 13: Krešimir Fertalj: Development of a new course on software development – a case study

13Fertalj: Development of a new course, DAAD, 2008.

Grading Evaluation of separated team tasks and individual tasks Individual component prevails At least 50,00 % points of each component required Gauss distribution of those who passed

Component Value Times Points SharePresence on lectures 5 1 5 5.00%

Automated testing 10 3 30 30.00%Homework 1 15 15 15.00%

I interim exam 10 1 10 10.00%II interim exam 15 1 15 15.00%

Final exam 25 1 25 25.00%Total 100 100.00%

Page 14: Krešimir Fertalj: Development of a new course on software development – a case study

14Fertalj: Development of a new course, DAAD, 2008.

Guidelines and Recommendations Material include parts needed for future research, learning and

developing of other projects (eg. graduate thesis).

Participation on lectures is recommended.

The examples presented on lectures explain concepts and standards, not products.

Students are allowed to use other tools (e.g. Java).

The examples are not completed solutions or commercial products, although some of them may look as such.

Although examples present "how to do" the project, they are not the cookbook "we always do like that".

Good will is expected and creativity is wellcome.

Page 15: Krešimir Fertalj: Development of a new course on software development – a case study

Preparation and execution

Page 16: Krešimir Fertalj: Development of a new course on software development – a case study

16Fertalj: Development of a new course, DAAD, 2008.

Computer Supported Course

Page 17: Krešimir Fertalj: Development of a new course on software development – a case study

17Fertalj: Development of a new course, DAAD, 2008.

Computer Supported Teaching and Evaluation

Page 18: Krešimir Fertalj: Development of a new course on software development – a case study

18Fertalj: Development of a new course, DAAD, 2008.

The project-based concept The lectures describe a virtual, but representative, problem

The students participate in project regarding one real-life problem

Team work 15 teams, 7-8 members in team no real project management teams guided by life-cycle and project document templates "jammed" development

• students interfere with each other • students focused on technology, not the project goals and tasks

All teams try to solve the same problem

Page 19: Krešimir Fertalj: Development of a new course on software development – a case study

19Fertalj: Development of a new course, DAAD, 2008.

Representative software example

Partner

PK IdPartnera

TipPartneraFK1,I1 IdMjestaPartnera AdrPartneraFK2,I2 IdMjestaIsporuke AdrIsporuke

Artikl

PK SifArtikla

U1 NazArtikla JedMjere CijArtikla ZastUsluga SlikaArtikla

Stavka

PK,FK2,I3,I2 IdDokumentaPK,FK1,I1 SifArtikla

KolArtikla JedCijArtikla PostoRabat

Dokument

PK IdDokumenta

VrDokumenta BrDokumenta DatDokumentaFK2,I4,I2 IdPartneraFK1,I1,I3 IdPrethDokumenta PostoPorez IznosDokumenta

Tvrtka

U1 MatBrTvrtkeI2 NazivTvrtke

Drzava

PK OznDrzave

U1 NazDrzave ISO3Drzave SifDrzave

Mjesto

PK,I2 IdMjesta

FK1,I1,I3 OznDrzaveI4 NazMjesta PostBrMjesta PostNazMjesta

Osoba

U1 JMBG PrezimeOsobe ImeOsobe

Page 20: Krešimir Fertalj: Development of a new course on software development – a case study

20Fertalj: Development of a new course, DAAD, 2008.

Representative software solution

Page 21: Krešimir Fertalj: Development of a new course on software development – a case study

21Fertalj: Development of a new course, DAAD, 2008.

Students' project - A real-life problem

Page 22: Krešimir Fertalj: Development of a new course on software development – a case study

22Fertalj: Development of a new course, DAAD, 2008.

A sophisticated evaluation Criteria published two weeks before exam Project results uploaded two days before final evaluation

ocjena ekipe ocjena člana bodova kriterij

PlanRazvoja.mppAžurnost plana 3 Sukladnost plana stvarnom stanju (nositelji, status i dovršenost zadataka)

Izvedivost plana 3 Budući zadaci, nositelji, vremenski raspored, opterećenje

SpecifikacijaDizajna.docSvrha, kontekst i doseg sustava 0 Ne treba opisivati, jer je definirano u specifikaciji

Dizajn podataka Zajednički model baze podataka (jedna slika)Podmodeli podataka 5 Atributi, tipovi podataka, oznake zahtijevanih vrijednosti, primarni i strani ključevi

(veze). Članovi navode tablice zajedničkog modela za koje su pojedinačno nadležni.

Dizajn arhitekture 0 Opis i dizajn korištene arhitekture (model paketa)Dizajn komponente 5 Dijagram strukture programske komponente za obradu Dizajn korisničkog sučelja 5 Opis svih objekata grafičkih sučelja (prozora) i akcija. Slike pojedinih prozora.

Tehnika programiranjaStandard nazivlja 3 Specifikacija korištenog nazivlja u bazi podataka i programskom kodu

Obrada iznimki 3 Programska knjižnica/razred za centraliziranu obradu iznimkiTrag izvođenja aplikacije 3 Programska knjižnica/razred za praćenje traga izvođenja aplikacije

Pridržavanje standarda nazivlja 3 Sukladnost definiranom standardu (dosljednost nazivlja varijabli, postupaka, datoteka, kontrola)

Robustnost aplikacije 3 Ugrađenost obrade iznimki na kritičnim mjestimaPrimjena traga izvođenja aplikacije 3 Bilježenje traga uhvaćenih iznimkiFormatiranje izvornog koda 3 Širina i dubina programskih sljedova, poravnanje (uvlačenje) naredbiModularnost 3 Veličina postupakaDeklaracije i inicijalizacija 3 Deklaracije i inicijalizacija programskih varijabliČitljivost i razumljivost 3 Smislenost naziva varijabli, slamanje logičkih izraza i dugačkih naredbi, programski

komentariFunkcionalnost aplikacije

Glavna obrada komponente 20 Obrada oblika zaglavlje-detalji, bez obzira na arhitekturu. Mogućnosti dohvata, unosa, izmjene i brisanja podataka.

Dodatna funkcionalnost 5 Mogućnost sortiranja, filtriranja podataka, slike, komentariNavigacija podacima 5 Alatna trakaValidacija 5 Provjera valjanosti ključnih podatakaOdabir vrijednosti vezanih podataka 5 Padajuće liste za odabir vrijednosti stranog ključaPoziv forme vezanog podatka 5 Poziv forme za odabir vrijednosti stranog ključa

Ulančavanje procedura 10 Podržanost reprezentativnog scenarija

Nefunkcionalna svojstvaGlavni izbornik 3 MDI sučelje, balansirana hijerarhija, popis i raspored otvorenih formi

Raspored, organizacija sučelja 3 Organizacija zaslonske maske (logičko grupiranje, poravnanje, …)Uvažavanje sadržaja 3 Oponašanje izgleda stvarnih objekata, statusna traka, prikladnost kontrola s obzirom

na tip podatka, dinamički izračun agregiranih vrijednostiEstetika 3 Preglednost, korištenje pisma i bojaMinimizacija napora 3 Tipke za funkcije obrade, slijed unosa, standardne vrijednosti

Dosljednost sučelja 3 Dosljednost izgleda i ponašanja kontrola i formi, na razini projektaPrilagođenost korisniku 3 Intuitivan izbornik, lakoća pristupa i obrade (tipke za ubrzani pristup)

Sigurnost i zaštita 3 Autentifikacija korisnikaArhitektura komponente 20 Dodatna kvaliteta tankog klijenta (10 bodova) ilii višeslojne arhitekture (20 bodova)

UKUPNO 150

team effort

individual effort

grades

Page 23: Krešimir Fertalj: Development of a new course on software development – a case study

23Fertalj: Development of a new course, DAAD, 2008.

The 1st cycle

Page 24: Krešimir Fertalj: Development of a new course on software development – a case study

24Fertalj: Development of a new course, DAAD, 2008.

Contents: SDLC, Project, Requirements Lectures

Laboratory Interview with real users – a faculty team dealing with education, science

and business Homework

requirements determination, installation of IDE, creation of team solution, ...

Topics slides Theory PracticeSoftware engineering fundamentals. Software development life cycle. Software

68 Introduction, definitions, life cycle

Introduction to C#

Project definition. Project plan. Software development environments. Computer aided software engineering. Software version control.

70 Project planning and trackin, SCM, VSS, CASE

Object oriented programming, classes

Requirements Specification. Unified modeling language basics.

74 Analysis, UML, UC, SRS

Code-UML, Inheritance

Coding standards. Programming techniques.

79 Naming, formatting, style

Defensive programming, debugging

Page 25: Krešimir Fertalj: Development of a new course on software development – a case study

25Fertalj: Development of a new course, DAAD, 2008.

Homework Tests

1st interim exam

Page 26: Krešimir Fertalj: Development of a new course on software development – a case study

26Fertalj: Development of a new course, DAAD, 2008.FER \ Fertalj: Razvoj primijenjene programske potpore, 2007/08.

Feedback from students Survey (anonymous questionnaire with student comments)

"useful" "good concept – bad realization" – not expressed what is missing "nobody knows what to do" sort of disappointment, but students never expressed their expectations

Lecturer's comment on homework and project task Continuous assessment ?= campaign alla bolognese

Remove the bug from transparencies ? Classical paper exam expected ? Programming on computer at the examination ?

How an ATM or Student Kiosk would want to behave ? How would a web page want to be designed ?

Page 27: Krešimir Fertalj: Development of a new course on software development – a case study

27Fertalj: Development of a new course, DAAD, 2008.FER \ Fertalj: Razvoj primijenjene programske potpore, 2007/08.

Lessons learned [lessons learned]

Project ... "A temporary endeavor undertaken to create a unique product, service or result"

User story ... "boring interview" ? Domain analysis ... "why the teacher-user does not write what he wants" !? Software specification ... "a cookbook" ? Brooks (Silver Bullet), Paretto (80-20), Murphy/Grimm, ...

Some lecturer's comments Problem solving exceeds pure task solving Stress iterative versus classical software life cycle Applications development deals with users not only computers Executable specification requires a generator, not a programmer

See Guidelines and Recommendations slide again !

Page 28: Krešimir Fertalj: Development of a new course on software development – a case study

28Fertalj: Development of a new course, DAAD, 2008.

The 2nd cycle

Page 29: Krešimir Fertalj: Development of a new course on software development – a case study

29Fertalj: Development of a new course, DAAD, 2008.

Contents: Design, Windows programming Lectures

Homework Various types of windows forms in four steps (homeworks)

Topics slides Theory PracticeGraphical user interface. Event handlers. Dialogs. Data input validation. Construction of custom controls.

64 Criteria of GUI design Windows Forms, delegates, events

Data access logic. 73 ADO.NET Queries, datasets, data validation

Screen design. User process components.

40 Standardization of user interface

Screen layout, basic controls and components

Distributed aplications. Application layers.

60 Thin client, Fat client, Layered applications

N-tier application development

Page 30: Krešimir Fertalj: Development of a new course on software development – a case study

30Fertalj: Development of a new course, DAAD, 2008.

Homework Tests

2nd interim exam

Page 31: Krešimir Fertalj: Development of a new course on software development – a case study

31Fertalj: Development of a new course, DAAD, 2008.

Feedback from students "Tough homework" ?

Homework in 2.cycle is hard due to development of distributed application !!!• 33% students won >= 50% points• 66% students won >= 25% points

Homework in 1st cycle was too easy More than 85% students passed homework

Homework "brings only" 15% points Work at home pays back at the exams !

"Homework should be related to the project" Some students forget about the project and deal (only) with technology

"The automated test is too easy" No student complaints for 30% points to be collected by testing on computer. Single proposal – transfer some of points for tests to reward homework

• Refused by acclamation of students

Page 32: Krešimir Fertalj: Development of a new course on software development – a case study

3rd cycle

Page 33: Krešimir Fertalj: Development of a new course on software development – a case study

33Fertalj: Development of a new course, DAAD, 2008.

Contents: Reporting, Web, Mobile, Documentation

Topics slides Theory PracticeUniversal and self-adaptable program modules. Report design.

65 Standard functions to handle a database table. Types of reports.

Universal screen form. Crystal reports.

File management. Data transfer. Windows services.

70 Classes to handle files, XML, architecture of windows services

Delimited files, Excel files, XML files, Windows service, Notification icon.

Web applications 105 ASP.NET, web page layout and code, HTML and controls

Web pages, Web wizard, Web service, authentification

Mobile applications 50 Compact Framework, pocket GUI specifics

Examples of pocket aplications over XML, pocket database and Web service.

Software parametrization. Internationalization of applications. Context-sensitive help implementation. Writing software documentation. Self-documenting source code.Software release. Software maintenance.

37 Parametrization, internationalization, localization,

Config files, context sensitive help, documentation, installation procedures

Page 34: Krešimir Fertalj: Development of a new course on software development – a case study

34Fertalj: Development of a new course, DAAD, 2008.

Homework Tests

Final exam

Page 35: Krešimir Fertalj: Development of a new course on software development – a case study

At the end of the semester

Page 36: Krešimir Fertalj: Development of a new course on software development – a case study

36Fertalj: Development of a new course, DAAD, 2008.

StatisticsEnrolment 07/08Total number of enrolments 106Number of male students 90Number of female students 16

Achievements 07/08Number of starts 101Retention / % 95.28%Number of passed 86Achievement / % 85.15%

Grade 5 4 3 2 1Number of students with this grade 13 30 30 13 15Minimum number of points for this grade 84.65 70.85 61.90 56.10 /

Page 37: Krešimir Fertalj: Development of a new course on software development – a case study

37Fertalj: Development of a new course, DAAD, 2008.

Bologna process and ECTS engineering Lectures

Presence on lectures 52.77% in average, probably less (cheating)• 7 students had to compensate (non)presence by additional homework

Some students "spare" 4 hours a week, and are disoriented after ... !? Materials (slides)

According to students: "Overloaded, too many slides" (cca 600 slides) Slides substitute textbook, they are not a "quick reference quide"

Laboratory, consultations – not consumed Instead, extensive Q&A emailing takes part particularly during weekend,

before delivery of homework and exam "The automated test is too easy"

Single student proposal – transfer some points for tests to reward homework Some possible "improvements"

reduction of slides, obligatory laboratory, homework due end of work week, classical paper exam , .... ???

Page 38: Krešimir Fertalj: Development of a new course on software development – a case study

38Fertalj: Development of a new course, DAAD, 2008.

Final remarks Organizational issues

Problem of planning for the production of materials Problem of course scheduling, regarding distribution of topics due to exams

Teaching by example of a “real life” problem real life complexity vs. educational simplicity development of software examples requires significant effort

Reusability of materials Only small portions of materials reused from old courses !

Teaching the teachers learn to teach what was not thought before

Final thoughts from students "Too much to work for 4 ECTS" "Let me warn you that this will not be a popular course" "... but the professor and assistants are a good team"

Page 39: Krešimir Fertalj: Development of a new course on software development – a case study

What's next

Master study

Page 40: Krešimir Fertalj: Development of a new course on software development – a case study

40Fertalj: Development of a new course, DAAD, 2008.

Course: Development of Information Systems Short description

This course elaborates both structured and object oriented methods and techniques used in development of complex information systems for end users.

The course examines analysis and design techniques, feasibility analysis, information systems development approaches, systems testing procedures, installation and migration, and maintenance procedures.

Organizational issues with respect to information system development will be considered.

Educational goals The course provides a general knowledge and understanding of all phases

of information systems development. Students will gain practical skills by being involved in developing the model

of a complex, possibly real information system. Students will be able to study an information system, define user

requirements for a new system, propose and evaluate alternative solutions, develop a design for the new system, develop project documentation and deliver, maintain and support corporate information system.

Page 41: Krešimir Fertalj: Development of a new course on software development – a case study

41Fertalj: Development of a new course, DAAD, 2008.

The context Prerequisites: Development of Software Applications

Page 42: Krešimir Fertalj: Development of a new course on software development – a case study

42Fertalj: Development of a new course, DAAD, 2008.

Page 43: Krešimir Fertalj: Development of a new course on software development – a case study

43Fertalj: Development of a new course, DAAD, 2008.

Course: Project Management Short description

Project definition. Project management discipline. Characteristics of successful projects and project failures. Project life cycle.

Project organization. Project management process groups: initiation, planning, executing, controlling, closing.

Planning techniques. Schedule compression. Team work. Project manager role and profession. Authority, responsibility, negotiation and communication management. Conflict management. Financial analysis. Software project specifics. Project management tools. Project documentation. Project evaluation and lessons learned.

Educational goals Students will acquire knowledge about formal project definition, teamwork

and common project life cycle processes. Students will gain good understanding of prerequisites for successful project

management, with emphasis on project domain, business environment and communications aspects.

Students will gain practical skills to participate efficiently in project planning and project management.

Page 44: Krešimir Fertalj: Development of a new course on software development – a case study

44Fertalj: Development of a new course, DAAD, 2008.

The context

Page 45: Krešimir Fertalj: Development of a new course on software development – a case study

45Fertalj: Development of a new course, DAAD, 2008.

Page 46: Krešimir Fertalj: Development of a new course on software development – a case study

Discussion

?