Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

iOS 18 Programming for Beginners

Packt via Coursera

Overview

AI, Data Science & Cloud Certificates from Google, IBM & Meta — 40% Off
One plan covers every Professional Certificate on Coursera. 40% off Coursera Plus Annual.
Unlock All Certificates
A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. This course is your complete guide to building apps using iOS 18 and Swift 6, offering beginners a clear path from coding fundamentals to fully functional applications. You’ll learn how to leverage Xcode, design user interfaces, handle data, and prepare apps for App Store submission, gaining skills that are immediately applicable in real-world development. Through hands-on exercises, projects, and step-by-step tutorials, you will improve your programming logic, explore Swift concurrency, and master user interface construction. The course emphasizes practical outcomes, ensuring you can confidently implement features like table views, collection views, Core Location, MapKit, and SwiftData in your own apps. Each module builds on the previous one, reinforcing concepts while enabling progressive skill development. What sets this course apart is its combination of theory and practice. You won’t just read about iOS development—you’ll build a journal app from scratch while exploring Swift programming concepts, UI/UX design principles, and data management techniques. Real-world examples and guided exercises ensure that knowledge is applied effectively. Ideal for beginners with minimal coding experience, this course suits anyone looking to start their journey in iOS development. Basic familiarity with programming concepts is helpful but not required, and the content is designed to make the learning curve manageable while building practical expertise. Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you.

Syllabus

  • Exploring Xcode
    • This module introduces you to the essentials of iOS app development by guiding you through installing Xcode, navigating its user interface, and running your first app in both the Simulator and on a real iOS device. You'll gain hands-on experience with the tools and workflows needed to start building and testing iOS applications.
  • Simple Values and Types
    • This module introduces you to Swift playgrounds and the foundational concepts of data types, type inference, and type safety in Swift. You will also learn how to use comparison operators to evaluate values and make decisions in your code. By the end, you'll be able to confidently work with simple values and types in Swift programming.
  • Conditionals and Optionals
    • This module introduces the use of conditional logic in Swift, focusing on if and switch statements to control program flow. Learners will also discover how to manage optional values safely using optional binding, enhancing the reliability of their iOS applications.
  • Range Operators and Loops
    • This module introduces the use of range operators and various loop constructs to efficiently handle repetitive tasks in programming. Learners will discover how to generate sequences and automate actions using for-in, while, and repeat-while loops. By mastering these tools, you will streamline code and improve task management.
  • Collection Types
    • This module introduces the fundamental collection types in Swift, including arrays, dictionaries, and sets. Learners will discover how to create, modify, and iterate over these data structures to efficiently manage groups of values in their programs.
  • Functions and Closures
    • This module introduces the concepts of functions and closures, demonstrating how they can be used to organize and modularize code for better readability and maintainability. Learners will explore how to return functions from other functions and understand the unique characteristics of closures in programming.
  • Classes, Structures, and Enumerations
    • This module introduces the foundational concepts of organizing and representing complex data using classes, structures, and enumerations. Learners will discover how to create and differentiate between these types, understand inheritance through subclassing, and recognize the differences between value and reference types.
  • Protocols, Extensions, and Error Handling
    • This module introduces the concepts of protocols, extensions, and error handling to help you write more flexible, reusable, and robust code. You will learn how to define blueprints for behavior, add new functionality to existing types, and manage errors effectively in your applications.
  • Swift Concurrency
    • This module introduces the fundamentals of Swift concurrency, focusing on how to implement asynchronous and parallel programming using async/await. Learners will examine the impact of concurrency on app responsiveness and efficiency by updating a sample app to utilize modern Swift concurrency features.
  • Setting Up the User Interface
    • This module guides you through building the user interface for the JRNL app using Xcode's Interface Builder. You will explore the app's key screens, learn how to modify your Xcode project, and implement navigation controllers to enhance user experience. By the end, you'll have hands-on experience creating and organizing UI components for an iOS journal application.
  • Building Your User Interface
    • This module guides you through building and configuring a user interface in your iOS app using Xcode. You will learn how to connect storyboard elements to view controllers, set up table views with data sources, and present new screens modally with navigation bar buttons. By the end, you'll be able to enhance your app's interactivity and navigation.
  • Finishing Up Your User Interface
    • This module guides you through implementing a detailed journal entry screen, configuring navigation between views, and integrating a map view into your app. You will enhance the user interface by establishing seamless navigation and adding interactive elements. By the end, you'll have a functional and navigable journal app interface.
  • Modifying App Screens
    • This module guides you through enhancing your app's user interface by adding and configuring labels, text fields, and stack views for journal entry screens. You'll learn to organize UI elements for clarity and responsiveness, ensuring a consistent and user-friendly experience. By the end, you'll be able to modify and structure app screens using both stack views and static table view cells.
  • Getting Started with MVC and Table Views
    • This module introduces the Model-View-Controller (MVC) design pattern and demonstrates how to implement table views programmatically in iOS. Learners will gain hands-on experience with data source and delegate protocols to create interactive and structured app interfaces.
  • Getting Data into Table Views
    • This module guides learners through creating model objects for journal entries, generating sample data, and configuring table view data sources to display information effectively in an iOS app. Learners will also connect UI elements to code, enabling dynamic data presentation in table view cells.
  • Passing Data between View Controllers
    • This module guides learners through the process of transferring data between view controllers in an iOS app, including handling user input to create new journal entries and managing table view interactions such as row deletion. Learners will gain practical skills in implementing delegate methods and ensuring seamless navigation and data flow within a multi-screen application.
  • Getting Started with Core Location and MapKit
    • This module guides you through integrating Core Location and MapKit into your app to retrieve device location, display map annotations, and present map snapshots within your user interface. You'll learn how to request location permissions, update your data models to support map features, and connect map interactions to detailed journal entries.
  • Getting Started with JSON Files
    • This module guides learners through enabling persistent data storage in an iOS app by making classes compatible with JSON serialization. You will learn how to encode and decode data using JSONEncoder and JSONDecoder, and implement saving and loading of journal entries to and from JSON files.
  • Getting Started with Custom Views
    • This module guides you through creating and integrating a custom rating view in your JRNL app. You'll learn how to subclass UIStackView, configure interactive star ratings, and implement your custom view on key app screens. By the end, you'll enhance your app's user interface with a functional and visually appealing rating component.
  • Getting Started with the Camera and Photo Library
    • This module guides learners through integrating camera and photo library functionality into an iOS app using UIImagePickerController. You will configure permissions, implement delegate methods, and enable users to add photos to journal entries. By the end, you'll understand how to handle image selection and user interaction with media sources.
  • Getting Started with Search
    • This module guides learners through implementing a search bar in a journal app, focusing on updating data handling methods and modifying table view behaviors. You will learn how to filter and display journal entries based on user input, and adjust removal logic to work seamlessly with search functionality.
  • Getting Started with Collection Views
    • This module guides you through transitioning from table views to collection views to better utilize screen space across different devices. You'll learn to configure collection view cells, adjust layouts dynamically using size classes, and test your app on various device simulators. By the end, you'll enhance your app's adaptability and visual appeal for both iPhone and iPad users.
  • Getting Started with SwiftData
    • This module introduces SwiftData, Apple's modern framework for app data persistence, and guides learners through implementing persistent storage for journal entries. You will learn how to modify data models, manage data using singleton patterns, and update view controllers to save and retrieve data effectively.
  • Getting Started with SwiftUI
    • This module introduces SwiftUI as a modern framework for building Apple app interfaces, emphasizing the creation and customization of views, navigation, and the integration of MapKit for interactive maps. Learners will transition from storyboard-based UI development to SwiftUI's declarative approach, gaining hands-on experience with dynamic interface updates and map features.
  • Getting Started with Swift Testing
    • This module introduces you to Apple's new Swift Testing framework, guiding you through the process of setting up unit tests and validating code functionality. You'll gain hands-on experience by writing and running tests for the JournalEntry class, ensuring your code meets specified requirements and behaves reliably in collaborative projects.
  • Getting Started with Apple Intelligence
    • This module introduces learners to Apple Intelligence, focusing on its integration within Xcode and the JRNL app. You will discover how generative AI features like Writing Tools can enhance app functionality, including predictive code completion and text editing capabilities. Practical guidance is provided for implementing Writing Tools in your own applications.
  • Testing and Submitting Your App to the App Store
    • This module guides you through the essential steps for preparing, testing, and submitting your iOS app to the App Store. You will learn how to set up developer accounts, create certificates and provisioning profiles, complete your App Store listing, and manage external testing. By the end, you'll be equipped to navigate the app submission process with confidence.

Taught by

Packt - Course Instructors

Reviews

Start your review of iOS 18 Programming for Beginners

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.