Course title, code: Developing Mobile Applications 2, GAINBAN-FEJLMOE2-1

Name and type of the study programme: Computer science engineering, BSc
Curriculum: 2021
Number of classes per week (lectures+seminars+labs): 2+0+2
Credits: 5
Theory: 50 %
Practice: 50 %
Recommended semester: 6
Study mode: full-time
Prerequisites: Java Applications +100 cr
Evaluation type: signature
Course category: required optional
Language: english
Responsible instructor: Dr. Bolla Kálmán Milán
Responsible department: Department of Information Technologies
Instructor(s): Dr. Bolla Kálmán Milán
Course objectives:
The aim of the course is to introduce the basics of application development for the Android platform using the Java programming language.
Course content - lectures:

Android Studio and SDK, emulator. Development options, introduction to Android application components (Activity, Service, Content provider, Broadcast receiver). Building an Android project, using IDE. Basic UI controls, layout management elements, user interface creation. Activity lifecycle model, creating and using fragments. Data binding, image management, creating lists. Architecture components. Using web services, connecting to REST API endpoints.


Course content - labs:

Creating user interfaces, UI controls. Activity lifecycle model. Using fragments. Creating a list-detail view. Using Android Architecture Components. Implementing connection to REST API endpoints.

Acquired competences:
Knowledge:

- He/she knows the main programming paradigms, programming languages, development tools. His/her knowledge covers the modelling of IT systems, creation of database based systems, as well as the structure, operation and implementation of computer networks. His/her knowledge covers the characteristics of intelligent systems, the specificity of mobile application development, the management of state-of-the art general purpose operating systems, as well as the aspects of IT security. - He/she is familiar with the important software development methodologies, and the notation systems for IT designs and documentation. - He knows the vocabulary and special terms of the engineering profession in the Hungarian and English languages at least on the basic level.

Skills:

- He/she is able to develop applications, program client-server and WEB, mobile operating systems, develop multiplatform systems. He/she can apply his/her knowledge acquired during his/her study to acquire deeper knowledge in the field of information engineering and to process special literature and solve problems related to information technology. - He/she can communicate in Hungarian and in English about professional issues, he/she uses the terms of information technology in a creative way. - He/she constantly improves his/her knowledge and keeps up with the development of the computer engineering profession.

Attitude:

- He/she genuinely represents the professional principles of engineering and information technology fields. - He/she is open to acquire new methods, programming languages and develop skills to use them. - He/she makes an effort to work efficiently and to high standards.

Autonomy and responsibilities:

- He/she reveals the weaknesses of the technologies applied, risks of processes and initiates measures which reduce them. - He/she has a security-conscious attitude in posession of his/her professional knowledge, and is aware of potential threats and opportunities for attack, as well as is prepared to prevent them.

Additional professional competences:


Requirements, evaluation, grading:
Mid-term study requirements:
Individual or group solution of a project task assigned by the instructor (using git version manager), presentation and defence of the project at the end of the semester.
Exam requirements:

Study aids, laboratory background:

Android Studio és SDK: https://developer.android.com/studio/ Git: https://git-scm.com/ Gitlab: https://gitlab.com/ Sourcetree: https://www.sourcetreeapp.com/

Compulsory readings:

[1] Google Android Developers: http://developer.android.com

Recommended readings: