TTM4115 - Design of Communicating Systems


Examination arrangement

Examination arrangement: Portfolio assessment
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
Portfolio assessment 100/100

Course content

The course is about methods, languages and architectures to develop ICT systems with an emphasis on communication between system components. This includes classical ICT systems, cyber-physical systems, Internet-of-Things systems and emerging combinations of these. The main topics are: - Design of systems according to user requirements and use cases - Languages for system specifications and system models, with an emphasis on behavior descriptions - Semantics of specification and design models and consistency between them. - Development methods, including agile methods

Learning outcome

A. Knowledge: 1) Classify different types of requirements, and explain the main activities during requirements development. Recite and detect potential problems during requirements engineering. 2) Recognize modeling elements in UML, properly explain their semantics, and correctly map them to program code. This includes use case, sequence, state machine and deployment diagrams, among others. 3) Understand and describe the main features of application protocols (like HTTP and MQTT), and select and apply them efficiently and correctly to a system architecture. 4) List and explain the main elements in a development method as for instance Scrum, and reason about their applicability in a given development context. B. Skills: 1) Capture user requirements and synthesize relevant use cases at a proper level of detail. 2) Write project deliverables that describe system requirements, properties and solutions. 3) Plan and coordinate the development of larger software products within a team of developers. 4) Think in terms of states and transitions, and handle complex, concurrent behavior correctly. 5) Model different aspects of a system efficiently, especially with regard to an appropriate level of detail and the consistency between different views. 6) Apply agile development methods and reflect about their usage within the context of a project. 7) Make proper design choices for the system architecture and document them accordingly. C. General Competences: 1) Organize and facilitate meetings in which use cases and user requirements are solicited, discussed and evaluated. 2) Managing the work of several developers. 3) Facilitate team discussions and brainstorming sessions. 4) Provide feedback to the work of others that is critical, constructive and relevant. 5) Reflect over own work done individually and in a team.

The learning outcomes of this course are related to the construction of large-scale, distributed ICT systems that are the backbone of digital infrastructures critical to society. Such systems provide relevant functions in a robust and efficient manner, and are directly related to SDG 9 (Industry, Innovation and Infrastructure). Indirectly such systems also contribute to other SDGs as enablers in various domains, like SDG 2 (Zero Hunger), SDG 3 (Good Health and Wellbeing), SDG 7 (Affordable Clean Energy), to mention a few.

Learning methods and activities

The course uses team-based learning. Traditional lectures and exercises are combined. Throughout the semester, students receive feedback on their learning process by several readiness assurance tests, which also contribute to the final grade. To learn working on larger projects and in a realistic setting, a term assignment is part of the course. In this assignment, students plan, refine and develop an application.

Compulsory assignments

  • System specification document: submission of version 1 and 2
  • Readiness assurance tests (RATs): submission of each individual test
  • Team activities: participation and submission of results at the end of the week

Further on evaluation

The assessment is based on a development project that is conducted as a team. This project results in a system specification document, code and a screencast. These parts are delivered at the end of the semester by each team and are a part of the portfolio of each student.

During the semester, it is mandatory to deliver partial versions of the system specification document.

During the semester, students deliver and receive peer feedback on the partial versions of the system specification documents. The feedback given by each student to other students is part of the graded elements in the portfolio. (Note that this means the feedback given to other students is part of the portfolio, not the feedback received.)

At the end of the semester, each student delivers a reflective essay about the development process and selected topics, which is part of the portfolio.

The grade for the course is based on the items in the portfolio, which is evaluated as a whole. The considered parts are the system delivered in teams (final version of the system specification, code and screencast); the feedback provided to other teams’ system specification, and the reflective essay.

During the semester, the development teams also work through selected team activities that train skills needed for the final deliveries. Participation in these team activities is mandatory, including the delivery of results at the end of the week.

Part of the learning units are also readiness assurance tests (RATs) which are multiple-choice tests that are done first by each student individually and then repeated in the development teams together. The scores of the tests do not count towards the final grade, but the submission of each individual test is mandatory.

The language for all material is English. The individual reflective essay can also be delivered in Norwegian.

Course materials

To be announced at the beginning of the term. The material includes course-specific lecture notes, a compendium from standard software development books as well as online sources, including blog posts, articles and videos.

Credit reductions

Course code Reduction From To
SIE5020 7.5
More on the course

Version: 1
Credits:  7.5 SP
Study level: Second degree level


Term no.: 1
Teaching semester:  SPRING 2024

Language of instruction: English

Location: Trondheim

Subject area(s)
  • Telematics
  • Technological subjects
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Information Security and Communication Technology


Examination arrangement: Portfolio assessment

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Spring ORD Portfolio assessment 100/100
Room Building Number of candidates
  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU