filmeu

Class Mobile Computing

  • Presentation

    Presentation

    This CU is increasingly essential in a society where the number of smartphones already exceeds the number of computers and where it is expected that, in the near future, each individual will be accompanied by a set of programmable mobile devices (smartwatches, smart glasses, sensors, etc.), creating the opportunity for computer engineers to solve a wide range of problems whose resolution has hitherto been impossible or excessively expensive.

    The difficulty lies in passing on knowledge that does not become obsolete, given the pace at which the technologies associated with mobile computing evolve. In this sense, this CU does not intend only to teach a specific language/technology, but rather to approach timeless themes in this area such as the various Models of Development, Autonomy, Geo-location, Connectivity or Usability.

     

  • Code

    Code

    ULHT2531-16925
  • Syllabus

    Syllabus

    Conceptual facet

    • Mobile Computing / Ubiquitous Systems / IoT
    • Mobile applications architecture and development (Web, Hybrid, Native) - Usability and Interaction
    • Connectivity
    • Geo-location
    • Autonomy
    • Sensors
    • Integration with external services
    • Business models

    Practical facet

    • Mobile Application Architecture
      • Separation of UI/Business Logic
      • Widget Programming
      • State Management
      • Unit/Integration Testing
      • Dependency Injection
      • Asynchronous Programming
      • Repository Pattern
  • Objectives

    Objectives

    This curricular unit aims to introduce the basic concepts of mobile computing. The student should be able leverage the unique advantages of mobile computing (location, sensors, context) when applied to specific problems. The student should become aware of the typical constraints found in a mobile application (autonomy, connectivity, usability) and understand the mechanisms he can use to overcome those constraints.

    In practice, the student should be able to understand the 4 development models for mobile applications (Web, Hybrid-Web, Hybrid-Native and Native) as well as applying at least two of them to practical problems - more specifically Hybrid-Native (Flutter) and Native (Kotlin Android)

  • Teaching methodologies and assessment

    Teaching methodologies and assessment

    The theoretical classes include many brainstorming exercises in which students are exposed to a mobile computing problem and collaboratively work to solve it in spontaneously formed groups during the class. The results are shared with everyone through the Padlet tool.

    There is a theoretical exercise in which students have to prepare a video in which they critically analyze a mobile application of their choice. The preparation and recording of the video work on analytical skills, critical thinking, and creativity, while also emphasizing communication abilities.

    There is a class with guest speakers from the industry who work in the field of mobile computing.

    In practical classes, the "flipped learning" model is used – videos explaining concepts are published before the practical class so that students can use class time to practice and clarify doubts.

    The project always involves creating a "realistic" application that could easily be available on the app store and Google Play.

  • References

    References

    • Poslad, S. (2011). Ubiquitous computing: smart devices, environments and interactions. John Wiley & Sons.
    • Griffiths, D., & Griffiths, D. (2021). Head First Android Development. Third edition. O'Reilly Media, Inc.
    • Mota, C. (2020). Android Training Program (curso online) -  https://www.youtube.com/channel/UCIEBWb2nz2huEllUHhH4Lfg

     

SINGLE REGISTRATION
Lisboa 2020 Portugal 2020 Small Logo EU small Logo PRR republica 150x50 Logo UE Financed Provedor do Estudante Livro de reclamaões Elogios