Skip to content
@isel-leic-pdm

Programação em Dispositivos Móveis

ISEL - Instituto Superior de Engenharia de Lisboa

Mobile Devices Programming / Programação em Dispositivos Móveis

en pt

Institutional information


Supplementary information

General Information
Scientific Area Computer Science and Engineering
ECTS Credit Points 6 credit points
Level, Year/Semester Undergraduate, 3rd year / 5th semester
Language English or Portuguese
Available in Autumn-Winter Semester (Sep. - Feb.)
In-class contact hours 15 weeks x 4.5 hours per week in class
Course Manager Paulo Pereira

Description

From a software development perspective, the Android platform presents an interesting programming model that stems from ideas that are key in the learning path of an aspiring software engineer. This, and its evident practical applicability, make Android a relevant environment for a 3rd year course unit about software engineering, encompassing the specific challenges of mobile devices.

This course aims to prepare students for the development of applications targeting the Android platform. During classes, the Android programming model is studied and the consequences of its specificities on application design decisions are addressed. We study the tradeoffs involved in creating solutions that make effective use of the available computational resources with the intent to create correct, robust and maintainable software solutions.The presentation of the topics is accompanied by the implementation of selected applications during the classes (live coding sessions).

In the practical component of the course, students implement an application where they apply the acquired knowledge. Some examples of applications that were developed in this course are: the Chess Royale application, which includes functionalities for solving chess puzzles obtained from a web API and for playing chess games between application users (each user using their own device); the application Draw And Guess, which aims to recreate the experience of the board game Passa o Desenho without the need for players to be in the same physical location; BattleShips for Android, a clone of the classic battleships game.

The courses' contents are continuously adjusted to include the area industry practices, thus ensuring that the skills acquired by students are relevant and competitive.

Prerequisites

  • Students will need to write software in Kotlin and be familiar with general software design principles. We expect at least three semesters of programming experience, using any high level, managed and statically typed language, such as Java, C#, or Kotlin itself. The required knowledge includes familiarity with common programming constructs, data structures and algorithms. Students are also expected to be aware of basic software design principles and their motivations.
  • Students will be exposed to concurrency related issues, such as multithreading and synchronization. They are expected to deal with Android and Kotlin's concurrency models. Ideally, they should be familiarized with Kotlin's concurrency constructs (e.g. suspending functions, coroutines, flows)

Disclaimer: The above information is provided for convenience and does not replace official institutional information.

Popular repositories

  1. PDM-1920-LI52D PDM-1920-LI52D Public

    Repositório das aulas de PDM de LI52D e LEIRT51D semestre inverno 2019-2020

    Kotlin 22

  2. 2324i 2324i Public

    Repository for Mobile Device Programming course, winter semester of 2023-2024

    Kotlin 19

  3. PDM-2122-LI5X PDM-2122-LI5X Public

    Repositório com o material produzido durante as aulas de PDM

    Kotlin 16 2

  4. PDM-2021-LI5XD PDM-2021-LI5XD Public

    Kotlin 15 2

  5. 2223I-LEIC52D-LEIRT51D 2223I-LEIC52D-LEIRT51D Public

    Repository for Mobile Device Programming course, sections LEIC52D and LEIRT51D, winter semester of 2022-2023

    Kotlin 11

  6. 2223I-LEIC51D 2223I-LEIC51D Public

    Repository for Mobile Device Programming course, section LEIC51D, winter semester of 2022-2023

    Kotlin 9

Repositories

Showing 10 of 23 repositories

Top languages

Loading…

Most used topics

Loading…