2D1356 Objektorienterad programkonstruktion, 4 poäng, för D, (E) och (F)

Mål

Kursens mål är att för att eleverna ska

Förkunskaper

Motsvarande kursen 2D1340 Introduktion till datalogi.

Kursinnehåll

Objektorientering, principer och begrepp: objekt, klass, instans, attribut, metod, arv etc. Abstrakta datatyper, generiska datatyper, polymorfism.
Objektorienterad analys, modellering och design: principiella tillvägagångssätt, exempel på notationer, kriterier på god design och robust programuppbyggnad. Systematiska principer för konstruktion av korrekta och robusta program.
Objektorienterade språk: olika språkfamiljer, deras grundläggande begrepp och skillnader. Genomgång av Smalltalk och C++. Programmering i dessa språk. Smalltalks programmeringsmiljö. Programmeringsprinciper för att dra nytta av objektorienterade programspråks särskilda egenskaper.
Testning av objektorienterade program: typer av fel, skillnader mot imperativa program, val av testdata och testprocedurer.

Kursuppläggning

Föreläsningar
30 h
Övningar
12 h
Laborationer
24 h

Examination

Laborationsuppgifter (LAB1; 3 p).
Laborationsuppgifter (LAB2; 1 p).
Betygsskala: 3, 4, 5.
Fördjupningsnivå: C

Kurslitteratur

Enligt förteckning på institutionen.

2D1356 Object Oriented Program Construction, 4 credits

Goals

The goals of the course is to give the students so that they will be able to

Prerequisites

2D1340 Introduction to Computer Science or the equivalent.

Contents

Object orientation, principles and concepts: Object, class, instance, attribute, method, inheritance etc. Abstract data types, generic data types, polymorphism.
Object oriented analysis, modeling, and design: Procedures, examples of notations, criteria of good design and robust program construction. Systematic principles for construction of correct and robust programs.
Object oriented languages: Different language families: their fundamental concepts and differences. Coverage of Smalltalk and C++. Programming in these languages. The Smalltalk programming environment. Programming principles that take advantage of the properties of object oriented programming languages.
Testing of object oriented programs: Types of errors, differences to imperative programs, choice of test data and procedures for testing.

Examination

Laboratory assignments (LAB1; 3 cr.).
Laboratory assignments (LAB2; 1 cr.).
Grades: 3, 4, 5.

Required reading

Reading list available at the department.


^ Upp till kursens hemsida.


Senast ändrad 1995-08-08 <www-kurs@nada.kth.se>