Overview

Offered under the SkillsFuture Career Transition Programme (SCTP) to support mid-career individuals in developing essential emerging and industry-relevant skills, this programme aims to enhance participants' employability and facilitate career transitions into job roles within the iOS app development field.

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.

Next Course Starts On22 Aug 2023 (Tue)
FeesSGD5832.00* (as low as SGD1332.00* after maximum funding)
Duration120 Course Hours (F2F)
Weekdays (7pm - 10.30pm) & Saturday (9am - 6pm)
VenueOn-campus
LevelBasic

Learning Objectives

At the end of this programme, participants will be able to:

1
Demonstrate coding proficiency using Swift programming language
2
Understand the industry best practices for iOS apps design
3
Demonstrate the usage of diverse User Interface (UI) elements and layout techniques, and navigational interfaces for app building
4
Implement web Application Programming Interfaces (APIs) for data exchanges between apps and data sources
5
Implement existing and new event-driven methods concurrently
6
Develop an iOS App using app design, testing, and deployment methodologies

Topics

Module 1: Swift Programming Fundamentals and Xcode IDE

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

1
Understand and use Xcode Playgrounds to test and run Swift code
2
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

Module 2: Building Interfaces with UIKit Frameworks

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

1
Understand and use the UIKit framework to design and build iOS interfaces
2
Learn and apply the concepts of views, view controllers, and layout constraints
3
Understand and use common UI elements such as buttons, labels, text fields, and images
4
Learn and apply techniques to manage user input and navigation
5
Learn and apply techniques to implement responsive and adaptive interfaces for different devices and orientations

Module 3: Navigation and Workflows

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

1
Understand and apply the concepts of iOS navigation, including navigation controllers, tab bar controllers, and split view controllers
2
Learn and apply techniques to implement navigation in iOS apps using segues, storyboards, and programmatic navigation
3
Understand and use common iOS workflows such as modal presentations and modal segues
4
Learn and apply techniques to manage data flow and communication between different parts of an iOS app
5
Understand and use techniques for handling user input and providing feedback to the user in an iOS app

Module 4: Working with Table Views

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

1
Learn and apply techniques for customising table views and collection views using prototype cells, custom cells, custom headers and footers
2
Learn and apply techniques for managing data and updates in table views and collection views
3
Understand and use the iOS notifications framework to schedule and deliver notifications to the user, and learn how to handle user interactions with notifications

Module 5: Using Web APIs and JSON

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

1
Apply Swift advanced programming techniques including closures, type extensions and collection functions to create clean, reusable code
2
Describe how ARC manages memory usage in iOS apps
3
Learn and apply techniques for data collection and persistence in iOS apps
4
Understand and use web APIs and JSON for networking and data transfer in iOS apps
5
Understand and use techniques for managing and storing data locally and remotely using various Apple and third party APIs

Module 6: Concurrency with Swift

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

1
Understand and use techniques for implementing concurrency in iOS apps
2
Learn and apply the fundamental concepts of functional programming in Swift
3
Understand and use Functional Reactive Programming (FRP) using ReactiveSwift
4
Learn and apply techniques for implementing async, non-blocking and event-driven code
5
Understand and use techniques for handling state, data flow and error handling in functional reactive programming

Module 7: Design Cycle, Prototyping, Testing & Release

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

1
Understand the process of defining the scope and goals of an iOS app, including identifying target users and key features
2
Learn how to create a working prototype of an iOS app, including wireframing and mockups
3
Understand the importance of user testing and validation in the app development process, and learn how to conduct effective user testing
4
Learn to use Xcode's Test Navigator and the XCTest framework to test iOS apps
5
Gain experience in iterating on the design and functionality of an iOS app based on user feedback and testing results

Module 8: Capstone Project

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.

Who Should Attend

1
Aspiring iOS developers
2
Software engineers
3
Technical project managers
4
Programme/ business managers looking for a deeply practical introduction to iOS app development
5
Learners looking to prepare for the Apple Swift Certified User certification

Prerequisites

No prior experience in programming or software engineering is required or assumed

Hardware Requirements

An M2 Macbook Air or similar Apple computer will be provided to each participant. Students are welcome to use their own machines (at least M1 equipped Mac required)

Fees And Funding

Participant ProfileSelf Sponsored
Singapore Citizen < 40 years old
Permanent Resident
LTVP+
(Individuals must be at least 21 years old)
$5,8321
Singapore Citizen ≥ 40 years old$2,2322
Singapore Citizens who qualify for AFS$1,3323

All prices include 8% GST

1Up to 70% course fee funding

2Up to 90% course fee funding under SkillsFuture Mid-Career Enhanced Subsidy ("MCES")

3Up 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
SCTP Additional Course Fee Funding Support (AFS)

The Additional Course Fee Funding Support (AFS) will be rolled out with the SkillsFuture Career Transition Programme (SCTP) from 1 April 2022

  1. AFS will be provided on application basis, prior to course enrolment.
  2. Eligibility criteria:
    1. Singapore Citizens (SCs) only, and those who fall into either one of the categories below:
      1. ComCare Short-to-Medium-Term Assistance (ComCare SMTA) or
      2. Workfare Income Supplement (WIS) recipients); or
      3. Persons with Disabilities (PwDs); or
      4. Long-term unemployed individuals (defined as zero CPF contributions for the past six consecutive months); or
      5. Referrals from WSG Careers Connect, who are assessed to be vulnerably employed jobseekers and require additional training support [closed criterion]
  3. The eligibility for the additional funding is based on the status of the needy individual at the point of course start date*
  4. Level of funding support: Up to 95% of course fees
  5. The eligibility for AFS will be applied throughout the course regardless whether there is a change in the individual's status during training.

*Applies to all categories of needy trainees, except referrals from WSG, whose eligibility will be determined at the point of course application

Additionally, individuals can use their SkillsFuture Credit (opening and top-up) and Additional SkillsFuture Credit (Mid-Career Support) to offset the out-of-pocket course fees for SCTP.

For more information, visit SkillsFuture SCTP's website.

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. Applications via MySkillsFuture.sg must be made within 60 days before course commencement.
SMU Academy has to be informed on the Claim ID no. and claim amount in order for the correct payable course fee amount to be reflected on the invoice. Please click herefor more details on SkillsFuture Credit.
Workfare Skills Support Scheme
Workfare Skills Support (WSS) Scheme in replacement of Workfare Training Support (WTS) Scheme:
With effect from 1 July 2020, applicants who wish to apply for the WTS Scheme may refer to the WSS Scheme instead. Please click here for more details.

Schedule

Start Date(s)
22 Aug 2023 (Tue)

Intake Information

Intake 1: 22 Aug 2023 - 27 Jan 2024 [Open For Registration]

ModulesDates
MODULE 1: SWIFT PROGRAMMING FUNDAMENTALS AND XCODE IDE22, 24 & 26 AUG 2023
MODULE 2: BUILDING INTERFACES WITH UIKITS FRAMEWORKS05, 07 & 09 SEPT 2023
MODULE 3: NAVIGATION AND WORKFLOWS19, 21 & 23 SEPT 2023
MODULE 4: WORKING WITH TABLE VIEWS03, 05 & 07 OCT 2023
MODULE 5: USING WEB APIS AND JSON17, 19 & 21 OCT 2023
MODULE 6: CONCURRENCY WITH SWIFT07, 09 & 11 NOV 2023
MODULE 7: DESIGN CYCLE, PROTOTYPING, TESTING & RELEASE21, 23 & 25 NOV 2023
MODULE 8: CAPSTONE PROJECT6 & 27 JAN 2024

Speaker/Training Bio

natasha trainer image
Natasha Waliany
Instructor, SG Code Campus
Certified Apple Professional Learning Provider

Natasha is a certified Apple Professional Learning Provider at SG Code Campus, an official Apple Consultants Network Partner organisation. She graduated with a Master of Science (Distinction) in Computer Science from the University of Hong Kong with a 4.0 GPA, and a Bachelors of Arts in Mathematics and Science (Great Distinction) from McGill university. Her experience as a software engineer ranges from working with startups and multinationals in Singapore and USA including IBM where she worked on data quality management solutions that helped deliver quality data for big data, business intelligence, data warehousing, application migration and master data management projects.

She has experience leading software teams at ST Electronics' i-Learning division and founded 2 startups including an iPhone app development company, where she developed the MakanSutra iOS app.

germaine-trainer-image
Germaine
Head, Curriculum, SG Code Campus

Germaine holds a Ph.D. in Bioengineering from the University of California, Berkeley, and was a recipient of the prestigious A*STAR and EDB academic scholarships. She was a senior research fellow at A*STAR, where she applied her technical skills to practical use in bioinformatics, biostatistics, data analysis and robotics, with publications in a variety of fields. She has since returned to teaching and education with SG Code Campus where she serves as the Head of Curriculum development, overseeing the structural and curriculum development for the school's entire course roadmap including python courses, as well as instructional training and quality.

Germaine has taught in various contexts from individual tutoring to full classrooms, and fellow scientists. She believes that the key to engineering solutions to the world's most complex problems is a multi-faceted approach where hard engineering skills are paired with an awareness and empathy for the people whose lives we seek to impact. It is this ethos that Germaine seeks to instill in every student.

Overview
Topics
Who Should Attend
Fees And Funding
Schedule
Speaker/Training Bio