PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Mobile application development

01PFPOV, 01PFPBG, 01PFPBH, 01PFPSM

A.A. 2020/21

Course Language

Inglese

Degree programme(s)

Master of science-level of the Bologna process in Ingegneria Informatica (Computer Engineering) - Torino
Master of science-level of the Bologna process in Communications And Computer Networks Engineering (Ingegneria Telematica E Delle Comunicazioni) - Torino
Master of science-level of the Bologna process in Ict For Smart Societies (Ict Per La Societa' Del Futuro) - Torino
Master of science-level of the Bologna process in Data Science And Engineering - Torino

Course structure
Teaching Hours
Lezioni 45
Esercitazioni in aula 15
Tutoraggio 15
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Malnati Giovanni Professore Associato IINF-05/A 45 0 0 0 12
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 D - A scelta dello studente A scelta dello studente
2020/21
The course aims at teaching the fundamentals of mobile application design and development. It explores the principles and the challenges in designing and developing for this peculiar kind of devices, focusing on smart phone platforms such as Android and iOS. These platforms are continuously growing and becoming active and important participant in the wider mobile ecosystem. The material will be presented through a thorough study of the architecture, and a rich set of practical examples that covers all aspect of the mobile device usage.
The course aims at teaching the fundamentals of mobile application design and development. It explores the principles and the challenges in designing and developing for this peculiar kind of devices, focusing on smart phone platforms such as Android and iOS. These platforms are continuously growing and becoming active and important participant in the wider mobile ecosystem. The material will be presented through a thorough study of the architecture, and a rich set of practical examples that covers all aspect of the mobile device usage.
This course will allow students to design and develop medium-complexity applications on mobile platforms. The assignments and structure of the class is organized to accomplish the following learning objectives: 1. Be competent in programming in the event-based model used in application frameworks for mobile devices 2. Be able to analyze and design a suitable user experience for a mobile application 3. Be able to write and deploy an application using a mobile computing software framework 4. Be able to describe and leverage the differences in software development between mobile device programming and server application programming, and develop applications that incorporate both programming methods to efficiently construct a single application task 5. Get hands-on experience of development, test, and debugging techniques for mobile applications (both stand-alone and server-based ones).
This course will allow students to design and develop medium-complexity applications on mobile platforms. The assignments and structure of the class is organised to accomplish the following learning objectives: 1. Be competent in programming in the event-based model used in application frameworks for mobile devices 2. Be able to analyse and design a suitable user experience for a mobile application 3. Be able to write and deploy an application using a mobile computing software framework 4. Be able to describe and leverage the differences in software development between mobile device programming and server application programming, and develop applications that incorporate both programming methods to efficiently construct a single application task 5. Get hands-on experience of development, test, and debugging techniques for mobile applications (both native and multiplatform ones).
Operating systems; Object oriented programming; concurrent and distributed programming.
Operating systems; Object oriented programming; concurrent and distributed programming.
Introduction to the mobile ecosystem (6h) • History and trends in market, technology, expectations • What makes mobile unique • Non functional issues (usability, energy management, device non homogeneity) • Native vs. web applications • Overview of main mobile operating systems Guidelines for mobile application design (6h) • User experience and interaction design • App Design Strategies • User Experience Guidelines The Android Operating System (27h) • Android architecture • Toolchain setup • Activities and their life-cycle • Application resources • Views, adapters, fragments, and the action bar • Multithreading • 2D Graphics and animations • Networking and Web • OpenGL ES • Multimedia • Services Introduction to the iOS Operating System (15h) • General architecture • The ObjectiveC language • The CocoaTouch framework • Multimedia, networking and multithreading Multiplatform development (6h) • Mobile web applications and frameworks • Cross-platform native frameworks
Introduction to the mobile ecosystem (4.5h) • History and trends in market, technology, expectations • What makes mobile unique • Non functional issues (usability, energy management, device non homogeneity) • Native vs. web applications • Overview of main mobile operating systems Guidelines for mobile application design (4.5h) • User experience and interaction design • App Design Strategies • User Experience Guidelines The Android Operating System (27h) • Android architecture • Toolchain setup • Activities and their life-cycle • Application resources • Views, adapters, fragments, and the action bar • ViewModels, Repository, persistence and the Room framework • Multithreading and coroutines • Networking • 2D Graphics and animations • OpenGL ES • Multimedia • Services Introduction multi-platform mobile development (15h) • Multiplatform architectures • The React Native framework
This course will be conducted using a combination of formal class lectures and hands-on assignments. Lectures will cover theoretical concepts and backgrounds related to Mobile application development. Extensive examples will be used to illustrate the taught principles.
This course will be conducted using a combination of formal class lectures and hands-on assignments. Lectures will cover theoretical concepts and backgrounds related to Mobile application development. Extensive examples will be used to illustrate the taught principles.
• Android wireless application development, by Shane Conder and Lauren Darcey. 2nd ed., Addison-Wesley, 2011 • Designing Mobile Interfaces, by Steven Hoober and Eric Berkman, O’Reilly, 2012 • Teacher-provided slides and material
• Android Studio 4.0 Development Essentials - Kotlin Edition, by Neil Smyth, Payload Media, 2020 • The User Experience Guidebook, by Seun Olowokintan, Al Hammadi Publishing, 2019 • React and React Native, 3rd edition, by Adam Boduch and Roy Derks, Packt Publishing, 2020 • Teacher-provided slides and material
Modalitΰ di esame: Prova scritta tramite PC con l'utilizzo della piattaforma di ateneo; Elaborato progettuale in gruppo;
Written examination consisting of open questions assessing the expected learning outcomes, without access to any material (55%, 1,5 hours) and oral evaluation of coursework assignments (45%). These will include a final project, where student teams will design and implement a complete solution of a given application. This will help students to develop a strong understanding of the software development process by participating in all aspects of its development life cycle.
Exam: Computer-based written test using the PoliTo platform; Group project;
Written examination consisting of open questions assessing the expected learning outcomes, without access to any material (55%, 1,5 hours) and oral evaluation of coursework assignments (45%). These will include a final project, where student teams will design and implement a complete solution of a given application. This will help students to develop a strong understanding of the software development process by participating in all aspects of its development life cycle.
Modalitΰ di esame: Prova scritta (in aula); Prova scritta tramite PC con l'utilizzo della piattaforma di ateneo; Elaborato progettuale in gruppo;
Written examination consisting of open questions assessing the expected learning outcomes, without access to any material (55%, 1,5 hours) and oral evaluation of coursework assignments (45%). These will include a final project, where student teams will design and implement a complete solution of a given application. This will help students to develop a strong understanding of the software development process by participating in all aspects of its development life cycle.
Exam: Written test; Computer-based written test using the PoliTo platform; Group project;
Written examination consisting of open questions assessing the expected learning outcomes, without access to any material (55%, 1,5 hours) and oral evaluation of coursework assignments (45%). These will include a final project, where student teams will design and implement a complete solution of a given application. This will help students to develop a strong understanding of the software development process by participating in all aspects of its development life cycle.
Esporta Word