Identifying Data 2020/21
Subject (*) Systems Programming Code 614G01058
Study programme
Grao en Enxeñaría Informática
Descriptors Cycle Period Year Type Credits
Graduate 1st four-month period
Fourth Optional 6
Language
Spanish
English
Teaching method Hybrid
Prerequisites
Department Enxeñaría de Computadores
Coordinador
Vazquez Regueiro, Carlos
E-mail
carlos.vazquez.regueiro@udc.es
Lecturers
Porta Trinidad, Juan
Vazquez Regueiro, Carlos
E-mail
juan.porta@udc.es
carlos.vazquez.regueiro@udc.es
Web
General description Programación de sistemas encaixados e dispositivos móbiles
Contingency plan 1. Modificacións nos contidos

Non se preveen modificar os contidos


2. Metodoloxías
*Metodoloxías docentes que se manteñen

As metodoloxías propostas pódense adaptar á situación de clase virtual a través de medios telemáticos. Toda a información estará dispoñible e accesible ao alumnado a través da plataforma Moodle.

*Metodoloxías docentes que se modifican

En función da situación, poderase sustituir a proba final por un traballo individual sobre un aspecto non contemplado no temario en forma de presentación expositiva.
En función da carga de traballo do alumnado, pódese reducir a parte diferida dalgunhas das prácticas de laboratorio.

3. Mecanismos de atención personalizada ao alumnado

As titorías realizaránse preferentemente por medios telemáticos.
Empregaranse as ferramentas de Microsoft (Teams, Stream, etc.) nas distintas metodoloxías: sesións maxistrais, prácticas de laboratorio e traballos tutelados. Tratarase de manter o mesmo esquema que en caso presencial, para facilitar a coordinación con outras materias.

4. Modificacións na avaliación

*Observacións de avaliación:
Non se esperan cambios importantes, excepto a posible sustitución da proba final pola presentación dun traballo individual.

5. Modificacións da bibliografía ou webgrafía

Non se esperan cambios na bibliografía

Study programme competencies
Code Study programme competences
A32 Capacidade de desenvolver procesadores específicos e sistemas embarcados, así como desenvolver e optimizar o sóftware dos ditos sistemas.
A34 Capacidade de deseñar e implementar sóftware de sistemas e de comunicacións.
B1 Capacidade de resolución de problemas
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C7 Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.
C8 Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Learning aims
Learning outcomes Study programme competences
Ability to develop Android applications in mobile devices, specific processors and embedded systems A32
A34
B1
C6
C7
C8
Ability to develop Android applications with capacity of communications and interaction A32
A34
B1
C6
C7
C8

Contents
Topic Sub-topic
1.1. Introduction to Systems Program Introduction to Systems Program
Subject presentaction
1.2. Introduction to Android History and evolution
Architecture and characteristics
Main components
Manifest
1.3. Development tools SDK and Android Studio instalation
Basic application and application structure
Debugging and testing
Application's Resources
2.1. Activities, Fragments and Intents Activities and Cycle of life
Intents, explicit and implicit
Parameters exchange
Fragments: estatics and dynamics
Fragments communication
2.2. User interface Layouts and Views
Events
Notifications
Menus and ToolBar
Dialogs
Lists and Adapters
2.3. Working in background Local Services
Bound Services
Broadcast Receivers
Processes and Threads
Asynchronous threads
3.1. App architecture Types of app architectures
Distribution of layers
Interchanges
3.2. Data persistence Preferences
Files internal and external
Data bases: SQL and ROOM
Content Providers
3.3. Interconnection Communications
Connection by Post
Protocols: XML and JSON
Advanced network services
4.1. System services and Sensors System services
Connectivity
Wifi and Phone Services
Sensors
4.2. Localization and Maps Localization
Maps (Google Maps library)
Localization Services
4.3. Distribution Publication
Permissions
Monetization and Publicity
Optimization

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Laboratory practice A32 A34 B1 C6 C7 14 42 56
Supervised projects A32 A34 B1 C6 C7 C8 7 35 42
Mixed objective/subjective test A32 A34 B1 C6 3 0 3
Guest lecture / keynote speech A32 A34 20 25 45
 
Personalized attention 4 0 4
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Laboratory practice Students will develop practices in the laboratory for learning programming mobile devices with Android. A series of practices following a script to familiarize the student with the concepts and the basic procedures of Android programming will be raised (competencies A32 and A34).

It will also promote the expansion and improvement of the basic features of each proposed practice (competency C7) as well as the discussion and resolution of problems (competencies B1 and C6).

The practices consist of an immediate part that is delivered at the end of the session and a deferred part that is delivered before the next session.

Part-time students could present all the practices of non Presential form.
Supervised projects Works (applications) will be proposed to make students deepen in topics covered by the course (competences A32 and C34) and explore new knowledge (competencies C6 and C7). It will be valued especially that the application is functional and robust (competency B1) and is valuable for society (competency C8).

Each work will be developed by a small number of students (typically between 2 and 4), so that group coordination and working methodology is very important. A small report of follow-up in the most important phases of development will also be required.

Ideas and problems will be discussed primarily during the hours tutoring in small groups.
Mixed objective/subjective test Examination of the contents of the subject that will combine questions about theory and problem solving or an individual work about aspects not treated on the course.

This type of tests will be used to check competencies A32 and A34.
Guest lecture / keynote speech Didactic exhibition of the theoretical content of the subject using slides and other ICT resources.
Also, certain basic application will be explain in detail so that students can implement them and tested during laboratory practices.

The lectures are oriented both to adquire the necesssary knowledges (A32 and A34) as to guide the students to autonomously search and adquire new knowledge (competency C7). Moreover, the lectures are used to encourage the discussion and criticism of different options and alternatives in the problem resolution (competences B1 and C6).
Some of the sessions may be guided by the students themselves.

Personalized attention
Methodologies
Supervised projects
Laboratory practice
Guest lecture / keynote speech
Description
Keynote session: attend and answer questions from students in relation to the theoretical material exposed in the lectures.
Laboratory practice: attend and answer questions from students in relation to proposed or carried out in the laboratory practices.

Supervised projects: attend and answer questions from students in relation to the proposed projects.

The personalized attention will be carried out preferably by telematic means.

Assessment
Methodologies Competencies Description Qualification
Mixed objective/subjective test A32 A34 B1 C6 The knowledge of the subject will be valued (including the problem solving) by means of mixed tests or an individual work on aspects not covered in the course. 15
Supervised projects A32 A34 B1 C6 C7 C8 Evaluation of the work done by the student in the supervised projects by means of mixed tests.
It includes various monitoring reports, the repository and the source code of the application, the application file and the exhibition of the final work through a video created by the participants.
40
Laboratory practice A32 A34 B1 C6 C7 Evaluation of the work done by the student in the laboratory practice by means of mixed tests. 45
 
Assessment comments
The subject is approved by obtaining at least 50% of the rating.
Part-time students could present all the practices of non Presential form.
But the mixed objetive/subjective test and defense of supervised projects will be mandatory, face-to-face or virtual through ICT resources.
In the July evaluation, a mixed objetive/subjective test and defense of supervised project will be valued.

Sources of information
Basic Wie Meng Lee (2012). Android 4 Desarrollo de aplicaciones. Wrox (Anaya Multimedia)
Erik Hellman (2013). Android Programming: Pushing the Limits. Wiley
Scott McCracken (2012). Android. Curso de desarrollo de aplicaciones. Inforbook
Jesús Tomás Gironés (2012). El gran libro de Android. Marcombo
Joseph Annuzzi, Lauren Darcey y Shane Conder (2015). Introduction to Android Application Development. Android Essentials. Addison-Wesley
Joan Ribas Lequerica (2014). Manual imprescindible de desarrollo de aplicaciones para Android. Anaya Multimedia
Reto Meier (2016). Professional Android. WRox

Complementary Lauren Darcey y Shane Conder (2012). Android Application development in 24 hours. SAMS
Joshua J. Drake , Zach Lanier , Collin Mulliner , Pau Oliva Fora, Stephen A. Ridley , Georg Wichersk (2014). Android Hacker's Handbook. Wiley
José Enrique Amaro Soriano (2012). Android. Programación de dispositivos móviles a través de ejemplos. Marcombo
Joan Ribas Lequerica (2012). Desarrollo de aplicaciones para Android. Anaya
Anders Goransson (2014). Efficient Android Threading: Asynchronous Processing Techniques for Android Applications. O'Reilly Media


Recommendations
Subjects that it is recommended to have taken before
Operating Systems/614G01016
Concurrency and Parallelism/614G01018

Subjects that are recommended to be taken simultaneously
Embedded Systems/614G01060

Subjects that continue the syllabus

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.