IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Advanced Software Engineering, MSc 
Kursusnavn (engelsk):Advanced Software Engineering, MSc 
Semester:Forår 2017 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:
Maks. antal deltagere:20 
Formelle forudsætninger:You should have read an introductory course in software development and - maybe as part of it - participated in a small team project of at least six team members. 
Læringsmål:After the course the student should to be able to:
- analyse and discuss and relate current research in software engineering and to discuss its relation to industrial practice.
- discuss the advantages and disadvantages of different methods, principles and practices presented to organise and support software development.

- identify a Software Engineering research problem and device a research approach to address the problem

- discuss how to systematically research specific aspects of software engineering 
Fagligt indhold:The course addresses M.Sc. students who have already read an introductory course and who are interested in discussing current development in software engineering research and practice. The goal is not to provide knowledge about specific ways of developing software but to enable the participants to evaluate and compare different methods and approaches.

Software engineering today is more and more diversifying: contract development and in-house development has long been complemented by generic software product development and implementation. The provisioning of software as services via cloud servers again changes the game. Agile development is complemented by continuous software engineering and the DevOps model. On the other side, more and more end users customise and configure their software. To address these challenges, software engineering is conceptualised as 'designing design' (Floyd), that means structuring, organizing and supporting the design and development of software.

The course is organised in 2-week modules. In each two week module, a number of different approaches and methods are discussed with relation to the problems they address and to their applicability for different kinds of software development, e.g. application domain, technical vs social embedded systems, size of project, customer/user contact, or deployment model.

The course starts with recapitulate the central topics of software engineering and relating them to the recent developments each in a 2 weeks module:
- software development processes,
- quality assurance (including the CMM) and
- change and configuration management.
The perspective is applied and refined when addressing three electable topics. This allows accommodating the interests of the participants. The following list presents examples for the electable topics:
- Flexible software development methods like eXtreme programming, and agile development
- Continuous Software Engineering
- Software process improvement, maturity models and software quality
- Infrastructure development
- End User Development
- Productification of software, design and development of software products
- Knowledge management in Software Engineering
- Off-shore outsourcing 
Læringsaktiviteter:

The tuition will take place in 2 weeks modules addressing a topic each.

Lectures are combined with student centered learning activities especially the reading, analysis and discussion of scientific literature related to the topics and presentation of the results.

The learning activities are chosen so that students learn to understand, analyse and relate academic literature to practical or research problems.

Parallel to the theoretical part of the course, the students work on their exam assignments. They are supported by learning modules on reading academic texts, literature search and evaluation and research methods and individual or small group supervision.

The course is co-read with a course for the part time Master program in Software Engineering, which allows to relate the theoretical findings to industrial practice. 

Obligatoriske aktivititer:Der er ingen obligatoriske aktiviteter. Vær venlig KUN at ændre denne tekst når der er obligatoriske aktiviteter.
There are no mandatory activities. Please, change this text ONLY when there are mandatory activities. 
Eksamensform og -beskrivelse:D22: Aflevering med mundtlig eksamen suppleret af aflevering., (7-scale, external exam)

The written work consists of a Project Proposal addressing a research question of interest for the student.

The duration of the oral exam is 30 minutes pr. student including evaluation and feedback  

Litteratur udover forskningsartikler:The syllabus consists of about 20 articles that are discussed in the course.

Reference literature (for reading up on the themes addressed):
Ian Sommerville: Software Engineering. 10th Edition. Addison-Wesley 2015.
or any of the other standard course books for software engineering.