460-2019/02 – Design of Applications for Mobile Devices I (TAMZ I)

Gurantor departmentDepartment of Computer ScienceCredits6
Subject guarantorIng. Pavel Moravec, Ph.D.Subject version guarantorIng. Pavel Moravec, Ph.D.
Study levelundergraduate or graduateRequirementOptional
Year2Semestersummer
Study languageEnglish
Year of introduction2015/2016Year of cancellation2020/2021
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
MOR03 Ing. Pavel Moravec, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 2+2
Part-time Credit and Examination 10+0

Subject aims expressed by acquired skills and competences

The subject aims to introduce students to the basics of mobile development. After successful completion of the subject the student will be able to 1. Distinguish whether the used platform is suitable for given application 2. Analyze, design and implement simple mobile application 3. Compare the efficiency of mobile application with a desktop-based one 4. Make use of basic set of extension APIs and their use 5. Decide in which manner is the application going to be distributed to the target device and discriminate if the application needs to be digitally signed or not.

Teaching methods

Lectures
Tutorials
Experimental work in labs
Project work
Other activities

Summary

The applications developed for mobile devices are becoming more and more common presently. In most cases these applications are targeted for mobile phones and tablets. The most widespread technologies which allow us to develop such applications are based on Java programming language or the combination of HTML, CSS and JavaScript. Because the devices have a reduced functionality, limited processing power and limited (but usable) network access, we usually do not develop in a desktop-based version of the platform, but with a subset of such platform, extended with parts, containing classes with reduced requirements, limited or mobile device specific functionality.

Compulsory literature:

A. Kosmaczewski: Mobile JavaScript Application Development, O'Reilly Media, 2012, ISBN: 978-1-4493-2785-9 J. Reid: JQuery Mobile, O'Reilly Media, Inc., 2011, 9781449306687. P. Retting: Professional HTML5 Mobile Game Development, John Wiley & Sons (14 Sep 2012), ISBN: 978-1118301326 D. Harkey, S. Appajodu, M., Wireless Java Programming for Enterprise Applications: Mobile Devices Go Corporate, John Wiley & Sons, ISBN 0471218782.

Recommended literature:

J. M. Wargo: PhoneGap Essentials: Building Cross-platform Mobile Apps, Addison-Wesley Professional, 2012, ISBN 9780321814296. J. Munro: 20 Recipes for Programming PhoneGap, O'Reilly Media, ISBN: 978-1-4493-1954-0 A. Kosmaczewski: Sencha Touch 2 Up and Running, O'Reilly Media; 1 edition (27 Feb 2013), ISBN: 978-1449339388.

Way of continuous check of knowledge in the course of semester

Credit requirements: Implementation and defence of (a) mobile application(-s) Voluntary presentation of extension APIs, other or related technology or the specifics of mobile application development. Development of simple applications during labs.

E-learning

Other requirements

Basic knowledge of at least one of the following programming languages: Java, C#, C/C++ or JavaScript. Basic knowledge of HTML.

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

Syllabus of lectures: * Introduction to design of applications for mobile devices, technology overview and their share on mobile devices, development environments. Mobile platform architectures, target devices, relation to other technologies. * Basic principles used during mobile platform design, targeted on devices with limited hardware abilities. Development and life-cycle of mobile applications. * Over-the-Air Provisioning (OTA) architecture. Deployment of applications via Internet. * Universal frameworks used for multi-platform application development independently on mobile operating system. * Platform-independent inter-application communication - XML-RPC, Web services, JSON format, AJAX. * Technologies used for HTML and JavaScript based mobile application development - HTML5, CSS3, ... * Multi-threaded and worker-based approach and related problems. * Working with forms, graphics and sound. * Extension APIs: API and its version detection. API examples: messaging, multimedia support, geolocation, orientation, examples of some other APIs * File access, XML processing. * Communication with other devices - sockets, Bluetooth. * Application security model: Virtual machine security, security of processed data, especially with standardized protocols: SSL, TLS a and X.509-based techniques. * Application signing principles, sensitive APIs for different technologies. Limitations of unsigned applications depending on target platform. * Debugging, code optimization, (partial) obfuscation as a protection method against reverse engineering. Automatic application startup based on external events, timer or during mobile OS startup. The computer labs focus on obtaining of practical experience in the design of applications for mobile devices. Students will implement simple applications during the labs, following the topics addressed during lectures. Syllabus of computer exercises: * Basic work with emulator - NetBeans or Eclipse, installation of plugins required for mobile development. Execution of developed code in emulator or on mobile devices. * Record processing, serialization into binary (or string) format, internal storage and startup data for next execution. * Basic GUI elements (high-level). * HTTP, websockets, server-sent events and how to use them. * Visual and Application Properties, especially fine-tuning the application with their use. * Working with Canvas, keypress and touch events. * Development of a simple 2D game. * Working with sound and multimedia. * Using features specific for mobile platforms (camera, orientation, geolocation). * File access. * Communication with a server using JSON. Project requirements: The students will be assigned a project, which they will implement. The time required to finish the project is approximately 21 hours. The project topic will be a mobile application or game, observing the formal requirements and using at least 3 advanced technologies/APIs covered in lectures and labs.

Conditions for subject completion

Full-time form (validity from: 2015/2016 Winter semester, validity until: 2018/2019 Summer semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of pointsMax. počet pokusů
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit 45 (45) 15
                Lab work Other task type 10  0
                Semestral Project Semestral project 25  10
                Presentation Other task type 10  5
        Examination Examination 55  20 3
Mandatory attendence participation:

Show history

Conditions for subject completion and attendance at the exercises within ISP:

Show history

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2020/2021 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 2 Compulsory study plan
2019/2020 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 2 Compulsory study plan
2019/2020 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 2 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 2 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 2 Choice-compulsory study plan
2019/2020 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 2 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 2 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 2 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 2 Choice-compulsory study plan
2019/2020 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 2 Optional study plan
2018/2019 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 2 Compulsory study plan
2018/2019 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 2 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 2 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 2 Choice-compulsory study plan
2018/2019 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 2 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 2 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 2 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 2 Choice-compulsory study plan
2018/2019 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 2 Optional study plan
2017/2018 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 2 Optional study plan
2017/2018 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 2 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 2 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 2 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 2 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 2 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 2 Choice-compulsory study plan
2017/2018 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 2 Choice-compulsory study plan
2017/2018 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 2 Compulsory study plan
2016/2017 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 2 Optional study plan
2016/2017 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 2 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 2 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 2 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 2 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 2 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 2 Choice-compulsory study plan
2016/2017 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 2 Choice-compulsory study plan
2016/2017 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 2 Compulsory study plan
2015/2016 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 2 Optional study plan
2015/2016 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 2 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 2 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 2 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 2 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 2 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 2 Choice-compulsory study plan
2015/2016 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 2 Choice-compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner
V - ECTS - bc. 2019/2020 Full-time English Optional 401 - Study Office stu. block
V - ECTS - bc. 2018/2019 Full-time English Optional 401 - Study Office stu. block
V - ECTS - bc. 2017/2018 Full-time English Optional 401 - Study Office stu. block
V - ECTS - bc. 2016/2017 Full-time English Optional 401 - Study Office stu. block
V - ECTS - bc. 2015/2016 Full-time English Optional 401 - Study Office stu. block

Assessment of instruction



2015/2016 Summer