IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Performance og test 
Kursusnavn (engelsk):Performance and Test 
Semester:Efterår 2009 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:15,00 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:12 
Forventet antal deltagere:20 
Maks. antal deltagere:80 
Formelle forudsætninger:Basic ability to program in some imperative programming language (Java, Python, C/C++/C#, etc.), using conditions, loops, arrays, methods/procedures/functions, and simple recursion. This may be obtained by following the IT University courses Object Oriented Programming - Introduction, or Introductory Programming or similar courses.

Knowledge of basic mathematical concepts like: sets, functions, graphs, and trees. These can be obtained by following the IT University course Modelling and Design
Læringsmål:This course builds on your prior knowledge of programming, modelling and design.
It will teach essential theory and tools for designing efficient and correct programs. The three areas covered are: Performance, test, and software development practices.

After the course the student is able to

  • analyze worst-case running time and space of programs
  • argue for correctness of programs
  • solve basic recurrence relations
  • assess scalability of a given software solution, using asymptotic analysis.
  • choose among and make use of the most important algorithms and data structures in libraries, based on knowledge of their complexity.
  • describe the most important hardware factors influencing the speed at which a program runs.
  • incorporate systematic testing in software development.
  • design test cases from requirements.
  • implement and perform tests.
  • apply tools for configuration management, knowledge sharing, and documentation.
 
Fagligt indhold:Performance will be taught in a series of around 9 lectures with associated exercise classes.
Topics covered are among others:
complexity analysis, big-O, correctness (loop invariants, assertions), algorithmic problem solving techniques including divide-and-conquer, concrete algorithms and data structures for search trees, sorting, hashing, graphs, shortest paths.

The lectures will cover theory and the exercise classes and a large project will train practical issues of applying the theory.

Test and software practices will be taught in a series of about 5 lectures with associated lab exercises and applied systematically in the project.
Topics covered are:
testing against a specification (whitebox, blackbox, regression testing), testing objectives (coverage, performance, functionality, user interaction, writing test scripts with JUnit, code inspection, limitations of testing, knowledge sharing (maintaining documentation, wiki mechanisms, tracking requirements and issues, maintaining documentation), and configuration management (versioning and build automation).

The project will be started after 5 weeks and runs in groups of 3-4 people. It will implement a substantial piece of software with a non-trivial algorithm using the software tools introduced, and systematic application of testing. 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger, øvelser og vejledning

Around 14 lectures with exercise classes. Twice a week for the first 5 weeks. A larger project corresponding to half the course. All material apart from the textbooks will be made available on the Web.

-----------


Se hvordan undervisningen er tilrettelagt her:
link til skemaoplysninger
Skemaoplysningerne vil være tilgængelige fra kort før semesterstart.

See the schedule here:
link to the time table
The schedule will be available shortly before the beginning of the term.
--------------

Information om studiestruktur / Information about study structure
Dette kursus er en del af SDTs obligatoriske moduler, som du kan finde beskrevet her: SDT studiestruktur
For at blive cand.it. i SDT skal du bestå SDTs backbonekurser, og desuden gennemføre en 22,5 ECTS specialisering samt to 7,5 ECTS valgfag.

This course is part of the SDT mandatory modules – find them described here:
SDT study structure
In order to graduate as a MSc in SDT, you need to pass the SDT backbone courses, and also take a 22.5 ECTS specialization and two 7.5 ECTS electives.
 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

 

Litteratur udover forskningsartikler:
  • Kurt Mehlhorn, Peter Sanders, Algorithms and Data Structures - The Basic Toolbox,
    Springer 2008, ISBN: 978-3-540-77977-3
  • Anne Mette Jonassen Hass. Guide to Advanced Software Testing. ISBN-13: 9781596932852
  • various notes and articles available on-line
 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Onsdag 10.00-12.00 Forelæsning ITU 3A12
Onsdag 13.00-15.00 Øvelser ITU 3A14, 3A50, 3A52
Fredag 09.00-12.00 Forelæsning ITU 3A12 (Lectures 9-11)

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2009-12-16 Før kl. 15 Skriftlige arbejder ITU Eksamenskontoret (2E)
2010-01-14 Kontakt kursusansvarlig Mundtlig eksamen ITU Forberedelse: 3A58 + Eksamination: 3A08
2010-01-15 Kontakt kursusansvarlig Mundtlig eksamen ITU Forberedelse: 3A58 + Eksamination: 3A08