IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Performance og test 
Kursusnavn (engelsk):Performance and Test 
Semester:Forår 2007 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:15,00 
Kursussprog:Engelsk 
Kursushjemmeside:http://www.itu.dk/courses/SPT/F2007/index.html 
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 first semester course OPI of the new SDT study programme, or the earlier GP and IPBR.

Knowledge of basic mathematical concepts like: sets, functions, graphs, and trees. These can be obtained by following the Models and Design course at ITU (1. semester SDT backbone). 
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 should:
  • Be able to analyze time and space usage of programs.

  • Be able to argue for correctness of programs.

  • Be able to assess scalability of a given software solution, using asymptotic analysis.

  • Be able to choose among and make use of the most important algorithms and data structures in libraries, based on knowledge of their complexity.

  • Know about the most important hardware factors influencing the speed at which a program runs.

  • Be able to incorporate systematic testing in software development.

  • Be able to design test cases from requirements.

  • Be able to implement and perform tests.

  • Be able to apply to software engineering 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 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 will be made available on the Web.

-----------
I intro-ugen (uge 5) er der ændrede kursustidspunkter:
Link til skemaoplysninger

In the intro week (week 5) the course time table is changed:
Link to the time table
--------------

Information om studiestruktur / Information about study structure
Dette kursus er en del af SDT¿s obligatoriske moduler, som du kan finde beskrevet her: SDT studiestruktur
For at blive cand.it. i SDT skal du bestå SDT¿s 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), 13-skala, Ekstern censur

Exam form will be oral with 30 minutes preparation.

Som en del af dette kursus forventes du at skrive et større projekt sideløbende med undervisningen. Vejledning foregår i forbindelse med undervisningen og der kan blive tale om undervisningsgange afsat til vejledning eller projektskrivning. Projektet har et omfang svarende til 7,5 ECTS og kan tælle som programmeringsprojekt. Det skal afleveres den 23. maj 2007 på Eksamenskontoret senest kl. 15.00 Den efterfølgende mundtlige kursuseksamen vil normalt tage udgangspunkt i projektet.

You¿re expected to write a fair-sized project as part of this course while you attend classes. Supervision will take place in relation to teaching, and some classes could even be reserved to project writing and supervision only. The project size corresponds to 7.5 ECTS and can be regarded as a programming project. It must be handed in by May 23rd at the Exam Office no later than 3 PM. The project will normally serve as starting point at the following oral exam.
 

Litteratur udover forskningsartikler:
  • Robert Sedgewick, ¿Algorithms in Java, Third Edition (Parts 1-5)¿ (two books). Can be bought as a bundle.


  • Book on testing to be determined

    + various online notes. 
     
    Afholdelse (tid og sted)
    Kurset afholdes på følgende tid og sted:
    UgedagTidspunktForelæsning/ØvelserStedLokale
    Onsdag 13.30-16.00 Forelæsning ITU 2A14 (Note: Teaching until 4:30 PM)
    Fredag 10.00-12.00 Forelæsning ITU 2A14
    Fredag 13.00-16.00 Øvelser ITU 2A52

    Eksamen afholdes på følgende tid og sted:
    EksamensdatoTidspunktEksamenstypeStedLokale
    2007-05-23 No later than 3 PM Skriftlige arbejder ITU The Examination Office
    2007-06-15 Tidspunkt oplyses senere Mundtlig eksamen ITU Lokale oplyses senere
    2007-06-18 Tidspunkt oplyses senere Mundtlig eksamen ITU Lokale oplyses senere
    2007-06-19 Tidspunkt oplyses senere Mundtlig eksamen ITU Lokale oplyses senere