(SCTP) Advanced Certificate in iOS App Development with Swift Programming
- Analytics & Tech
- Innovation & Business Improvement
3 Industry Talks @ Apple, 2 Fusionopolis Way, Singapore 138634
120 Course Hours (F2F)
Weekdays (7pm - 10.30pm) & Saturday (9am - 6pm)
Career coaching (Supplementary)
Next Intake: To be advised
Who Should Attend
- Aspiring iOS developers
- Software engineers
- Technical project managers
- Programme/ business managers looking for a deeply practical introduction to iOS app development
- Learners looking to prepare for the Apple Swift Certified User certification
PREREQUISITES
At least 2 years of working experience
HARDWARE REQUIREMENTS
- M2 Macbook Air or similar Apple computer will be provided to each participant
- Trainees may use their own laptop (at least M1 equipped Mac required)
Overview
As the demand for Apple devices rises, the iOS development market is simultaneously booming. With Apple's modern Swift programming language and the Xcode IDE, building and publishing apps directly to the app store has never been easier.
From learning the best practices for iOS app design to navigational interfaces for building apps, and web APIs, students will be taught how to navigate through the app design process. Classes are conducted by Certified Apple Professional Learning Providers and iOS Developers working in the industry, through a combination of lectures, hands-on coding projects, and technical labs.
Whether you're a software developer, project manager, or a complete beginner to programming, come learn with us and join the growing pool of iOS developers to create the next stellar iOS app. By the end of the programme, students will gain a solid understanding of Swift programming and iOS app development using Xcode and be prepared to take on the Apple App Development with Swift Certified User certification exam.
As an official Apple Consultants Network partner, SG Code Campus is at the forefront of defining coding education for youth and adult learners. SG Code Campus specialises in teaching iOS programming courses using the modern Swift programming language to different audiences in a variety of learning environments.
Learning Objectives
At the end of this programme, participants will be able to:
- Demonstrate coding proficiency using Swift programming language
- Understand the industry best practices for iOS apps design
- Demonstrate the usage of diverse User Interface (UI) elements and layout techniques, and navigational interfaces for app building
- Implement web Application Programming Interfaces (APIs) for data exchanges between apps and data sources
- Implement existing and new event-driven methods concurrently
- Develop an iOS App using app design, testing, and deployment methodologies
Topic/Structure
1. Module 1: Swift Programming Fundamentals and Xcode IDE
Overview
In this module, learners will be introduced to the Swift programming language and the Xcode IDE which is used to develop, run and test iOS apps.
They will acquire foundational programming concepts using the Swift programming language in Xcode Playgrounds, in addition to navigating iOS development tools and building iOS apps with Xcode.
At the end of this module, learners will be able to write short programmes in Swift and create simple iOS apps in Xcode.
Learning Objectives
- Understand and use Xcode Playgrounds to test and run Swift code
- Learn and apply the concepts of native Swift data types, variables, constants, type safety, type inference, basic mathematical operators, numeric type conversion, comparison and logical operators, conditions and control flow statements in writing clean and safe Swift code
2. Module 2: Building Interfaces with UIKit Frameworks
Overview
Building on the Xcode development skills acquired in the previous module, learners will now learn to create app interfaces using components from the UIKit framework. In addition, they will learn how to present information to users and respond to their interactions using UIKit's views and controls. Participants will learn how to leverage the different views and controls in UIKit to better display information to users and respond to user interactions.
Additionally, they will learn the intricacies of Xcode's dynamic auto layout feature and gain hands-on practice building an iOS app.
Learning Objectives
- Understand and use the UIKit framework to design and build iOS interfaces
- Learn and apply the concepts of views, view controllers, and layout constraints
- Understand and use common UI elements such as buttons, labels, text fields, and images
- Learn and apply techniques to manage user input and navigation
- Learn and apply techniques to implement responsive and adaptive interfaces for different devices and orientations
3. Module 3: Navigation and Workflows
Overview
This module introduces learners to new navigation view controllers in UIKit for building apps with multiple views. They will learn how to connect various views to their app and design more complex workflows in their user interface, as well as pass data from one view to another.
Learners will also learn how to organise their code using the Model-View-Controller design pattern and how to use Swift protocols in their code.
Learning Objectives
- Understand and apply the concepts of iOS navigation, including navigation controllers, tab bar controllers, and split view controllers
- Learn and apply techniques to implement navigation in iOS apps using segues, storyboards, and programmatic navigation
- Understand and use common iOS workflows such as modal presentations and modal segues
- Learn and apply techniques to manage data flow and communication between different parts of an iOS app
- Understand and use techniques for handling user input and providing feedback to the user in an iOS app
4. Module 4: Working with Table Views
Overview
This module covers both table and collection views, enabling users to create more interactive user interfaces and display larger data sets. Learners will use the concepts they have learned in Swift and UIKit to create a to-do list app, which involves project planning and designing the model before app implementation.
Learning Objectives
- Learn and apply techniques for customising table views and collection views using prototype cells, custom cells, custom headers and footers
- Learn and apply techniques for managing data and updates in table views and collection views
- Understand and use the iOS notifications framework to schedule and deliver notifications to the user, and learn how to handle user interactions with notifications
5. Module 5: Using Web APIs and JSON
Overview
Participants will learn about Swift's powerful closure concept and how it can be used to store code that can be executed at a later stage. They will be introduced to the concept of extensions and how they are used to add functionality to current types by creating new properties or methods to extend these types while keeping the original source code. This module also covers the concepts of serialising data to a format that can be saved and then writing and reading data from files on disk.
Participants will also learn how Automatic Reference Counting (ARC) manages memory usage in Swift. They will be introduced to system view controllers such as the activity controller, image picker and alert as a way of extending app functionality. They will also learn how to create custom input forms for gathering data from users.
This module goes into detail about the built-in iOS tools for sending and receiving data from the web, a common feature in apps, as well as utilising the Codable protocol to convert between JSON and Swift objects.
Learning Objectives
- Apply Swift advanced programming techniques including closures, type extensions and collection functions to create clean, reusable code
- Describe how ARC manages memory usage in iOS apps
- Learn and apply techniques for data collection and persistence in iOS apps
- Understand and use web APIs and JSON for networking and data transfer in iOS apps
- Understand and use techniques for managing and storing data locally and remotely using various Apple and third party APIs
6. Module 6: Concurrency with Swift
Overview
In this module, participants will discover how to handle concurrency issues in Swift. They will gain an understanding of concurrent programming as the main tool in building fast, responsive iOS applications that can access remote APIs via the network, process data, and update and respond to user input from the app interface all at once.
They will learn how to implement concurrent programmes with the ReactiveSwift library and the new asynchronous programming features available from Swift 5.5 onwards.
Learning Objectives
- Understand and use techniques for implementing concurrency in iOS apps
- Learn and apply the fundamental concepts of functional programming in Swift
- Understand and use Functional Reactive Programming (FRP) using ReactiveSwift
- Learn and apply techniques for implementing async, non-blocking and event-driven code
- Understand and use techniques for handling state, data flow and error handling in functional reactive programming
7. Module 7: Design Cycle, Prototyping, Testing & Release
Overview
This module covers various aspects of practical app development, such as planning, designing, prototyping, automated software testing, and release. Learners will learn design thinking, prototyping and using Agile software development methodologies in the iOS mobile development lifecycle. In addition, they will learn how to capture app requirements and map them to app features. Then, they will build prototypes and wireframes based on the user stories gathered to practice UI Design.
Automated software testing is an essential element of the software development cycle which learners will review along with the multiple layers of automated software testing: unit testing, integration testing and end-to-end (e2e) testing. Students will then learn how to write automated unit tests for specific app functionality using the XCTest module by engaging in a practical Swift coding exercise.
Learning Objectives
- Understand the process of defining the scope and goals of an iOS app, including identifying target users and key features
- Learn how to create a working prototype of an iOS app, including wireframing and mockups
- Understand the importance of user testing and validation in the app development process, and learn how to conduct effective user testing
- Learn to use Xcode’s Test Navigator and the XCTest framework to test iOS apps
- Gain experience in iterating on the design and functionality of an iOS app based on user feedback and testing results
8. Module 8: Capstone Project
Overview
Having learned Swift programming and building iOS apps using UIKit, participants will now apply their skills to an individual project to build an iOS app that they planned and designed in the previous module.
This course concludes with individual capstone project presentations and submission of final reports.
Fee Table
PARTICIPANT PROFILE |
SELF-SPONSORED |
Singapore Citizen < 40 years old Permanent Resident
|
$5,8861 |
Singapore Citizen ≥ 40 years old4 |
$2,2862 |
Singapore Citizens who qualify for AFS |
$1,3863 |
All prices include 9% GST
1 Up to 70% course fee funding
2 Up to 90% course fee funding under SkillsFuture Mid-Career Enhanced Subsidy ("MCES")
3 Up to 95% course fee funding under Additional Funding Support ("AFS") where participants must be:
- Singapore Citizens; and
- Long-term unemployed individuals (6 months or more); or
- Individuals in need of financial assistance [ComCare Short-to-Medium Term Assistance (SMTA) recipients or Workfare Income Supplement (WIS) recipients]; or
- Persons with disabilities
4 SkillsFuture Level-Up Programme for Mid-Career Individuals (NEW)
A SkillsFuture Credit (Mid-Career) top-up of $4,000 will be provided to Singaporeans aged 40 years and above to further offset out-of-pocket course fees for this programme.
Post Secondary Education Account (PSEA)
PSEA can be utilised for subsidised programmes eligible for SkillsFuture Credit support. Click here to find out more.
Self Sponsored
SkillsFuture Credit
Singapore Citizens aged 25 and above may use their SkillsFuture Credits to pay for the course fees. The credits may be used on top of existing course fee funding.
This is only applicable to self-sponsored participants. Application to utilise SkillsFuture Credits can be submitted when making payment for the course via the SMU Academy TMS Portal, and can only be made within 60 days of course start date.
Please click here for more information on the SkillsFuture Credit. For help in submitting an SFC claim, you may wish to refer to our step-by-step guide on claiming SkillsFuture Credits (Individual).Workfare Skills Support Scheme
From 1 July 2023, the Workfare Skills Support (WSS) scheme has been enhanced. Please click here for more details.
Intake Information
Next Intake: To be advised
MODULES | DATES |
---|---|
Module 1: Swift Programming Fundamentals and Xcode IDE | To be advised |
Module 2: Building Interfaces with UIKit Frameworks | To be advised |
Module 3: Navigation and Workflows | To be advised |
Module 4: Working with Table Views | To be advised |
Module 5: Using Web APIs and JSON | To be advised |
Module 6: Concurrency with Swift | To be advised |
Module 7: Design Cycle, Prototyping, Testing & Release | To be advised |
Module 8: Capstone Project | To be advised |