IN5600 – Programming Ubiquitous Things

Course content

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, analyze and implement such systems and applications.

Learning outcome

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 a 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

Admission to the course

The course is limited to 20 students?in total?(IN5600 and IN9600 altogether)?according to the following ranking rules:

  1. Phd students with the course in approved plan
  2. Master of Informatics: Programming and System Architecture programme option Software with the course in an approved study plan
  3. Masters students in Informatics programmes with the course in an approved study plan
  4. Masters students at the MN faculty with the course in an approved study plan
  5. Masters students in Informatics programmes
  6. Others

IN5020 – Distributed Systems

The most relevant knowledge students will need from IN5020 is knowledge of Java and knowledge of the basic principles and concepts of distributed systems.

Overlapping courses

Teaching

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.

Examination

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:?IN9600 - 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.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F?is a fail. 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.

More about examinations at UiO

You will find further guides and resources at the web page on examinations at UiO.

Last updated from FS (Common Student System) May 9, 2024 6:54:52 AM

Facts about this course

Level
Master
Credits
10
Teaching
Spring
Examination
Spring
Teaching language
English