Course Overview: Mobile App Development For Android and iOS
Course Overview: Mobile App Development For Android and iOS
Course Overview: 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
8) Making a to-do list app without database using concepts learned in #3
9) Database: using firebase as a database. Learning CRUD: Create, Read, Update and
Delete operations on a database. Brief appreciation of different types of databases
options that are available and their suitability for different needs.
10)Using database operations learned in #9, save and retrieve the to-do list items
created in #8.
11)Importance of unit testing of the software as we write it
12) Assignment 1: Each user will make a small 2-3 screen app of their choice that makes
use of database
13) Guest Talk: on User Experience design
14)Creating a common type of mobile app e.g. ecommerce app, food delivery app, chat
app
i) Conceiving core features and sketching the UI design of the app
ii) Creating the UI in flutter
iii) Connecting UI to the database
iv) Logging analytics events, creating appropriate notifications etc.
v) Thorough testing of the app and making appropriate changes
15) Guest talk: on creating mobile game apps
16) Continuously improving the app by taking aid from tools like Crashalytics, human
testers and user feedback. Make sure most mobile models and mobile sizes
continue to have great user experience. Will show examples from my live
commercial mobile apps.
17) Stressing the importance of collaboration with other people, for example UX
designers, backend (server) developers, other mobile developers, businesspeople,
marketing people etc.
18) Guest talk: by a successful mobile app developer who has a diverse portfolio of mobile
apps
19) Preparation and discussion of final project, and allowing the students to make
groups if needed
20) Delivering the final project and grading and discussion of the project
21) Class on finding work opportunities in software companies, as a freelancer (on
Upwork for example), or as an independent entrepreneur
22) Guest talk: By someone in a leadership and influential position in the tech or
entrepreneurship
Pre-requisites
1) Matric / O Level Maths.
2) Ability to use computers
Frequently Asked Questions
Q: If I do well in the course, will you help me in finding part-time or full-time job?
A: Yes. We will help connect students with potential employers and find suitable job
placement.