IN9600 – Programming Ubiquitous Things
Changes in the course due to coronavirus
Autumn 2020 and Spring 2021 the exams of most courses at the MN Faculty will be conducted as digital home exams or oral exams, using the normal grading scale. The semester page for your course will be updated with any changes in the form of examination.
Please note that there may be changes in the form of examination for some courses taught Spring 2021. We aim to bring both the course description and the semester page of all courses up to date with correct information by 1 February 2021.
The course will provide a solid base for understanding the challenges and problems underlying the design and development of support software (middleware and operating system) for applications in environments with mobile and ubiquitous entities (people, hardware, software). Thus, this course will teach how to specify, design, program, analyse and implement such systems and applications.
After taking this course you will:
- understand the basic principles and concepts of ubiquitous/mobile systems
- understand the challenges of developing ubiquitous/mobile applications and middleware, and the possible solutions to deal with them
- understand the issues of context awareness, (location in particular), adaptability, cyber-foraging, replication, consistency, synchronization, battery consumption, and security
- be able to decide which is the best approach for a particular problem regarding the design and development of an ubiquitous/mobile application/middleware
- be able to design, and implement an application for Android smartphones/things while taking into account some of the issues previously mentioned
For PhD students, there is a set of more advance papers to be presented and discussed, resulting in them:
- being better equipped to understand/discuss/analyse/evaluate the solutions that are addressed
- having a more profound knowledge of the most recent works in the area
- having a better knowledge of the theoretical issues addressed with a focus on the consistency protocols used (e.g., sessions guarantees)
Admission to the course
The course is limited to 20 students (IN5600 and IN9600 altogether) according to the following ranking rules:
- Phd students with the course in approved plan
- Master of Informatics: Programming and System Architecture programme option Software with the course in an approved study plan
- Masters students in Informatics programmes with the course in an approved study plan
- Masters students at the MN faculty with the course in an approved study plan
- Masters students in Informatics programmes
- 10 credits overlap with IN5600 – Programming Ubiquitous Things.
2 hours of lectures and 2 hours of group exercises per week.
During the lectures, lecturers and students will present and discuss articles. Presentation of articles is mandatory.
As part of the group exercises, the students will develop a mandatory project (in groups of 2) with guidance from the lecturer. There will be mandatory programming exercises. Read more about requirements for submission of assignments, group work and legal cooperation under guidelines for mandatory assignments.
It is compulsory to attend the first lecture as important information will be provided.
The evaluation will consist of 2 parts:
- Project assignment in a group which counts 50% towards the final grade
- Oral exam which counts 50% towards the final grade, where the participants in the group are heard in the project simultaneously and examined in the theoretical material. Grades for the oral exam are given individually.
Both parts must be passed and they must be passed in the same semester.
It will also be counted as one of your three attempts to sit the exam for this course, if you sit the exam for one of the following courses: IN5600 - Programming Ubiquitous Things
Examination support material
No examination support material is allowed.
Language of examination
The examination text is given in English. You must answer in English.
Grades are awarded on a pass/fail scale. Read more about the grading system.
Resit an examination
Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester. Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.