Go to:
Logótipo
You are in:: Start > CC3049

Mobile Device Programming

Code: CC3049     Acronym: CC3049

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2022/2023 - 1S

Active? Yes
Responsible unit: Department of Computer Science
Course/CS Responsible: Bachelor in Computer Science

Cycles of Study/Courses

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

Teaching language

Portuguese and english

Objectives

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.

Learning outcomes and competences

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.

Working method

Presencial

Program

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

Mandatory literature

Bill Phillips, Chris Stewart, Kristin Marsciano; Android Programming: The Big Nerd Ranch Guide (3rd Edition), 2017. ISBN: 0134706056

Teaching methods and learning activities

Theoretical-practical classes

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 50,00
Trabalho prático ou de projeto 50,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Elaboração de projeto 10,00
Frequência das aulas 50,00
Trabalho laboratorial 40,00
Total: 100,00

Eligibility for exams

Minimum of 50% in the practical assignment.

Calculation formula of final grade














Practical Assignment:  50% (minimum grade: 50%)
Exam:  50% (minimum grade: 50%)

final grade= (0.5 * exam + 0.5 * assignment) * 20
Recommend this page Top
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-10-06 at 18:26:56 | Acceptable Use Policy | Data Protection Policy | Complaint Portal