Search programme

​Use the search function to search amongst programmes at Chalmers. The study programme and the study programme syllabus relating to your studies are generally from the academic year you began your studies.

Syllabus for

Academic year
DAT246 - Empirical software engineering
Empirisk programvaruteknik
 
Syllabus adopted 2021-02-17 by Head of Programme (or corresponding)
Owner: MPSOF
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: Second-cycle
Major subject: Computer Science and Engineering, Software Engineering
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Teaching language: English
Application code: 24118
Open for exchange students: Yes
Block schedule: A
Maximum participants: 80
Status, available places (updated regularly): The course round is full

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0114 Written and oral assignments 2,5c Grading: UG   2,5c    
0214 Examination 5,0c Grading: TH   5,0c   25 Oct 2021 pm J,  05 Jan 2022 am J,  23 Aug 2022 pm J

In programs

MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (compulsory)
MPHPC HIGH-PERFORMANCE COMPUTER SYSTEMS, MSC PROGR, Year 2 (elective)
MPDSC DATA SCIENCE AND AI, MSC PROGR, Year 1 (elective)
MPDSC DATA SCIENCE AND AI, MSC PROGR, Year 2 (elective)
MPIDE INTERACTION DESIGN AND TECHNOLOGIES, MSC PROGR, Year 2 (elective)
MPCSN COMPUTER SYSTEMS AND NETWORKS, MSC PROGR, Year 2 (elective)

Examiner:

Richard Torkar

  Go to Course Homepage


Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for the course Empirical Software Engineering the student should have a bachelor degree in Software Engineering, Computer Science or equivalent.

Aim

Software development organizations need to constantly improve to become faster, better, and more efficient. This course aims to learn scientific approaches, in particular experiments and statistics, for data collection e.g. as a basis for analysis and decision support in initiatives to improve performances in software development organizations. The course prepares students for the master thesis project and improves the student’s ability to conduct PhD studies.

Learning outcomes (after completion of the course the student should be able to)

  • Knowledge and understanding:
    • Describe, understand, and apply empiricism in software engineering
    • Describe, understand, and partly apply the principles of case study research/experiments/surveys.
    • Describe and understand the underlying principles of meta-analytical studies.
    • Explain the importance of research ethics. 
    • Recognise and define code of ethics for when conducting research in software
      engineering.  
    • State and explain the importance of threats to validity and how to control
      said threats.
    • Describe and explain the concepts of probability space (incl. conditional probability), random variable, expected value and random processes, and know a number of concrete examples of the concepts.
    • Describe Markov chain Monte Carlo methods such as Metropolis.
    • Describe and explain Hamiltonian Monte Carlo. 
    • Explain and describe multicollinearity, post-treatment bias, collider bias, and confounding
    • Describe and explain ways to avoid overfitting
  •  Skills and abilities:
    • Assess suitability of and apply methods of analysis on data
    • Analyse descriptive statistics and decide on appropriate analysis methods.
    • Use and interpret code of ethics for software engineering research.
    • Design statistical models mathematically and implement said models in a programming language.
    • Make use of random processes, i.e., Bernoulli, Binomial, Gaussian, and Poisson distributions, with over-dispersed outcomes. 
    • Make use of ordered categorical outcomes (ordered-logit) and predictors
    • Assess suitability of, from a ontological (natural process) and epsitemological (maxent) perspective, various statistical distributions
    • Make use of and assess directed acyclic graphs to argue causality
  • Judgement and approach:
    • State and discuss the tools used for data analysis and, in particular, judge their output.
    • Judge the appropriateness of particular empirical methods and their applicability to attack various and disparate software engineering problems.
    • Question and assess common ethical issues in software engineering research. 
    • Assess diagnostics from Hamiltonian Monte Carlo and quadratic approximation using information theoretical concepts, i.e., information entropy, WAIC, and PSIS-LOO.
    • Judge posterior probability distributions for out of sample predictions and conduct posterior predictive checks.


Content

This course is for students who are interested in the empirical methods applied to the field of software engineering. The course introduces quantitative and qualitative methods in software engineering with accompanying statistical methods used for analysis.


The course contains:
  • Descriptive and inferential statistical methods applied to software engineering.
  • Conducting qualitative and quantitative methods in software engineering.
  • Methods for analysing quantitative and qualitative data in software engineering.
  • Usage of statistical tools.

Organisation

The course introduces quantitative and qualitative methods in software engineering research with accompanying statistical methods used for analysis.

The course contains: Descriptive and inferential statistical methods applied to software engineering. Conducting qualitative and quantitative methods in software engineering. Methods for analysing quantitative and qualitative data in software engineering. Usage of statistical tools.

Literature

We will use different textbooks and research articles for different parts. More information will be given before the course starts.

Examination including compulsory elements

The examination will be conducted through an individual assignment. The assignment is theoretical and practical in its nature.
Additionally, a written hall exam is part of the examination.




The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.


Page manager Published: Mon 28 Nov 2016.