7.1 IOS 12 Course Syllabus
7.1 IOS 12 Course Syllabus
2 The Complete
App Development Bootcamp
Syllabus
1. Getting Started
2. iOS/Xcode Interface Builder
a. How to set up a new Xcode project.
b. How to use the Interface Builder to design and create the appearance of your app.
c. How to find your way around Xcode.
d. How to change the attributes of various UI elements.
e. How to arrange UI elements on screen by their setting their coordinates.
f. How to size UI elements by changing their dimensions.
3. Sideloading in iOS
a. How to run your app on your iPhone/iPad
4. [Challenge 1] The I Am Poor App
5. Introduction to iOS Development
a. Understand and use constants and variables.
b. Understand and use Swift arrays.
c. Learn about randomisation.
d. Understand basic gesture controls and motion detection.
6. [Challenge 2] Magic 8 Ball App
7. Introduction to Swift Programming
a. How to use Swift Playgrounds and become familiar with Swift syntax.
b. Understand the data type system and how to use Strings, Integers, and Doubles.
c. Understand how to declare constants and variables using letor var.
d. How to use Swift functions and understand their input parameters and return types.
e. How to use IF-ELSE statements to control the flow of execution.
f. Swift loops.
8. Reading and Using Apple Documentation
a. Finding out how to play sound using AVFoundation and AVAudioPlayer.
b. The ViewController lifecycle.
c. How to use tags in Interface Builder.
d. Error handling using try and catch.
e. Code refactoring.
f. Basic debugging for array index out of range errors.
9. App Design Patterns and the Model-View-Controller (MVC)
a. What is a design pattern and how is it used in programming.
b. How to use the Model-View-Controller or MVC pattern for app development.
c. Learn about Object Oriented Programming.
d. How to store data locally.
e. How to incorporate third party libraries and how to display Heads Up Displays (HUDs).
f. How to refactor code and stay organised.
g. Learn about class initialisation.
h. How to programmatically change UI elements such as Labels and Views.
i. Start thinking about data encapsulation and how to keep your data safe from corruption.
10. [Challenge 3] Destini App - The Choose Your Own
Adventure Game
11. iOS Auto Layout and Setting Constraints
a. How to add constraints and understand how auto layout works.
b. How to Pin and Align UI elements.
c. How to create containers to configure advanced layouts.
d. How to debug auto layout errors.
e. Understanding what Xcode needs in order to correctly layout a design.
f. How to use stack views to easily layout your UI.
12. Intermediate Swift Programming
a. Understand Classes and Objects.
b. Learn about Properties.
c. How to create and use Enumerations (Enums).
d. Learn the difference between Functions and Methods.
e. Learn about Inheritance and the overridekeyword.
f. Learn about Initialization, including Designated and Convenience Initializers.
g. Understand Optional Types, Forced Unwrapping, Optional Binding and Optional
Chaining.
13. Networking, APIs and Third Party Library Dependency
Managers
a. How to use CocoaPods to manage and use open source code libraries.
b. How to use the Command Line on Mac with Terminal.
c. Learn about Networking calls.
d. Use public web-based APIs to fetch data.
e. How to parse data organised in JSON format.
f. Learn about Core Location and utilising the iPhone’s inbuilt GPS.
g. Learn about navigation between View Controllers using Segues.
h. Introduction to Delegates and P
rotocols.
i. How to pass data between View Controllers.
j. Learn and use Swift Switch statements.
14. The Command Line and Terminal
15. [Challenge 4] Bitcoin Price App
16. Cloud Based Backend (Firebase), User Authentication
and TableViews
a. How to integrate third party libraries in your app.
b. How to store data in the cloud using Firebase.
c. How to query the Firebase database.
d. How to use Firebase for user authentication.
e. How to work with a UITableView.
f. How to use custom cells in a Table View.
g. How to embed View Controllers in a Navigation Controller and understanding the
navigation stack.
h. How to create Segues for navigation.
i. How to make custom .xib files to modify native design components.
j. Using Grand Central Dispatch to queue asynchronous tasks.