Mobile app development Code:  22.603    :  6
View general information   Description   The subject within the syllabus as a whole   Professional fields to which it applies   Prior knowledge   Information prior to enrolment   Learning objectives and results   Content   View the learning resources used in the subject   Guidelines on assessment at the UOC   View the assessment model  
You can use the course plan to plan your enrolment (check to see whether the course is being run this semester in the More UOC / The University / Programmes of study section on Campus). Once teaching starts, you'll be able to find it in the classroom. (The course plan may be subject to change.)
This course presents the fundamentals of mobile app development. You will learn to use the tools, programming languages and libraries needed to design, develop and test mobile apps. 

Even though many concepts are applicable to several mobile ecosystems, the course mainly focuses on the development of native Android apps using the Kotlin programming language.

Amunt

This mandatory course requires prior knowledge in a variety of fields: object-oriented programming, software design patterns, databases and networking. As a result, it should only be enrolled by students who are in their final semesters in the degree. 

As this is the only course within the bachelor's degree that targets mobile apps, it does not require previous knowledge on mobile app technology. After the course, students interested in this field can develop a mobile app development as their Final project of the degree.

Amunt

This course prepares you to take a position as a mobile app developer for native Android apps. Android app developers are highly sought-after professionals.

Amunt

This course requires previous knowledge about object-oriented programming and design (Software Design Patterns), database usage (Introduction to databases) and basic networking principles (Network and Internet apps). It is not necessary to have previous knowledge about Kotlin or Android, as those are introduced from scratch.

Amunt

Before enrolling this course, you should have completed the following courses: Software Design Patterns, Introduction to Databases and Network and Internet applications.

While not required, having access to an Android mobile device (smartphone or tablet) to test your applications is desirable.

Amunt

This course considers the following specific objectives:
  • Being able to understand the mobile ecosystem and know the platforms, technologies and key players in the mobile industry.
  • Being able to install and use an IDE (integrated development environment) for mobile app development (Android Studio).
  • Being able to code using a programming language for developing native mobile apps (Kotlin).
  • Being able to design the architecture of a mobile app (activities, fragments, intents).
  • Being able to design the user interface of a mobile app (layouts, views).
  • Being able to develop the front-end of a simple mobile app.
  • Being able to debug and test mobile apps.
  • Being able to design how events are managed within the mobile app.
  • Being able to use database managers for mobile apps (Room, SQLite).
  • Being able to use platform-independent technologies for storing and exchanging data (JSON, XML).
  • Being able to use different strategies and frameworks for cross-platform mobile app development.
  • Being able to use an external back-end provider (Firebase).
  • Being able to connect the front-end of your mobile app to a back-end.
  • Being able to develop a custom proprietary back-end.
  • Being able to add notifications to a mobile app. 
  • Being able to use external libraries and APIs for adding features to a mobile app (e.g. maps).
Moreover, this course covers the following competencies of the bachelor's degree:
  • Adapt to new software development technologies and to future environments, updating professional skills.
  • Design and build computer applications using development, integration and reuse techniques.
  • Develop cross-platform applications.

Amunt

The contents of the course are presented in a wiki with the following sections:
  1. Introduction to app development
  2. Android Studio
  3. Kotlin
  4. Architecture of an Android app
  5. Layouts and views
  6. Debugging and testing apps
  7. Advanced Kotlin features
  8. Events
  9. Local data persistence
  10. Concurrent programming
  11. Back-end
  12. Services
  13. Notifications
  14. Maps and positioning

Amunt

Wiki (Challenges 1, 2, 3, 4) Web

Amunt

The assessment process is based on the student's personal work and presupposes authenticity of authorship and originality of the exercises completed.

Lack of authenticity of authorship or originality of assessment tests, copying or plagiarism, the fraudulent attempt to obtain a better academic result, collusion to copy or concealing or abetting copying, use of unauthorized material or devices during assessment, inter alia, are offences that may lead to serious academic or other sanctions.

Firstly, you will fail the course (D/0) if you commit any of these offences when completing activities defined as assessable in the course plan, including the final tests. Offences considered to be misconduct include, among others, the use of unauthorized material or devices during the tests, such as social media or internet search engines, or the copying of text from external sources (internet, class notes, books, articles, other students' essays or tests, etc.) without including the corresponding reference.

And secondly, the UOC's academic regulations state that any misconduct during assessment, in addition to leading to the student failing the course, may also lead to disciplinary procedures and sanctions.

Amunt

This subject can only be passed through a continuous assessment. The final mark on the continuous assessment will be the final mark for the subject.The subject's accreditation formula is as follows: CA

 

Amunt