Mobile App Development for Android and iOS
Course Overview
Mobile application development has become an exciting skill and a lucrative career. Our
lives are enriched by apps like WhatsApp, Uber, Careem, FoodPanda and so on. In this
course, you will learn to make apps similar to your favourite app. The course assumes no
prior knowledge of programming. Everything that is needed will be taught, and practiced
in the course. Ideal candidates are people looking to learn a highly employable skill, or
people looking to move from allied fields like digital marketing or web development, or
business people who plan to make or supervise mobile apps development, or app
developers who want to learn Flutter or Firebase.
Learning Outcomes
At the end of this course, students will be able to independently make a small mobile app
for android and iOS that makes use of database, with due regards and appreciation of
analytics tracking, user authentication, app notifications, design principles, user
experience, mobile app marketing, user engagement and growth, and monetization.
Students will also be encouraged on how to find job placements and/or part-time work
in app development field.
Technologies used
1) Flutter: We will be using Flutter platform that enables one to make apps for
android, iOS and web easily (although we won’t focus much on web in this course
but students can later on use the skills learned in the course to publish the same
apps to web as well).
2) Firebase: Firebase is Google’s platform for database, analytics tracking, user
authentication and app notifications which is most suitable for the requirements
of a modern mobile app
Course outline
1) Components of any software program: Client, server (or backend), database,
programming languages
2) Examples of useful mobile apps from different genres that students might be
familiar with
3) Basics of a programming language: variables, data types, loops, conditional
statement (if-else statements), functions, object-oriented concepts, synchronous
and asynchronous code, callbacks. Common programming errors e.g. infinite
loops.
4) Practice of #3 in a web-based coding lab
5) Quiz 1: on #3
6) Downloading pre-requite software to student’s computers, namely: Flutter, IDE
(Android Studio or Visual Studio Code), and Xcode (optional)
7) Making of a hello world app