DD2385 Software Engineering 6.0 credits
This course has been cancelled.
A second course in computer science treating object oriented programming, object oriented modeling and analysis, program development with design patterns and advanced Java class libraries.
Education cycleSecond cycle
Main field of studyComputer Science and Engineering
Information and Communication Technology
Grading scaleA, B, C, D, E, FX, F
Last planned examination: spring 20.
At present this course is not scheduled to be offered.
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
- 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.
Course main content
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.
Single course students: 90 university credits including 45 university credits in Mathematics or Information Technology. English B, or equivalent and Swedish B, or equivalent.
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.
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.
- LABA - Laboratory Work, 3.0, grading scale: A, B, C, D, E, FX, F
- TEN1 - Examination, 3.0, grading scale: A, B, C, D, E, FX, F
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.
CSC/Theoretical Computer Science
Vahid Mosavat (firstname.lastname@example.org)
Ann Bengtsson <email@example.com>
Vahid Mosavat <firstname.lastname@example.org>
The course will from 2017/2018 have the new course code DD1385.
DD1388 Program System Construction Using C++
Course syllabus valid from: Spring 2013.
Examination information valid from: Spring 2009.