DV1567 Performance Optimization

Programme course, 7,5 Higher education credits, First cycle, autumn semester 2022

This course is part of a programme and cannot be applied.

Performance is an important aspect of all software. In order to develop good and high-performance software, it is essential that students have a good understanding of and can apply the different methods and techniques to analyze and optimize the performance of a software system.

Facts

  • Type of instruction: On campus, day, part-time 50%
  • Period : 2022-August-29 until 2022-October-30
  • Education level: G2F
  • Application: This course is part of a programme and cannot be applied.
  • Language of instruction: The language of instruction is English.
  • Location: Karlskrona
  • Main field of study: Computer Science
  • Course syllabus: Download
  • Welcome letter: This course is part of a programme and has no welcome letter.
  • Entry requirements: Admission to the course requires completed course in Programming, 15 ECTS credits and Datastructures and Algorithms, 6 ECTS credits,Computercommunication 4 ECTS credits,Realtimesystems and operatingsystems 6 ECTS credits.

Content

The course includes the following elements:
- overview of which factors that effect performance in a computer system
- the hardware and platform components that effect software performance
- methods for performance measurement and instrumentation
- performance and scalability testing
- methods to model and analyze the performance of computer and software systems
- high-level and low-level optimizations
- methods and techniques to improve software performances and scalability (including an overview on distributed and parallel programming)

Learning outcomes

Knowledge and understanding
On completion of the course the student will:

  • provide a general account of how a modern computer system is constructed and how it affects performance
  • provide a detailed account of different ways to test and measure software performance and scalability
  • provide a general account of different ways to model software systems and analyzed their performance and scalability
  • provide a detailed account of different techniques to improve the performance and scalability of software systems.


Skills and abilities
On completion of the course the student will:
  • test, measure and analyse the performance of a software system
  • identify performance problems
  • perform appropriate optimisations to improve performance and scalability
  • develop simple performance model of a software system
  • apply different techniques to improve the performance of software systems in practice.


Approach and ability to evaluate
On completion of the course the student will:
  • explain and justify their solutions to laboratory and project assignments in both speech and writing
  • independently and critically evaluate their own and others’ solutions.

Course literature and other teaching material

Main literature
Software Performance and Scalability: a quantitative approach, Herry H.Liu, 2009, Wiley-Blackwell, ISBN 978-0-470-46253-9.

Reference literature
Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software, C.U. Smith & L.G. Williams, Addison-Wesley, 2001, ISBN10: 0201722291.
Foundation of Software and System Performance Engineering: Process, Performance modeling, Requirements, Testing, Scalability and Practice, André B. Bondi, 2015, Pearson Education Inc., ISBN13: 978-0-321-83382-2.
Model Based Software Performance Analysis, Vittorio Cortellessa et al., 2011, Springer Verlang, ISBN13: 978-3-642-42761-9.
Computer Architecture ? A Quantitative Approach, 4th edition?J.L. Hennessy & D.A. Patterson, Morgan Kaufmann Publishers, 2006, ISBN13: 978-0-12-370490-0.

Course literature and other teaching material

Main literature
Software Performance and Scalability: a quantitative approach, Herry H.Liu, 2009, Wiley-Blackwell, ISBN 978-0-470-46253-9.

Reference literature
Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software, C.U. Smith & L.G. Williams, Addison-Wesley, 2001, ISBN10: 0201722291.
Foundation of Software and System Performance Engineering: Process, Performance modeling, Requirements, Testing, Scalability and Practice, André B. Bondi, 2015, Pearson Education Inc., ISBN13: 978-0-321-83382-2.
Model Based Software Performance Analysis, Vittorio Cortellessa et al., 2011, Springer Verlang, ISBN13: 978-3-642-42761-9.
Computer Architecture ? A Quantitative Approach, 4th edition?J.L. Hennessy & D.A. Patterson, Morgan Kaufmann Publishers, 2006, ISBN13: 978-0-12-370490-0.

Learning methods

The theoretical basics in the course is presented in lectures and / or exercises. The student is also
expected to independently gain theoretical knowledge through independent study of relevant
literature. Theoretical knowledge is then applied practical both in teacher-led mandatory laboratory exercises and partly in project assignments carried out individually or in groups within a given time frame.

Work placement

Laboratory sessions and project wor.

Teachers

Planned learning activities

Lectures, seminars, laboratory sessions and project.

Time allocation

On average, a student should study 200 hours to reach the learning outcomes.
This time includes all the various available learning activities (lectures, self studies, examinations, etc.).
This estimation is based on the fact that one academic year counts as 60 ECTS credits,
corresponding to an average student workload of 1 600 hours. This may vary individually.

Assessments

Component examinations for the course
Code Title ECTS credits Grade
1710 Laboratory 1 G-U
1720 Project 1 2 A-F
1730 Project 2 2 A-F
1740 Exam 2.5 A-F

Grading

The course will be graded A Excellent, B Very good, C Good, D Satisfactory, E Sufficient, FX Insufficient, supplementation required, F Fail.

Exams

More information about exams are found in the Student's Portal, where you also enrolls for most exams.


There might be other scheduled examinations. Information regarding these examinations are available in the learning platform Canvas or at other places that the person who is responsible of the course will refer to.

Course Evaluation

The course manager is responsible for the views of students on the course being systematically and regularly gathered and that the results of the evaluations in various forms affect the form and development of the course.

Do you have a question? Type it here and we will get back to you as soon as possible!
×