Design of software systems for mobile devices - Working program of the academic discipline (Syllabus)

Details of the academic discipline

Level of higher education Second (master's)
Discipline 12 Information technologies
Specialty 126 Information systems and technologies
Educational program Integrated information systems
Discipline status Selective
Form of education full-time/correspondence/distance
Year of training, semester 2nd year, autumn semester
Scope of the discipline 4 ECTS credits/120 hours (18 hours – Lectures, 18 hours – Laboratory, 84 hours – SRS)
Semester control/ control measures Test
Class schedule http://rozklad.kpi.ua/Schedules/ScheduleGroupSelection.aspx
Language of teaching Ukrainian
Information about the course leader / teachers

Lecturer: Doctor of Science, Prof. Bogdan Yaroslavovych Korniyenko,

b.korniyenko@kpi.ua,

Laboratory: Doctor of Science, Professor, Bohdan Yaroslavovych Korniyenko,b.korniyenko@kpi.ua,

Placement of the course https://campus.kpi.ua

Program of educational discipline

Description of the educational discipline, its purpose, subject of study and learning outcomes

**Description of the discipline.**The discipline of Designing software systems for mobile devices covers the technologies and methods of creating the mobile part of the corporate information system, taking into account the flexibility and adaptability of the enterprise's business processes. This course introduces students to the basics of the basic structure of operating systems of popular mobile platforms, teaches the basic principles of designing and analyzing mobile solutions of corporate information systems for modern mobile platforms; helps to master the skills of independent (team) development of mobile applications for modern mobile platforms.

**The subject of the academic discipline:**theory and practice of developing mobile applications based on modern software development technologies.

**Interdisciplinary connections.**The discipline Designing software systems for mobile devices is based on the following disciplines: Iinformatics, Operating systems, Oobject-oriented programming.

**The purpose of the educational discipline.**The goal of the educational discipline is the formation of highly qualified specialists with stable knowledge and skills regarding application creation technologies, which are based on modern mobile platforms and their application technologies during the implementation of business communications.

The main tasks of the academic discipline

Knowledge:

  • conceptual and categorical apparatus for designing and developing mobile applications for modern mobile platforms;

  • main types of mobile platform architectures and their components;

  • the main stages and features of the software design process for mobile devices;

  • technologies and tools for designing mobile applications for modern mobile platforms;

  • basic API classes and SDK components of Android, iOS, Microsoft mobile platforms;

  • basic methods and practices for ensuring data protection in mobile devices on various mobile platforms.

Skills:

  • analyze the possibilities of modern tool environments for the development of mobile applications;

  • deploy and debug development environments for the Android platform;

  • apply tools for developing mobile applications;

  • create and debug mobile device emulators;

  • develop applications for Android, iOC, Microsoft Windows 10 platforms using modern programming languages ​​(technologies);

  • design the user interface of a mobile application;

  • use previously compiled programs and support programs, make changes to the program, debug programs using tools;

  • apply mobile technologies during the design of the company's information system in order to improve the quality of the company's business processes;

  • use software tools for the formation of basic information protection procedures in mobile devices.

Pre-requisites and post-requisites of the discipline (place in the structural and logical scheme of training according to the relevant educational program)

**Prerequisites:**the ability to apply knowledge in practical situations, skills in the use of information and communication technologies, the ability to search, process and analyze information from various sources, the ability to apply knowledge about the basic principles of the organization of modern mobile operating systems.

**Post-requisites:**be able to apply knowledge aboutfeatures of the architecture and hardware environment of mobile devices; methods of installing mobile applications in different OS; peculiarities of the architecture of mobile devices from the point of view of programming; basic methods of developing programs for mobile devices; features of the implementation of the user interface in mobile devices; Android OS device and architecture; main components of mobile platform architecture; the life cycle of mobile applications and their structure; the main elements of the user interface of mobile applications; working with files, databases, custom settings in mobile devices; tools for programming and basics of designing mobile applications; will have skills in creating software for mobile devices.

After passing the discipline, students will be able touse knowledge from fundamental disciplines to implement professionally profiled knowledge and practical skills in the field of modern mobile operating systems; use information resources, including electronic databases, reference literature, standards, etc., to improve their professional level, innovative, project and research activities in the professional field.

.

Content of the academic discipline

Lecture classes

Chapter 1. Mobile operating systems

Chapter 2. Features of developing mobile solutions for the Android OS.

Laboratory classes

Development of web applications for mobile devices.

Design templates for mobile devices.

Mobile technologies and tools.

Emulator. Android Resources.

Application architecture. Auxiliary libraries.

Local server OpenServer. MySQL database.

PHP programming language. Frameworks.

Educational materials and resources

Basic literature

  1. Mikkonen T. Programming mobile devices: an introduction for practitioners. - London: John Wiley & Sons Ltd., 2007. - 245 p.

  2. Paavilainen J. Mobile business strategies - understanding the technologies and opportunities. - London: IT Press, 2002. - 257 p.

  3. Lee V., Schneider H., Schell R. Mobile Applications: architecture, design, and development. - Prentice Hall, 2004. - 368 p.

  4. Fling B. Mobile design and development: practical concepts and techniques for creating mobile sites and web apps. - O'Reilly Media, 2009. -336 p.

  5. Verbraeck A. Designing mobile service systems. - Amsterdam: IOS Press, 2007. - 249 p.

  6. Zheng P., Lionel N. Smart Phone and next-generation mobile computing. - Morgan Kaufmann, 2005. - 350 p.

  7. Friesen J. Learn Java for Android development. - Apress, 2010. - 656 p.

  8. Jackson W. Android apps for absolute beginners. - Apress, 2011. - 344 p.

  9. Burnette E. Hello, Android: introducing Google's mobile development platform. - Pragmatic Bookshelf, 2010. - 300 p.

  10. Ableson WF, Sen R., King C. Android in action. - Manning Publications, 2011. - 592 p.

Supporting literature

  1. Rogers R, Lombardo J, Mednieks Z, Blake Meike G. Android application development: programming with the Google SDK. - O'Reilly Media, 2009. - 336 p.

  2. Murphy ML Android programming tutorials. - CommonsWare, 201L- 334 p.

  3. Meier R. Professional Android 2 application development. - Wrox, 2010. -576 p.

  4. Sayed Y. Hashimi. Pro Android 2. - Apress, 2010. - 500 p.

  5. Conder S., Darcey L. Android wireless application development. - Addison-Wesley Professional, 2009. - 600 p.

  6. To N., Steele J. The Android developer's cookbook: building applications with the Android SDK (Developer's Library). - Addison-Wesley Professional, 2010. - 400 p.

  7. DiMarzio JF Android: a programmer's guide. - McGraw-Hill Osborne Media, 2008. - 400 p.

  8. Komatineni S., MacLean D., Hashimi S. Pro Android 3. - Apress, 2011. - 1200 p.

Educational content

Methods of mastering an educational discipline (educational component)

Lecture classes

No. z/p The name of the topic of the lecture and a list of the main questions (a list of didactic tools, references to the literature and tasks on the SRS)
1

Lecture 1. Emulators of mobile devices

Phone emulators. Emulators for smartphones, tablets and PDAs.

Literature: [5, pp. 52-87; 7, p. 120-170.]

Tasks for SRS.Work with files. XML file format and working with it.

2

Lecture 2. Development environments.

Software development tools for mobile devices. Eclipse, NetBeans, Android Studio, Microsoft Visual Studio. Developer tools. Mobile Development Tools (SDK).

Literature: [ 7, p. 38-55. ]

Tasks for SRS.Programming with the use of graphics in mobile devices.

3

Lecture 3. Android Studio development environment. The main types of Android applications.

Android Studio development environment, setting it up for work. The main panels of the environment, ways to switch them. The main types of Android applications, stages of their creation and areas of application.

Literature: [ 6, p. 125-147. ]

Tasks for SRS.Android application structure.

4

Lecture 4. Hardware architecture.

Android platform. The mechanism of operation of programs on Android. Virtual machine. Android UI Classes.

Literature: [ 4, p. 88-127; 5, p. 56-148; 6, p. 170-186; 7, p. 56-90, 107-110; 8, p. 137-188. ]

Tasks for SRS.Programming of mobile devices using networks and communications.

5

Lecture 5. System libraries

Libraries for Android applications, how to add an external library to your application. Security rules when using pluggable libraries.Android graphics programming. Multimedia programming. Organization of networks and communications in Android.

Literature: [3, pp. 118...135; 4, p. 182...194]

Tasks for SRS.Working with databases in mobile devices based on the Java platform.

6

Lecture 6. Graphics in the Android OS.

Android graphics programming. Multimedia programming. Organization of networks and communications in Android.

Literature: [3, pp. 118...135; 4, p. 182...194]

Tasks for SRS.The generation of network mobile technologies.

7

Lecture 7. Software architecture. File system.

Organization of work with databases in mobile devices. Use of sensors (accelerometer, gyroscope, magnetometer, illumination, pressure, temperature, proximity, humidity). Multimedia programming and working with the camera. WAP resource markup languages ​​for mobile devices. Creation of user interfaces for mobile Internet users.

Literature: [6, pp. 226...239; 7, pp. 349-398.]

Tasks for SRS.Organization of multithreaded programs.

8

Lecture 8. Databases and multimedia in Android.

The basics of working with SQLite databases, the use of animation in Android applications, 2D and 3D graphics, the basic principles of smartphone application development.

Literature: [3, pp. 52...78; 4, p. 85...110.]

Tasks for SRS.Android application components.

9

Lecture 9. Modular control work

All previous material, including the basic concepts of implementing programs for the Android operating system, is submitted to the test.

Tasks for SRS. Repeat the material of 1-8 lectures.

**
**

Laboratory classes

No The name of the laboratory work Number of aud. hours
1

Laboratory work 1. Development of web applications for mobile devices.

Get an overview ofbasic concepts and features of web application development.

Literature: [2, p. 7]

2
2

Laboratory work 2. Design patterns for mobile devices.

Learn basic design patterns; consider relationships and interactions between classes or objects in given design patterns.

Literature: [2, p. 20]

2
3

Laboratory work 3. Mobile technologies and tools.

Learn the basics of programming for a mobile device; classify mobile devices; learn the basic Android Studio and PHPStorm application development environments.

Literature: [2, p. 30]

4
4

Laboratory work 4. Emulator. Android Resources.

Learn the Android operating system emulation software; consider Android resources; basic methods of working with the Android file system; familiarize yourself with the methods of connecting libraries and widgets to the Android application; study the activities and manifest of the Android operating system.

Literature: [2, p. 34]

2
5

Laboratory work 5. Application architecture. Auxiliary libraries.

Study the features of the architecture of programs for the Android operating system; highlight the features of the Android operating system as a platform for program development.

Literature: [2, p. 44]

2
6

Laboratory work 6. Local server OpenServer. MySQL database.

Learn OpenServer software; consider the principle of using the MySQL database for server tasks; learn how to manage a MySQL database through phpMyAdmin.

Literature: [2, p. 55]

4
7

Laboratory work 7. PHP programming language. Frameworks.

Learn the basic principles of application development in the object-oriented PHP programming language; consider the main frameworks of the PHP language.

Literature: [2, p. 65]

2

Independent work of a student/graduate student

No. z/p

The name of the topic submitted for independent processing Number of hours of SRS
1 Work with files. XML file format and working with it 4
2 Programming with the use of graphics in mobile devices 4
3 Android application structure 4
4 Programming of mobile devices using networks and communications 4
5 Working with databases in mobile devices based on the Java platform 4
6 The generation of network mobile technologies 4
7 Organization of multithreaded programs 4
8 Android application components 4

Policy and control

Policy of academic discipline (educational component)

The system of requirements for the student:

  • rules for attending classes: it is forbidden to evaluate the presence or absence of the winner in the classroom class, including the awarding of incentive or penalty points. According to the RSO of this discipline, points are awarded for the corresponding types of educational activity in lectures and laboratory classes;

  • module tests are performed without the use of auxiliary information from the Internet, a distance course on the Sikorsky platform, notes; incentive points are awarded for educational activity in lectures. The number of encouraged points is no more than 10;

  • academic integrity policy: Code of Honor of the National Technical University of Ukraine "Ihor Sikorsky Kyiv Polytechnic Institute"https://kpi.ua/files/honorcode.pdf establishes general moral principles, rules of ethical behavior of individuals and provides a policy of academic integrity for persons working and studying at the university, which they should be guided by in their activities, including when studying and preparing control measures for the discipline "Design of software systems for mobile devices".

Types of control and rating system for evaluating learning outcomes (RSO)

The student's rating in the discipline consists of the points he receives for:

  1. performance and protection of 7 laboratory works;

  2. execution of 1 modular control robot (MCR).

System of rating points and evaluation criteria

Laboratory works:

"perfectly", a complete answer to the questions during the defense (at least 90% of the required information) and a properly prepared protocol for laboratory work - 10 points;

"good", a sufficiently complete answer to the questions during the defense (at least 75% of the required information) and a properly prepared protocol for laboratory work - 8 points;

"satisfactory", incomplete answer to the questions during the defense (at least 60% of the required information), minor errors and a properly prepared protocol for laboratory work - 6 points;

"unsatisfactory", an unsatisfactory answer and/or an improperly prepared protocol for laboratory work - 0 points.

Modular control works:

"perfectly", complete answer (at least 90% of the required information) – 30 points;

"good", a sufficiently complete answer (at least 75% of the required information), or a complete answer with minor errors - 23 points;

"satisfactorily", incomplete answer (but not less than 60% of the required information) and minor errors - 18 points;

"unsatisfactorily", unsatisfactory answer (incorrect problem solution), requires mandatory rewriting at the end of the semester - 0 points.

Incentive points

for active work at lectures1 point

Calendar control

At the first certification (8th week), the student receives "credited" if his current rating is not less than 15 points. At the second certification (14th week), the student receives "credited" if his current rating is not less than 30 points.

Maximum amountweight points of control measures during the semester is:

R=7*rlab+1*rmkr=7*10+1*30=100.

Test:

The sum of the starting points and the points for the modular control work is converted into a final grade according to the table:

Points Rating
95-100 perfectly
85-94 very well
75-84 good
65-74 satisfactorily
60-64 enough
Less than 60 unsatisfactorily
Failure to complete seven laboratory works and completion of the MCR for the grade "unsatisfactory" not allowed

Additional information on the discipline (educational component)

  • the list of theoretical questions submitted for semester control is given in Appendix 1;

  • at the beginning of the semester, the teacher analyzes the existing courses on the topic of the discipline and offers students to take the corresponding free courses. After the student receives a certificate of completion of remote or online courses on the relevant topic, the teacher closes the relevant part of the course (laboratory or lectures) by prior agreement with the group.

Working program of the academic discipline (Syllabus):

Folded Professor, Doctor of Technical Sciences, Bogdan Yaroslavovych Korniyenko

Approved Department of ICT (protocol No. 16 dated 12.06.2024)

Agreed Methodical commission of the faculty[1](protocol No. 10 dated June 21, 2024)

Appendix 1

List of theoretical questions for the exam

  1. Define mobile computing devices.

  2. What is the architecture of the classes that provide the connection of mobile devices to the network?

  3. Even types and describe menu features of Android applications.

  4. What are the advantages of using mobile devices?

  5. What mechanism is used to work with data?

  6. Name the main Android widgets.

  7. What types of mobile devices are there?

  8. What is the name of the main profile for mobile devices? What are its properties?

  9. What operating systems are used in mobile devices?

  10. Describe the structure of an Android application.

  11. What types of memory are used in mobile devices? What are their advantages and disadvantages?

  12. Which configuration was designed for mobile devices with small memory?

  13. Specify component types for Android applications.

  14. What tools must be installed to design mobile applications for the Android platform?

  15. What objects can be used to develop a user interface?

  16. What is a mobile application emulator, why and why is it used?

  17. What is a control file in an Android application?

  18. Define mobile computing devices.

  19. What are the components of an Android application?

  20. Describe the architecture of mobile applications.

  21. What is the architecture of the classes that provide the connection of mobile devices to the network?

  22. What are the advantages of using mobile devices?

  23. Name the main features of the Android Virtual Device (AVD).

  24. What mechanism is used to work with data?

  25. What types of mobile devices are there?

  26. Describe the Android platform architecture.

  27. What is the name of the main profile for mobile devices? What are its properties?

  28. What operating systems are used in mobile devices?

  29. Name the generation of network mobile technologies.

  30. What types of memory are used in mobile devices? What are their advantages and disadvantages?

  31. Name the features of the organization of the RAM of mobile devices.

  32. Classify mobile devices.

  33. Even types and describe menu features of Android applications.

  34. Name the main technical characteristics of mobile devices.

  35. Name the main Android widgets.

  36. What operating systems are used in mobile devices?

  37. What are the design features of mobile devices?

  38. Describe the Android GUI architecture.

  39. What mechanism is used to work with data?

  40. Name the main types of mobile device processors.

  41. Describe the structure of an Android application.

  42. What types of memory are used in mobile devices? What are their advantages and disadvantages?

  43. Name the features of the organization of the RAM of mobile devices.

  44. Specify component types for Android applications.

  45. What objects can be used to develop a user interface?

  46. Name the generation of network mobile technologies.

  47. Name the main features of the Android Virtual Device (AVD).

  48. What are the advantages of using mobile devices?

  49. Name the main characteristics of IEEE 802.11 data transmission technology.

  50. Describe the architecture of mobile applications.

  51. What is a mobile application emulator, why and why is it used?

  52. Describe the Android platform architecture.

  53. List the main advantages and disadvantages of Java 2 Micro Edition.

  54. What types of mobile devices are there?

  55. List the main parameters of real-time operating systems.

  56. Describe the response time of the system to interruptions.

  57. Explain the meaning of the "context switch time" parameter of real-time operating systems.

  58. Give examples of kernel size of real-time operating systems.

  59. Describe real-time mechanisms.

  60. What do we mean by an ideal real-time operating system?

  61. What parameters are specified in each descriptor of real-time operating systems?

  62. What operating system scheduling algorithms do you know? Describe them.

  63. Describe the mechanisms of intertask interaction of real-time operating systems.

  64. What basic concepts of real-time operating systems do you know?

  65. Describe the monolithic architecture of real-time operating systems. Draw its model.

  66. List the main advantages and disadvantages of monolithic architecture.

  67. What are the disadvantages of a microkernel-based RF modular architecture OS?

  68. How is interaction between system components and users carried out in an object architecture based on microkernel objects?

  69. Describe the OS RF object architecture based on objects.microkernels.

  70. Why is QNX often referred to as a network OS?

  71. What is FLEET Network Protocol? 10. What functions does the QNX core implement?

  72. Tell us about the main mechanisms that exist and QNX for the organization of distributed computing.

[1] Methodical council of the university - for general university disciplines.