Base Knowledge
Basic concepts of programming, algorithms and data structure.
Basic knowledge of version control
Notions of HTTP protocol (GET, POST verbs)
Teaching Methodologies
The following teaching methodologies are used in this course:
1. Expository method: explanatory method where theoretical foundations and concepts are presented by the teacher and discussed with the class. Concepts and information will be presented to students through, for example, slide presentations or oral discussions. It will be used in classes to structure and outline the information.
2. Demonstrative method: based on the example given by the teacher of a technical or practical operation that one wishes to be learned. It focuses on how a given operation is carried out, highlighting the most appropriate techniques, tools and equipment. It will be used, for example, in practical and laboratory classes.
3. Interrogative method: process based on verbal interactions, under the direction of the teacher, adopting the format of questions and answers. It allows for greater dynamics in the classroom and consolidates learning. It will be used, for example, to remember elements of previous classes and in revisions of the lectured content.
4. Active methods: pedagogical techniques will be used in which the student is the center of the learning process, being an active participant and involved in his own training. The teacher assumes the role of facilitator, stimulating critical thinking, collaboration, creativity and student autonomy. They will be applied in classes to achieve a dynamic and more lasting learning environment.
Learning Results
At the end of the course, the student should be able to:
1. understand the operation of operating systems for mobile devices and their specificities
2. understand the advantages and disadvantages of developing mobile applications
3. develop native applications for mobile devices
4. develop cross-platform applications
Program
1. Concepts about mobile systems, disseminated systems and ubiquitous systems
2. Concepts about developing applications for mobile devices
3. Application development for mobile devices
4. Components of a mobile application
5. Lifecycle of an application
6. Definition of screens and visual components
7. Interaction with the user
8. Visualization of data lists
9. Data persistence
10. Performing asynchronous tasks
11. Communication with other devices and Web services
12. Location systems
13. Sensors
14. Image capture
15. Development of cross-platform applications
16. Advantages and disadvantages of cross-platform development
17. Component-based application development
18. Deployment of mobile applications
Grading Methods
Periodic evaluation
- individual or group practical work with presentation (100%)
Evaluation by exam
- exam (20%)
- individual project with presentation (80%)
There is a minimum of 40% for each component (assignments and exams).
Each assessment period has different assignments.
Practical work is followed by an oral presentation to the teacher for validation, individual defence and discussion of the options.
The practical assignments will be assessed based on the participation and proficiency of each student in the laboratory activities performed and the report prepared.
Internship(s)
NAO
Bibliography
Griffiths, D., & Griffiths, D. (2017). Head First Android Development: A Brain-Friendly Guide (2nd ed.). O’Reilly Media.
Labiod, H., Afifi, H., & De Santi, C. (2010). Wi-Fi, Bluetooth, Zigbee and Wimax. Springer.
Li, W.-M. (2012). Beginning Android 4 Application Development. Wrox.
Mednieks, Z., Dornin, L., Meike, G., & Nakamura, M. (2012). Programming Android: Java Programming for the New Generation of Mobile Devices (2nd ed.). O’Reilly.
Schiller, J. (2003). Mobile Communications (2nd ed.). Addison-Wesley.