course-details-portlet

PROG2007 - Mobile Programming

About

New from the academic year 2021/2022

Examination arrangement

Examination arrangement: Aggregate score
Grade: Letters

Evaluation Weighting Duration Grade deviation Examination aids
School exam 40/100 3 hours A
Portfolio 60/100

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:

Knowledge

  • 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

Skills

  • 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.

Assessments:

  • Internal assignments
  • Project work 

Additional course information: 

  • Online resources and MOOC-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 one for in depth study (preference given to Android). 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. For Android development, we recommend devices with Android 6.0 or higher.
  • Note: Passing the internal portfolio (oblig assignments, project) is required to be admitted to the exam.

Further on evaluation

Re-sit examination:

Re-sit for the written exam in August. Portfolio of internal assignments must be taken the next time the course is run. Forms of assessment:

  • Portfolio of internal assignments/project (60%) 
  • Final, written exam 3 hours (40%) 

Both portfolio and written exam must be passed in order to pass the course.

Specific conditions

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

No

Facts

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

Coursework

Term no.: 1
Teaching semester:  AUTUMN 2021

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

Examination arrangement: Aggregate score

Term Status code Evaluation Weighting Examination aids Date Time Digital exam Room *
Autumn ORD School exam 40/100 A 2021-12-03 09:00 INSPERA
Room Building Number of candidates
Autumn ORD Portfolio 60/100

Submission
2021-11-30


14:00

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.
Examination

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU