Mobile Architectures

Base Knowledge

  • Object-oriented programming
  • Java programming

Teaching Methodologies

The concepts are presented in lectures with examples, whenever possible.
In practical classes, academic applications are developed that allow the experimentation of the most common technologies and components.
The slides provided allow the student to follow the topics and serve as a basis for research and study of the appropriate bibliography (even when not attending classes).

Learning Results

  • To understand the functioning of operating systems for mobile devices and their specificities
  • To understand the advantages and disadvantages of mobile application development
  • To develop native applications for mobile devices
  • To develop cross-platform applications

Program

  • Concepts about mobile systems, disseminated systems and ubiquitous systems
  • Concepts on application development for mobile devices
  • Mobile application development
    • Components of a mobile application
    • Lifecycle of an application
    • Definition of screens and visual components
    • User interaction mechanisms
    • Lists
    • Data persistence
    • Performing asynchronous tasks
    • Communication with other devices and Web services
    • Location awareness
    • Sensors
    • Image capture (camera)
  • Development of cross-platform applications
    • Advantages and disadvantages of cross-platform development
    • Component-based application development
  • Mobile application deployment

Curricular Unit Teachers

João Manuel Pena Afonso de Abrunhosa

Grading Methods

The evaluation will be carried out through the following components (a 0..20 scale will be used):

  • Written Exam - 12 marks
    • Individual exam, with limited access to consultation materials, covering all contents of the course unit.

    • Minimum grade: 35%.

  • Practical Projects - 8 marks
    • 2 projects carried out in groups of no more than two students.

      • Native Android in Kotlin: assignment available by the end of October; 4 marks Functional Validation (FV) + 2 marks Oral Defense (OD).

      • Flutter: assignment available by the end of November; 1 mark FV + 1 mark OD.

    • Minimum grade: 35% on each project.

    • Functional Validation (FV), carried out during practical classes, assesses compliance with the functional and technical requirements.

    • The Oral Defense (OD) is individual and optional:

      • it takes place once for both projects and consists of presenting and justifying the work, as well as answering questions about the projects developed;

      • it may confirm, increase, or decrease the grade obtained in the FV, depending on the knowledge and level of mastery individually demonstrated;

      • a student who does not take the oral defense will have the written exam graded out of 15 marks.

    • Late submissions: a penalty of 5% of the project's total value for each hour of delay.

    • Failure to Submit: Failure to submit one or both projects requires the student to take, on the day of the exam, an additional written practical test corresponding to the missing project(s), with the respective weighting and a minimum grade of 35%.

    • Validity: Practical project grades are valid for all assessment periods during the current academic year.

    Internship(s)

    NAO

    Bibliography

    Main bibliography

    Android

    • JetBrains. (n.d.). Kotlin Programming Language. https://kotlinlang.org/
    • Google. (n.d.). Android. http://www.android.com
    • Google. (n.d). Android Developers. http://developer.android.com

    iOS

    • Apple. (n.d.). Apple Developer. http://developer.apple.com
    • Apple. (n.d.). Swift – Apple Developer. https://developer.apple.com/swift/

    Flutter

    • Google. (n.d.). Flutter. https://flutter.dev
    • Google. (n.d.). Flutter Documentation. https://flutter.dev/docs
    • Google. (n.d.). Dart programming language. https://dart.dev/
    • Google. (n.d.). Dart documentation. https://dart.dev/guides
    • Google. (n.d.). DartPad. https://dartpad.dartlang.org/
    • Google. (n.d.). Dart and Flutter packages. https://pub.dev/

     

    Additional bibliography

    Android

    • Queirós, R. (2018). Android Profissional – Desenvolvimento Moderno de Aplicações. FCA Editora

    Genérico

    • Stack Overflow. (n.d.). Stack Overflow – Where Developers Learn, Share, & Build Careers. http://www.stackoverflow.com