Prerequisite/Recommended prerequisite for
participation in the module
Procedural Programming (3rd semester)
Content, progress and pedagogy of the
module
To build upon the foundation acquired from the programming
courses from 1st and 3rd semester in working
with computers and other digital devices; to learn, practice and
perfect the art and science of software engineering from design and
implementation to delivery; to learn about communications between
digital devices; to learn how to develop graphical user
interfaces.
Learning objectives
Knowledge
Students who complete the module will obtain the following
qualifications:
- Understanding OOSE principles: objects,
classes and instances; encapsulation; inheritance; virtual
functions and polymorphism; overriding and overloading; private vs.
public vs. protected class members; templates
- Understanding OOSE elements: object and class
definitions; instances, data members and functions; pointers and
references; UML
- Understanding OOSE advantages: code
comprehension; debugging; modular development and reusability;
abstraction
- Knowledge of the development of large projects
using an integrated development environment (IDE)
- Understanding concepts of programming for the
Internet and its various applications, such as e-mail, WWW,
peer-to-peer and file transfer
- Understanding the top three layers in the
5-layer Internet protocol stack: Application, Transport and
Network
- Understanding concepts of programming for
networks: clients and servers; sockets; establishing a connection;
ports; IP address; Ethernet address
- Knowledge on the concepts behind graphical
user interfaces (GUIs): common GUI elements; message passing;
issues with cross-platform development; multithreaded
programming
- Knowledge on the concepts behind multithreaded
programming: processes and threads; scheduling; bottle necks and
deadlock; shared data; mutex locks; the race condition
Skills
Students who complete the module will obtain the following
qualifications:
- Design and implement an existing solution to a problem using
OOSE principles: objects, classes and instances; encapsulation;
inheritance; virtual functions and polymorphism; overriding and
overloading; private vs. public vs. protected class members;
templates (application)
- Design and implement a new solution to an existing problem
using OOSE principles that is modular, well-documented and
comprehensible (synthesis)
- Analyze, interpret and explain pre-existing
code and UML
- Analyze and interpret an application
programming interface (API)
- Analyze and work out computational complexity
of an algorithm
- Demonstrate the use of an IDE for code development
(understanding)
- Understand digital application and
communication protocols: HTTP; FTP; SMTP; TCP and UDP
- Implement a program that communicates between two digital
devices at the Application and Transport layers
(application)
- Explain how to use a common GUI API
(understanding)
- Implement a useful GUI with: common GUI elements; message
passing; issues with cross-platform development; multithreaded
programming (application)
Competences
Students who complete the module will obtain the following
qualifications:
- Evaluate and combine adapt pre-existing code, such as libraries
and application programming interfaces (APIs)
(application)
- Recommend changes to an algorithm
(analysis)
Type of instruction
Refer to the overview of instruction types listed in the start
of chapter 3. The types of instruction for this course are decided
in accordance with the current Framework Provisions and directions
are decided and given by the Study Board for Media Technology.
Exam
Exams
Name of exam | Object Oriented Software Engineering |
Type of exam | Written or oral exam
In accordance with the current Framework Provisions and directions
on examination from the Study Board for Media Technology:
Individual oral or written examination with internal censor. The
assessment is performed in accord-ance with the 7-point grading
scale. |
ECTS | 5 |
Permitted aids | With certain aids:
See semester description |
Assessment | 7-point grading scale |
Type of grading | Internal examination |
Criteria of assessment | The criteria of assessment are stated in the Examination
Policies and Procedures |