Course - Design of Communicating Systems - TTM4115
TTM4115 - Design of Communicating Systems
Examination arrangement: Portfolio assessment
|Evaluation form||Weighting||Duration||Examination aids||Grade deviation|
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
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.
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.
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.
- Report 1: Requirements
- Report 2: System specification
- Report 3: Implementation
Further on evaluation
The final grade in the course is based on a portfolio, with the intention to facilitate learning and to provide feedback to students throughout the semester, and enable learning in the context of realistic development conditions through a semester project. The portfolio contains a series of tests, so-called readiness assurance tests (RATs) that are done during class time. Each test introduces the students to a new subset of concepts, as a means to provide feedback on their level of preparation. These tests are multiple-choice and are given, like the preparation material, in English language only. To also develop skills and knowledge on higher cognitive levels, the portfolio contains a development project, tightly connected to the content of the RATs, that students conduct throughout the semester in teams. The teams hand in various specification documents about their system common in real projects, and receive feedback on them throughout the semester in various ways, including feedback by peers, student and teaching assistants and the teacher. At the end of the semester, each student hands in their individual portfolio, consisting of their team's documents in addition to individual deliveries and reflections that set the team document in context. The exact details of the deliveries and requirements are carefully explained at the beginning of the course. The portfolio is evaluated as a whole according to NTNUs grading scheme. The language for all material is English.
Exam registration requires that class registration is approved in the same semester. Compulsory activities from previous semester may be approved by the department.
Recommended previous knowledge
TDT4100 Object-Oriented Programming and TTM4100 Communication - Services and Networks, or equivalent.
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.
Credits: 7.5 SP
Study level: Second degree level
Term no.: 1
Teaching semester: SPRING 2021
No.of lecture hours: 4
No.of specialization hours: 8
Language of instruction: English
- Technological subjects
Department with academic responsibility
Department of Information Security and Communication Technology
Examination arrangement: Portfolio assessment
- Term Status code Evaluation form Weighting Examination aids Date Time Digital exam Room *
- Spring ORD Portfolio assessment 100/100
Room Building Number of candidates