-
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.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Bachelor | Semestral | 6
-
Year | Nature | Language
Year | Nature | Language
3 | Mandatory | Português
-
Code
Code
ULHT2531-16925
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
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
-
Office Hours
Office Hours
-
Mobility
Mobility
No