IDENTIFYING DATA 2023_24
Subject (*) ADVANCED PROGRAMMING OF MOBILE DEVICES Code 17244229
Study programme
Bach. Degree in Telecommunication Systems and Services Engineering (2016)
Cycle 1st
Descriptors Credits Type Year Period
6 Optional 1Q
Language
CatalĂ 
Department Computer Engineering and Mathematics
Coordinator
MILLAN MARCO, PEDRO
E-mail pere.millan@urv.cat
tomas.gonzalez@urv.cat
Lecturers
MILLAN MARCO, PEDRO
GONZALEZ SANCHEZ, TOMAS
Web http://campusvirtual.urv.cat
General description and relevant information <h3>Fundamentals of mobile app development for iOS devices in Swift.</h3><p>Although this course is not offered in English, foreign exchange students will receive personalised support in English and will be able to develop the evaluation activities in this language</p>

Competences
Type A Code Competences Specific
 TEL1 Be able to construct, use and manage telecommunications networks, services, processes and applications, understood to be systems of capture, transport, representation, processing, storage, management and presentation multimedia information from the point of view of the telematics services.
 TEL2 Be able to apply the techniques on which telematics networks, services and applications are based, such as management systems, signalling and switching, routing and security (cryptographic protocols, tunnels, firewalls, mechanisms for payment, authentication and content protection), traffic engineering (graph theory, queue theory and teletraffic), pricing, reliability and service quality, in fixed, mobile, personal, local or long-distance environments, with different bandwidths, including telephony and data.
 TEL4 Be able to describe, programme, validate and optimise communications protocols and interfaces in the different levels of a network architecture.
 TEL5 Be able to follow the technological progress of transmission, switching and process to improve telematics networks and services.
 TEL7 Be able to program services and telematic applications, in networks and distributed
Type B Code Competences Transversal
 CT1 Use information in a foreign language effectively
Type C Code Competences Nuclear

Learning outcomes
Type A Code Learning outcomes
 TEL1 Implement complete applications for mobile devices
 TEL2 Understand the uses of mobile applications for security purposes, electronic payments, etc.
 TEL4 Undesrsand the components necessary to develop advanced applications for mobile devices
 TEL5 Understand future trends and developments in mobile applications
 TEL7 Understand the fundamentals of the moviles platforms.
Understand how mobile platforms manage applications.
Develop graphical interfaces for mobile applications.
Type B Code Learning outcomes
 CT1 Use information in a foreign language effectively
Type C Code Learning outcomes

Contents
Topic Sub-topic
Swift language
Graphical Interface
iOS apps architecture
Data Persistence
Internet access
Final and complementary topics

Planning
Methodologies  ::  Tests
  Competences (*) Class hours
Hours outside the classroom
(**) Total hours
Introductory activities
1 0 1
Lecture
TEL2
TEL5
28 58 86
IT-based practicals in computer rooms
TEL1
TEL4
TEL7
28 58 86
Personal attention
1 0 1
 
Multiple-choice objective tests
TEL2
TEL5
1 2 3
Practical tests
TEL1
TEL4
TEL7
0.5 1.5 2
Oral tests
TEL4
TEL7
0.5 0.5 1
 
(*) On e-learning, hours of virtual attendance of the teacher.
(**) The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies
  Description
Introductory activities Presentation of the subject
Lecture Theory classes to present the different elements and concepts that make up the subject.
IT-based practicals in computer rooms Laboratory practices, for iOS device programming.
Personal attention Consultations with teachers, to solve problems and learning difficulties.

Personalized attention
Description

Time reserved for individual attention and doubt solving with students. This attention can be carried out in person and/or through online meetings, previously appointed by e-mail, or with other online tools.


Assessment
Methodologies Competences Description Weight        
Multiple-choice objective tests
TEL2
TEL5
2 Moodle quizzes about theory concepts (10% + 20%) 30%
Practical tests
TEL1
TEL4
TEL7
3 practices (15%+15%+20%) 50%
Oral tests
TEL4
TEL7
Class/laboratory attendance and participation 20%
Others  
 
Other comments and second exam session

There are two multiple choice tests on theory concepts. The 2nd test includes the complete syllabus of the entire subject. Notes, books, or any electronic device cannot be consulted. In the labs, you have to complete 3 practical iOS+Swift programming exercises. A minimum mark of 5 out of 10 must be obtained in the (final) part of theory and in each of the 3 practical exercises.

In the 2nd call, the assessment activities are the equivalent of the 1st call: a test of the whole theory and a unique practical exercise.

The exams will be held in person. Interviews for the practices will be conducted. The practices are carried out in teams, but the grade is individual for each member of the team.


Sources of information

Basic Apple, Apple Developer, Online, https://developer.apple.com/
Ahmad Sahar, Craig Clayton, iOS 16 Programming for Beginners, Packt Publishing, 2022
Matt Neuburg, iOS 15 Programming Fundamentals with Swift, O'Reilly, 2021

Complementary Enrique Blasco Blanquer, Desarrollo de aplicaciones iOS con Swift, RA-MA Editorial, 2016
Christian Keur, Aaron Hillegass, iOS Programming: The Big Nerd Ranch Guide, 7th Edition, Addison-Wesley, 2020
Arpit Kulsreshtha, iOS 15 Application Development for Beginners, BPB Publications, 2021
Matthew Mathias, Mikey Ward, John Gallagher, Swift Programming: The Big Nerd Ranch Guide, 3rd Edition, Addison-Wesley, 2020

Recommendations

Subjects that continue the syllabus
BACHELOR'S THESIS/17244301

Subjects that are recommended to be taken simultaneously
MOBILE APPLICATIONS AND SERVICES LABORATORY/17244137
MOBILE APPLICATIONS AND SERVICES LABORATORY/17244228

Subjects that it is recommended to have taken before
PROGRAMMING/17244010
MOBILE APPLICATIONS AND SERVICES/17244115
 
Other comments
It is ESSENTIAL to have passed the subject "Programming" to have a sufficient base for the development of iOS Apps in Swift. It is important to have a certain level of English to understand the official Apple/iOS/Swift documentation. It is recommended to have a Mac/iOS device to be able to work outside the laboratory. It is very important to work day by day and not leave everything to the end. It is highly recommended to attend class to better understand the documentation and information provided by the teachers, and to resolve any doubts that may arise.
(*)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.