DD2386 Patterns for Large-scale Development 7.5 credits

Mjukvarukonstruktion i större system

Offering and execution

Course offering missing for current semester as well as for previous and coming semesters

Course information

Content and learning outcomes

Course contents *

Design patterns: open-closed principle, single responsibility principle, inversion of control, strategy pattern, template pattern, adapter pattern, wrapper pattern, decorator pattern and builder pattern; unit - and system testing, dependency injection, global state, APIs, implementation leakages, documentation of components.

Intended learning outcomes *

After completion of the course, the student should be able to

  • identify the need of design patterns in development of new or in administration of existing code, and implement these, where appropriate
  • structure, from an object-oriented perspective, large programs so that they become easier to understand and manage
  • design and document public APIs with a clear responsibility
  • design entities so that they become testable and write tests for them
  • protect the internal design from the public APIs
  • develop a program in collaboration with other developers
  • review and reflect on program code
  • develop given program code

in order to

  • understand and master the parameters within software development that make program code sustainable, re-usable flexible to change of requirements.

Course Disposition

The course consists of a series of lab assignments, sprints, where new demads will be presented in each sprint. At the end, code review of code written by others should be performed.

Literature and preparations

Specific prerequisites *

For non-program students, 90 credits being required of which 45 credits have to be within mathematics or informatics. Furthermore English B or the equivalent is required .

Recommended prerequisites

No information inserted

Equipment

No information inserted

Literature

Reading list is presented no later than 4 weeks before the start of the course on the course web.

Examination and completion

Grading scale *

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

Examination *

  • PRO1 - project, 7.5 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.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted

Examiner

Tomas Ekholm

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web DD2386

Offered by

EECS/Computer Science

Main field of study *

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

Education cycle *

Second cycle

Add-on studies

No information inserted

Contact

Tomas Ekholm, tomase@kth.se

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.

Supplementary information

The course will be replaced by DD2487 from 2017.