MCA-112
Mobile Applications Design and Development
Building for phones on both platforms — Android activities, intents, UI and storage, then the iOS stack, Swift and Core Data.
- Semester
- Semester 2
- Credits
- 4
- Scheme
- 3 lectures + 1 tutorial a week
- Contact hours
- 44 across four units
- Category
- Core Elective - I
What the paper is
Mobile Applications Design and Development is the only paper in the degree that covers two platforms properly rather than picking one. Three units are Android and one and a half are iOS, and the split is deliberate: the Android half teaches the concepts, and the iOS half asks you to recognise the same concepts wearing different names.
The Android material is organised around the four application components and the activity life cycle. Almost every exam question in Units I and II comes back to one of them — what an intent is, how data moves between activities, when `onPause` runs, which fragment callback fires when.
The iOS half starts from nothing, including the language: Swift's syntax, collections, classes and closures are all in Unit III alongside the SDK. If you have only ever written Java, budget real time for it, because Unit IV assumes Swift fluency it only just gave you.
What to concentrate on
- Draw the activity life cycle and the fragment life cycle from memory, with the callback order for a rotation and for a phone call interrupting the app. It is the highest-frequency question in the paper.
- Know the four application components and the difference between explicit and implicit intents well enough to give an example of each. Intent filters and permissions hang off the same answer.
- On the iOS side, concentrate on the architecture — view controller, AppDelegate, storyboard — and on Core Data CRUD. Those are the parts the syllabus names explicitly and the parts most likely to be asked.
Syllabus, unit by unit
Summarised from the approved scheme. Hours are the contact hours the scheme allots, which is a fair guide to where the marks sit.
Unit I · Android systems, components and activities
12 hours- Mobile devices and applications, the Open Handset Alliance, overview of the Android OS and architecture
- Installing Android Studio and understanding the build system
- Application components: activity, service, content provider and broadcast receiver
- Intents, receiving and broadcasting intents, the manifest file and its settings, intent filters, permissions
- Declaring and starting an activity, switching between activities, passing data and returning values
- Activity state and life cycle, storing persistent activity data, types of intent, context, data sharing
Unit II · Android user interface
10 hours- Layouts and view attributes; button, text view, edit text, spinner, check box, radio button, date and time pickers
- Scroll view, switch and toggle, image view, drawables, styles and themes
- UI events and event listeners, animations, notifications, progress dialogs
- Action bar, tool bar, menus and pop-ups, floating action button, tab-based UI
- Fragments: types, life cycle, communication with an activity, adding, replacing and removing
- ListView, material design, RecyclerView
Unit III · Android storage and APIs, and the iOS stack
12 hours- Android data and storage APIs, managing data with SQLite, sharing data with content providers
- Android APIs: multimedia, networking, web, telephony, location-based services
- iOS technology stack: architecture, storyboards, features of Xcode, components of the iOS SDK
- View controller, AppDelegate, single-page applications
- Swift: datatypes, variables, flow control, operators, typecasting, collections and functions, classes and structures, inheritance, closures and enumerations
Unit IV · iOS interactions and data persistence
10 hours- Controls, gesture organisers, touching views, layouts, bounds and frames
- Navigation bar and buttons, toolbar and buttons, timers, container views
- Table and navigation, Core Location and MapKit, using Google Maps in iOS, sensors
- Data persistence: the Core Data framework and CRUD operations
How it is examined
- Question 1 is compulsory, covers the whole syllabus, and is made of objective or short-answer questions. It carries 12 marks.
- The rest of the paper is four units matching the four above. Each unit sets two questions and you attempt one, so there are four more answers at 12 marks each.
- Examiners are asked to map every question to a course outcome using Bloom's taxonomy, which is why questions are phrased as “apply”, “analyse” or “evaluate” rather than only “explain”.
The pass mark is 40 out of 100 in every paper.
Learning objectives
- Designing scripts to meet given interface requirements
- Using variables, properties and other code elements to implement a code design
- Devising, carrying out and evaluating functional test strategies for a mobile design
- Implementing and evaluating techniques for installing mobile applications and delivering them via various channels
Assumed beforehand
- Basic programming skill
- Basic knowledge of web applications
Paired in the scheme with MCA-168 Lab based on Core Elective I.
Books it is taught from
- TB1Meier Reto and Ian Lake, “Professional Android”, Wrox, 4th edition, 2018
- TB2Rick Boyer, “Android 9 Development Cookbook”, Packt, 3rd edition, 2018
- TB3Craig Grummitt, “iOS Development with Swift”, Manning, 4th edition, 2017
Notes for MCA-112
Lecture notes, question papers and assignments filed against MCA-112 are in the library. Everything there has been checked by a moderator before it appears, and an account is free — new ones are approved by hand, which is what keeps the shelf clean.