Mobile Development - Android & IOS
2022/2023- Purpose and learning objectives
In this course you will learn how to build native apps for Android and iOS.
Knowledge
The goal is to learn how to design and implement mobile applications (apps) for
phone/tablet. You will learn how to create prototype apps, based on customer requirements. During classes we will build apps, that demonstrate the features mentioned below.
We will cover best-practices, used in mobile development. Students will be able to run their app on both software simulator, and on physical devices: phone and tablet.
Today it is possible to develop mobile apps, which can solve many of today’s user requirements. Using built-in sensors, such as GPS, Accelerometer, Gyroscope, Pedometer, Altitude, Microphone, Camera and Magnetometer developers can build apps which are far more functionality than desktop applications. Add in the connection to Cloud services, such as Database, Authentication and Artificial Intelligence(AI), the mobile app has access to all the services a desktop application has.
Tools:
Android Studio https://developer.android.com/studio
Xcode https://developer.apple.com/xcode/
Mobile application topics:
● Mobile Applicataion User Interface
● Mobile Application Architecture
● App Lifecycle
● Design Pattern
● Responsive Design
Mobile application features:
● Multitouch Gesture
● Pop up view
● Map
● Camera
● Sensors
● List
● Cloud Database
● Cloud Authentication
Programming languages:
Swift https://docs.swift.org/swift-book/
Java https://docs.oracle.com/en/java/javase/14/
Android specific features:
● Java (Not Kotlin)
● Activity
● Intent
● ListView
● Class hierarchy
● Manifest
● Resources
Java concept:
● Lambda expressions
iOS specific features:
● Swift
● Storyboard
● Autolayout
● Segue
● View Controller
● Navigation Controller
Swift concepts:
● Optional
● Tuple
● Collection
● Closure
● Class
● Protocol
● ExtensionThe student will gain necessary knowledge to build a prototype mobile app, based on user requirements. This includes knowing the necessary development tools, cloud-services and programming languages.
SkillsThe student will learn how to work with the IDEs Android studio and Xcode to build native mobile applications. The student will learn to combine previous knowledge in order to solve problems. Also the skill to find relevant information on the internet will be trained.
CompetencesThe student will learn how to convert user-requirements to a mobile application. Learn the different steps in mobile develoment, from talks with the client, prototyping and integrating with cloud services. The student will gain competence in building well-organized apps, using extendable and reusable code base.
- Type of instruction
Class presentations of new material. In-class exercises. Group work and individual assignments.
- Subject/module requirement for
participation
Academic requirement for participation
The student must know programming on a level of 3rd. semester KEA Computer Science APEquipment needed to participate
You need a computer with min. 8GB ram and Solid State Disk (SSD). The reason for this is, that Android Studio and the simulators use a lot of CPU time.
For the first 6 weeks, there are two possible options:
Option 1:
Develop iOS apps, using Xcode 14.1. Here the student will need a computer running macOS, version 12.5 or later.
This will be the main content during the 6 weekly classes.
Option 2:
Develop cross-platform apps, using React Native.
This will be self-study, which means that the student can not expect detailed guidance from the teacher.
For the next 6 weeks we work with Android Studio (Win, macOS, Linux), creating native Android apps.
For the last 4 weeks, students are free to build either iOS, Android or cross-platform app. - Exam
The learning outcomes of the exam are identical with the learning outcomes of the subject(s)/modul(es)
Prerequisites for access to the examinationThere will be 2 mandatory exercises. They must be handed in and approved, in order for the student to gain access to the exams.Exam in one or more subjectsSubject/module is tested standaloneType of examOral examinationOral 30 minutes exam (incl. greading) with internal censor.
○ 10 minutes presentation
○ 15 minutes Q&A
● Student presents exam project:
○ App demo
○ Explain interesting part of code and choice of technologies
○ Q & A about project and curriculum
● No report
● No mandatory exam projectIndividual exam or group examIndividualExam languagesEnglishDuration30 min.Type of evaluation7-point grading scaleExaminersInternal censure
In the subject Mobile Development - Android & IOS you will receive 64 hours of instruction, which corresponds to 85 lessons (1 lesson = 45 min.) and 23% of your total workload for the subject.
The teaching primarily consists of the following activities: classroom teaching, exercises.
The preparation primarily consists of the following activities: searching for information, exercises.
Read about KEAs Study Activity Model
*KEA can deviate from the number of hours if this is justified by special circumstances