PROG2007 - Mobile Programming


Examination arrangement

Examination arrangement: Aggregate score
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
Project 60/100
Written exam 40/100 2 hours A

Course content

The field of mobile system development changes rapidly. Thus the topics covered need to be flexible and are subject to change. Tentative course contents include, but are not limited to:

  • Strengths and weaknesses of mobile technologies
  • Limitations of mobile devices available on the market
  • Programming Design Patterns for mobile systems
  • Layout and UI designs and practices for mobile screens
  • Using alternative input interfaces
  • Sensor integration - GPS, accelerometer/gyro, tilt, magnetic field, compass and camera
  • Managing multiple product types and form factors
  • OS-specific development issues: Apple's iOS vs. Google's Android
  • Mobile networking and cloud technology stack
  • Additional advanced topics (optional)
    • Raw data filtering
    • Signal processing (audio/visual, text)
    • IoT

Learning outcome

On completion of this course the students will have the following skills, knowledge and general competencies:


  • Recognize and discuss the strengths and weaknesses of mobile technologies
  • In-depth knowledge of mobile development process
  • Discuss main mobile application components, their function, and purpose
  • Recognize and plan the mobile applications structure
  • Know the performance limitations of mobile technologies
  • Discuss and review the special user interface requirements of mobile devices
  • Have in-depth understanding of the mobile app development process
  • Identify the ethical and social impact of mobile devices on society


  • Be able to identify and characterize the strengths and weaknesses of mobile technologies, and their performance limitations
  • Ability to develop a mobile solution to a defined problem
  • Ability to implement a mobile application and utilize the screen, input mechanisms, database, social aspects and Internet connectivity characteristic to mobile platforms
  • Be able to use an integrated development environment (IDE) to implement applications for mobile devices on the Android and/or iOS platforms
  • Be able to access and use the variety of input methods for mobile UI
  • Develop an appreciation of the potential for innovation in mobile/wearable technology and services, and its impact on society

General competence

  • Improved understanding of the software development process
  • Exposure to, and understanding of group projects and group dynamics in the software development team
  • Improved programming skills

Learning methods and activities

We use a blended learning approach in which we mix conventional lectures, as well as tutorials and exercises with online lectures and learning materials.


  • Mandatory assignments (pass/fail)
  • Project work, which will be assessed as part of the exam.

Additional course information:

  • Online resources and MOOC/Flipped classroom supported learning are used in this course.
  • Project work: student will receive an overview of the mobile development process on a range of devices, but will select Android for in depth study. Some mobile devices will be available for testing, but it would be beneficial for the student to have access to a personal mobile device, specifically for iOS if they wish to test on it. For Android development, we recommend devices with Android 6.0 or higher.
  • Note: Three obligatory assignments (pass/fail) is required to be admitted to the exam.

Compulsory assignments

  • Mandatory assignments

Further on evaluation

Re-sit examination:

Re-sit for the written exam in August. No re-sit for the project work.

Internal assignments must be taken again the next time the course is run.

Forms of assessment:

  • Three obligatory assignments (pass/fail)
  • Project work (60%)
  • Final, written exam 2 hours (40%)

Required previous knowledge

  • PROG1001 Fundamental Programming or equivalent
  • Java programming

Course materials

Web resources, tutorials, and guides documents for iOS and Android.

More on the course



Version: 1
Credits:  7.5 SP
Study level: Intermediate course, level II


Term no.: 1
Teaching semester:  AUTUMN 2024

Language of instruction: English

Location: Gjøvik

Subject area(s)
  • Computer Science
Contact information
Course coordinator:

Department with academic responsibility
Department of Computer Science


Examination arrangement: Aggregate score

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Autumn ORD Written exam 40/100 A INSPERA
Room Building Number of candidates
Autumn ORD Project 60/100 INSPERA
Room Building Number of candidates
Summer UTS Written exam 40/100 A INSPERA
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