Developing Mobile Applications I. (GAINBAN-FEJLMOE1-1)

Basic data
Name and type of the study programme
Computer Science Engineering, undergraduate program
Curriculum
2022
Classes / consultation hours
2 + 0 + 2 (L+S+Labs)
Credits
5 credits
Theory – Practice
Theory: 50%, Practice: 50%
Recommended semester
Semester 5
Study mode
full-time
Prerequisites
100 kredit
Evaluation type
Mid-term evaluation
Course category
Compulsory elective in the specialization
Language
English
Instructors
Responsible instructor
Dr. Bolla Kálmán Milán
Responsible department
Department of Information Technologies
Instructor(s)
Dr. Bolla Kálmán Milán, Kovács Márk
Checked by
Kovács Márk
Course objectives

The aim of this course is to introduce the basics of application development for the Apple iOS platform using Swift programming language.

Course content
Lectures

Introduction to iOS: history, iOS architecture, development languages, frameworks. Introduction to development tool, XCode, emulator. Swift programming basics. iOS project architecture. UIKit controls, list display using TableView. SwiftUI introduction, controls. SwiftUI list view, navigation, REST API integration, persistent data storage with SwiftData.

Labs

Create user interfaces using UIKit and SwiftUI. Forms, list view, navigation implementation. Connecting to REST API, processing API response.

Acquired competences
Knowledge

- Ability to develop applications, client-server and WEB, mobile systems, multiplatform systems. - Ability to build on the basic knowledge acquired to acquire in-depth knowledge of a technical IT area, to work through the literature and to solve IT problems related to the area. - Communicate in English and Hungarian on technical issues and use the formal language of informatics in a creative way. - Continuously educate and keep abreast of developments in the IT profession.

Skills

- Familiar with the main programming paradigms, programming languages and development tools. Knowledge includes information systems modelling, database systems design, computer network design, operation and implementation, intelligent systems features, mobile application development, modern general purpose operating systems management and IT security aspects - Knowledge of important software development methodologies, notation systems for IT designs and documentation. - Knowledge of IT and engineering vocabulary and terminology in Hungarian and English, at least at a basic level.

Attitude

- It represents the professional principles of engineering and information technology in a credible manner. -Ability to learn new methods, programming languages and procedures and to master them at a proficiency level - Strives to work efficiently and to a high standard of quality.

Autonomy and responsibilities

- Identify the shortcomings of the technologies used, the risks of the processes and initiate measures to reduce them. - With this knowledge, he/she has a security-conscious attitude, is aware of potential threats and opportunities for attack and is prepared to counter them.

Requirements, evaluation and grading
Mid-term study requirements

Attending classes, reviewing and supplementing what you have heard at home based on the literature recommended in class. Theoretical and lab exams.

Generative AI usage

Nem engedélyezett

Study aids, laboratory background

Xcode: https://developer.apple.com/xcode/ Git: https://git-scm.com/ Gitlab: https://gitlab.com/ Sourcetree: https://www.sourcetreeapp.com/

Readings
Compulsory readings

[1] Start Developing iOS Apps (Swift) https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/

Recommended readings

[1] M. Neuburg: iOS 12 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics, 1st edition, O'Reilly Media, 2018, ISBN-10: 1492044555, ISBN-13: 978-1492044550