Code: | CC3049 | Acronym: | CC3049 |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Computer Science |
Active? | Yes |
Responsible unit: | Department of Computer Science |
Course/CS Responsible: | Bachelor in Computer Science |
Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
---|---|---|---|---|---|---|---|
L:CC | 28 | study plan from 2021/22 | 3 | - | 6 | 42 | 162 |
L:IACD | 1 | study plan from 2021/22 | 3 | - | 6 | 42 | 162 |
This curricular unit aims to understand the complexity of current mobile device programming platforms, in order to provide students with the necessary tools to face the growing challenges in the area. As a complementary training, students are exposed to the requirements and challenges of implementing backends in order to support mobile applications.
After completing this course, students are expected to:
- be able to design and implement mobile applications:
- be aware of the implications of GPDR, avoiding some of the common pittfalls regarding users’ privacy;
- be aware of the need of having secuirty by design;
- understand the implicit tradeoffs between performance, energy consumption and security/privacy.
The learning outcomes are centered around the understanding of the design and implementation of mobile applications. The syllabus covers all the most relevant aspects of these technologies, facilitating the understanding of the different concepts and the relationship between them. It also includes an application component that allows students to gain skills in creating and programming systems based on these concepts.
This course aims to introduce the students to mobile programming for both Android and iOS:
Overall end-to-end architecture for mobile apps, including backend
Brief overview of modern computer architectures of smartphones, e.g. Biglittle
Security aspects of mobile programming, including permissions and limitations for acceptance in Google Play Store and Apple’s App Store.
Introduction to the users’ right to privacy, including informed consent and the impact of the new GPDR (General Data Protection Regulation)
Beyond HTTP(s), an introduction to gRPC
Apps’ lifecycle
Mobile Application Frameworks
KeyChains
Low-level programming for speed and portability using C/C++: JNI + NDK
Push Notifications, Doze and energy concerns
D2D communications:
- Wifi-Direct
- Bluetooth
- TDLS
- Wifi and 4G LTE
Profiling and Debugging
designation | Weight (%) |
---|---|
Exame | 50,00 |
Trabalho prático ou de projeto | 50,00 |
Total: | 100,00 |
designation | Time (hours) |
---|---|
Elaboração de projeto | 10,00 |
Frequência das aulas | 50,00 |
Trabalho laboratorial | 40,00 |
Total: | 100,00 |
Practical Assignment: | 50% | (minimum grade: 50%) |
Exam: | 50% | (minimum grade: 50%) |