Skip to main content
Till KTH:s startsida Till KTH:s startsida

DD2385 Software Engineering 6.0 credits

Course offerings are missing for current or upcoming semesters.
Headings with content from the Course syllabus DD2385 (Spring 2013–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Object oriented programming in Java. Class libraries for collections, grafical components, client-server programming and threads. UML class diagrams.

Design patterns for object oriented program development and design criteria.

XML. Common object oriented methodologies. Testing. Other UML than class diagrams.

Lab work in Java. Alls labs are documented with UML.

Intended learning outcomes

The overall aim of the course is to provide an understanding of basic object oriented software development including the use of design patterns, based on the Java programming language.

After the course you should be able to:

  • Use object oriented principles and concepts including loose coupling, encapsulation, inheritance and polymorphism in your own programming.
  • Describe and apply principles for good object oriented design.
  • Describe common design patterns and choose suitable patterns for simple applications.
  • Use UML class diagrams to document your own programming work in a clear and legible way.
  • Interpret UML class diagrams, e.g. as introduction to new 
    design patterns.
  • Understand a variety of advanced Java features including Swing GUI 
    components, exceptions, network programming and concurrency and be
    able to use these in lab work.
  • Perform an object-oriented analysis of an informal text-based software requirements document and use a Noun/Verb/Relational-Phrase methodology, to construct a data dictionary.
  • Translate the information contained in a data dictionary into a UML class diagram which accurately models the same information, including aggregation, inheritance and multiplicity.

Literature and preparations

Specific prerequisites

Single course students: 90 university credits including 45 university credits in Mathematics or Information Technology. English B, or equivalent and Swedish B, or equivalent.

Recommended prerequisites

Knowledge in programming and computer science corresponding to the courses DD1320, DD1321, DD1343 + DN1243 or DD1344.
Skills in the Java language corresponding to DD1342 or DD2310.

Equipment

No information inserted

Literature

Course literature will be announced at least 4 weeks before course start at course web page. The year before this Brande, Software design, was used.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F

Examination

  • LABA - Laboratory Work, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • TEN1 - Examination, 3.0 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

In this course all the regulations of the code of honor at the School of Computer science and Communication apply, see: http://www.kth.se/csc/student/hederskodex/1.17237?l=en_UK.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted

Examiner

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Computer Science and Engineering, Information Technology, Information and Communication Technology

Education cycle

Second cycle

Add-on studies

DD1388 Program System Construction Using C++

Contact

Vahid Mosavat (vahid@kth.se)

Supplementary information

The course will from 2017/2018 have the new course code DD1385.