(6 ECTS credits)
Goals:
Mobile technologies are increasingly important in the ICT systems and almost all areas of life. The goal of the BIP will be to provide students with basic knowledge of popular mobile platforms (Android and iOS) and an introduction to programming simple applications for these platforms. The structure of the application and its main components will be discussed. Students can learn the basics of the Kotlin (Android) programming language and create simple applications using them. Particular emphasis will be placed on the issues of data security, users of mobile applications and technologies, and the applications themselves (authentication, privacy, app hardening). Students will learn the main principles of the serverless paradigm and mobile cloud environments, as well as examples of the use of mobile applications in augmented reality. Practical exercises and demonstrations will complement theoretical lectures.
Methods:
The course comprises 2 parts: virtual and face-to-face (physical week at CUT in January 2025). The virtual part contains 9 weeks of lectures and simple, practical exercises (mutual and individual work during the lectures). During the physical week, the students will work in small international teams (with 3-4 students). In the first 2 days, 1-2 simple challenges will be defined to verify and improve the students’ skills after online lectures and labs. The second part of the physical week will be organised as a workshop in collaboration with the industrial partner (a detailed agenda will be announced in November 2024).
Prerequisites:
Students from the 3rd semester or higher. Knowledge of one object-oriented programming language and basic HTML5 and JavaScript knowledge is required. The teaching language is English.
Important Dates:
- Online lectures and labs: 14.10.2024 – 13.12.2024
- Physical week at Cracow University of Technology: 13-17.01.2025
- Final evaluation (delivering all reports and required files): by Jan. 31, 2025
Contents (Syllabus):
Online lectures and labs: 1 block = 3 teaching hours per week (3 x 45 min)- combined theoretical and simple practical labs and demonstrations)
Block id | Block topic | Dates |
Week 1 | Introduction to Mobile Technologies and Programming – Mobile Platforms and Architectures, Mobile Application Structure | 14.10-18.10.2024 |
Week 2 | Development of Android native and hybrid applications – backgrounds of the Kotlin language, IntelliJ IDEA with Android support plugin. | 21.10-25.10.2024 |
Week 3 | Android Programming – Main Entities and Components of the App, Application Object, Activities, Layouts, Services, Fragments and Toasts | 28.10-01.11.2024 |
Week 4 | Mobile App Security (Authentication, Privacy, App Hardening)- User Authentication (JWT and OAUTH2) | 04.11-08.11.2024 |
Week 5 | User Privacy (permissions, caches, screenshots), Securing data at rest (encryption), Securing data in transit (HTTPS and certificates), App hardening (data validation and sanitizing) | 11.11 – 15.11.2024 |
Week 6 | Introduction to the serverless paradigm using Firebase, Account and project creation, Registration and authentication (including anonymous, email and federated), API access and session management, Introduction to Firestore (NoSQL database): concepts, data structuring, queries and API access, Using Storage to store files and multimedia content. | 18.11 – 22.11.2024 |
Week 7 | Firestore: synchronization between server-app and app-app, Firebase Cloud Messaging (Push Notifications): configuration, access API, Graphical construction of messages, App Links and Universal Links. Brief introduction to Cloud Functions. | 25.11 – 29.11.2024 |
Week 8 | Basic concepts of AR (terminology, tracking, rendering, interaction); Implementation options on mobile devices; Design process | 02.12- 06.12.2024 |
Week 9 | Implementation aspects (prototyping, development, evaluation) | 09.12 – 13.12.2024 |
Learning Outcomes:
The students can develop and implement a simple mobile (native, hybrid or/and web) application for Android and/or iOS platform (-s) with various components, such as application objects, activities, layouts, services toasts, fragments, specific resources, broadcast receivers, SQLite and Firebase Realtime Databases. Students can identify suitable toolkits to extend mobile apps with AR functionality (focus on tracking and basic rendering) and can integrate these into the development process. The practical work will strengthen international teamwork experience.
Assessment:
The final grades will be calculated based on evaluating the students’ work at labs (online part) – N1, and the reports made by teams in the physical week N2. The following procedure is defined for calculating the final grades (F):
F = 0,2* N1 + 0,8* N2
Teachers:
- Joanna Kołodziej – Cracow University of Technology- Coordinator
- Andrzej Wilczyński – Cracow University of Technology
- Michał Niedźwiecki – Cracow University of Technology
- Volker Paelke – Hochschule Bremen City University of Applied Sciences
- Paulo Matos – Polytechnic Institute of Bragança, Portugal
- Pedro Oliveira – Polytechnic Institute of Bragança, Portugal
- Joseph Azar – Université Marie et Louis Pasteur, France
Partners:
- Cracow University of Technology (Poland)
- Hochschule Bremen City University of Applied Sciences (Germany)
- Polytechnic Institute of Bragança (Portugal)
- Université Marie et Louis Pasteur (France)
Physical Week in Cracow (13-17 January 2025)
Programme
Day 1 – 13 January 2025
Workshop on Flutter provided by EPAM (Cracow) | |
9:00 – 10:45 | Workshop – part 1 |
10:45 -11:00 | Break |
11:00 – 12:30 | Workshop – part 2 |
12:45-13:45 | Lunch at CUT |
14:00 – 15:30 | Workshop – part 3 (Students will receive certificates of attendance in the Workshop) |
Day 2 – 14 January 2025
Programming for Android in Kotlin | |
8:00 – 11:00 | Teachers: A. Wilczynski, M. Niedzwiecki |
12:45-14:00 | Lunch at CUT |
16:15 – 18:30 | Teachers: A Wilczynski, M.Niedzwiecki |
Day 3 – 15 January 2025
Practical work with Firebase | |
9:45 – 12:30 | Teachers: Paulo Matos, Pedro Oliveira |
12:45 – 13:45 | Lunch at CUT |
14:00 – 15:45 | Teachers: Paulo Matos, Pedro Oliveira |
Day 4 – 16 January 2025
Social event – tour to Wieliczka Salt Mine and lunch in Wieliczka for students and teachers | |
9:00 – 16:00 | Train from Cracow to Wieliczka and back |
Day 5 – 17 January 2025
Summary of Practical Work and BIP | |
8:00 – 12:45 | Joanna Kołodziej + Anna Plichta + teachers |
13:00-14:00 | Lunch at CUT |
14:15 – 15:30 | A short visit to the CUT museum, presentations of AR projects of CUT Students |
Farewell party at CUT | |
16:00 – 18:00 | Meeting with the Erasmus students and CUT students, photos, much fun, etc 😊 |