Course Description
The Foundation in iOS App Development course is a combination of guided tutorials and challenges. The guided tutorials introduce new concepts and provide detailed explanations of how to make a particular app. The challenges reinforce learning as participants solve problems by applying the concepts from the guided tutorials.
Course Objectives
Participants learn to code and make iOS apps by building 6 popular apps from the App Store from scratch using the Swift programming language, including a quiz, chat, and weather app.
Learning to Code – Programming Techniques Covered
- Concepts of Object Oriented Programming (OOP): The type system, variables, functions and methods, inheritance, classes and protocols.
- Control Structures: Using If-Else clauses, Switch statements and logic to control the flow of execution.
- Data Structures: How to work with collections, such as arrays and dictionaries.
- Software Design: How to organise and format code for readability and how to implement the Model-View-Controller (MVC) design pattern.
- Networking: How to make asynchronous API calls, store and retrieve data from the cloud, and use the JSON format for server communication.
Learning the iOS Framework – Aspects Covered
- Using Apple’s Xcode software: Xcode is key for making an app. Participants learn to set up projects, use the Storyboard and Interface Builder, integrate third party libraries and CocoaPods into projects, and debug their apps based on compiler warnings and error reports in the console.
- App Design: Participants customise the appearance of an app using the Interface Builder, arrange UI (user interface) elements on screen, and learn to use constraints to make an app fit different screen sizes and screen orientations for a good user experience. Participants also learn to use modal views and make custom .xib files to modify the native designs.
- App Behaviour: How to connect UI elements to code using IBOutlets and IBActions and modify how they appear on screen. How to navigate between different screens and pass data between them using segues and delegates.
- Key iOS classes: How to work with key aspects of iOS such as ViewControllers, NavigationControllers, the AppDelegate, TableViews and Core Location.