Swift Coding and App Development Course Syllabuses

Overview of the Four-Course Series

Student working on laptop outdoors

This four-course series is designed to make it easy for people from all backgrounds to get started coding and developing apps and to walk away with both a certificate and skills to add to your resume. No experience required.

The courses build on each other, with the first course providing a strong foundation for the more advanced work to come. Small assignments and check-ins throughout the first course will ensure that you've mastered the foundational concepts and are ready for the next step.

Once you've completed the courses, you can take your new skills and go on to complete Apple's App Development with Swift Certified User exam as a compliment to your Ohio State credential.

Review full terms and conditions.

 

Level 1 Syllabus: Start to Code with Swift 

Course Description

From the basics of Swift and Xcode to the coding communities that surround you, this Level 1 course will provide you the foundational knowledge to start building and creating apps. Debugging, problem-solving, basic interface design and connections to external fields will also be covered.

Start to code with Swift by applying Swift coding basics and logic, using Xcode (Apple's free app-building tool), explore coding and app development in today's job market, and build a very basic app. Non-credit certificate earned upon successful completion. 

This course is broken into 11 units, some of which will be quick and easy, while others might be more difficult and take more time.  There may be certain projects that are fun and you want to spend more time with them. Everything is self-paced, so you're free to pause and take your time on anything that you're having fun doing or want to really figure out. 

Expectations

  • This course will help you learn to code using Swift and UIKit
  • You will need to submit original work that shows off your skills 
  • The course is self-paced and each of the 11 units will vary in difficulty
  • You can expect to spend roughly 180 hours working through the course

Where to Get Help

Throughout the course, there are a few different ways to get help. You will be working through the course at your own pace, but alongside other learners and experts. Keep these resources in your back pocket for when you feel stuck.

If you're experiencing difficulty signing into Carmen, or any technical issues with the ODEE shared Macs, please reach out to 8-Help via one of their options listed online

If you're experiencing errors with Swift syntax, reach out to DISCUSSION: Syntax with Sam. If you are experiencing accessibility issues due to a disability contact dfcoding@osu.edu.

If you're experiencing issues with your personal Mac or Xcode, please reach out to Apple Support.

Also, keep in mind that this is a self-paced but sequential course. Each unit will need to be completed before you can progress to the next.

Course Units & Learning Outcomes

This course is separated into separate units that must be done in order so that you may move on to the next unit. By the end of this course, students should successfully be able to:

  • Unit 0: Introduction to the Course
  • Unit 1: Coding on the Job Market
    • Identify how coding relates to your industry and career path
    • Identify key ways coding proficiency can increase your value to employers
  • Unit 2: Basics of Swift 
    • Open and run a provided Xcode Playground
    • Produce a new, blank Xcode Project
    • Write functional Swift code
    • Execute new syntax in Xcode Playgrounds
    • Recognize the use of control flow in swift coding
  • Unit 3: App Development Process
    • Differentiate the ordered phases in the app development process and their unique importance
    • Employ thoughtful design thinking during the app planning process
    • Recognize and intervene when the app development process is rushed
  • Unit 4: Debugging and Problem Solving
    • Recognize individual lines of code and the result of their execution
    • Identify errors and bugs, explain their problems, and correct them
    • Identify working code and non-working code
    • Utilize Apple documentation to understand project-specific syntax
  • Unit 5: Interface Builder
    • Practice building a UI in Xcode
    • Create outlets and actions for UI elements
    • Distinguish between good and bad UI design
    • Model a successful UI in a wireframe
  • Unit 6: More Swiftly
    • Write code that interacts with the UI using UIKit
    • Utilize Storyboards to layout the UX
    • Generate loops, functions, and custom data types
    • Build UI's with Auto Layout that scale on different sized devices
  • Unit 7: Portfolio Project
    • Create a portfolio to showcase coding projects
  • Unit 8: More Swiftly Continued
    • Work with custom data types in Swift
    • Develop in-app workflows and navigation with multiple screens
  • Unit 9: App Exercise
    • Create an app through a guided planning process
    • Write apps that combine all of the Swift and Xcode tools introduced thus far
  • Unit 10: Staying Current
    • Understand the importance of app maintenance
    • Implement readable code
    • Write useful and clear comments
    • Identify professional development opportunities
  • Unit 11: Final App Challenge
    • Combine course topics into a cohesive project
    • Implement previous concepts independently

Materials Required for the Course

  • Mac Computer: This course uses the Xcode 10 edition of App Development with Swift, which requires at least macOS Mojave. You are welcome to complete the course using the latest version of Xcode, Xcode 12, which requires macOS Catalina. Either version works with our curriculum. Courses are updated to the latest Xcode and textbook edition on a cyclical basis as part of continuous improvement. However, the Xcode 10 update ensured that future updates do not impact existing code within the scope of our courses. Minor differences between versions are covered at the beginning of the course.
  • Multi-touch booksApp Development with Swift (Free in Apple’s Books App store)

How This Online Course Works

  • Mode of delivery: This course is 100% online. There are no required sessions when you must be logged in to Scarlet at a scheduled time.
  • Types of activities: Discussion, quizzes, practice assignments and projects, check-ins, create a portfolio, building a basic app (final project)
  • Non-credit bearing: This is a non-credit continuing education course/certificate. 

Accessibility of Course Technology

This online course requires use of ScarletCanvas (Ohio State's public-facing learning management system). The course may also utilize external tools that are standard in the codding industry.  If you need additional services to use these technologies or experience any issues related to a tool's accessibility, please contact dfcoding@osu.edu.

 

Level 2 Syllabus: Build Your First App 

Course Description

This course will build on the fundamentals of app development covered in Start to Code with Swift. It also adds on to the design thinking and development process for businesses included in the previous course. Finally, it introduces some more third-party tools and frameworks that can help kick your skills up a notch.

Build your first app by applying design thinking, engaging in feedback and testing, and building on basic Swift skills. Non-credit certificate earned upon successful completion.

This course is broken into 10 units, some of which will be quick and easy, while others might be more difficult and take more time.  There may be certain projects that are fun and you want to spend more time with them. Everything is self-paced, so you're free to pause and take your time on anything that you're having fun doing or want to really figure out. 

Expectations

  • This course will help you learn to code using Swift and UIKit
  • You will need to submit original work that shows off your skills 
  • The course is self-paced and each of the 10 units will vary in difficulty
  • You can expect to spend roughly 180 hours working through the course

Where to Get Help

Throughout the course, there are a few different ways to get help. You will be working through the course at your own pace, but alongside other learners and experts. Keep these resources in your back pocket for when you feel stuck.

If you're experiencing difficulty signing into Carmen, or any technical issues with the ODEE shared Macs, please reach out to 8-Help via one of their options listed at https://ocio.osu.edu/help.

If you're experiencing errors with Swift syntax, reach out to DISCUSSION: Syntax with Sam. If you are experiencing accessibility issues due to a disability contact dfcoding@osu.edu.

If you're experiencing issues with your personal Mac or Xcode, please reach out to Apple Support.

Also, keep in mind that this is a self-paced but sequential course. Each unit will need to be completed before you can progress to the next.

Course Units & Learning Outcomes

This course is separated into separate units that must be done in order so that you may move on to the next unit. By the end of this course, students should successfully be able to:

  • Unit 0: Introduction to the Course
  • Unit 1: GitHub
    • Execute common GitHub tasks
    • Identify key benefits of GitHub
    • Understand version control concepts
  • Unit 2: Tables and Persistence 
    • Write custom protocols
    • Recognize an app's lifecycle states
    • Implement the MVC design pattern
    • Manipulate saved data
    • Implement table and scroll views
    • Show system view controllers
  • Unit 3: Reflect on Process and Costs Associated
    • Appraise worth of an app project
    • Assess time and financial commitment of undergoing app development
  • Unit 4: Working with the Web
    • Produce closures
    • Extend custom and primitive types
    • Construct animations for UI element transformations
    • Create HTTP requests
    • Understand JSON data structures
    • Implement UI code on the main thread
  • Unit 5: Firebase
    • Implement Firebase in an iOS project
    • Navigate the Firebase console
    • Explain the function of the various Firebase tools
  • Unit 6: App Store
    • Understand the App Store submission process
    • Identify key deliverables for being approved
  • Unit 7: Critical Analysis, UX Design, and Feedback
    • Identify and revise poor user experience
    • Communicate effectively with users
    • Distinguish between good and bad feedback
  • Unit 8: Collaboration
    • Understand best practice principles when collaborating
    • Identify high-and low-quality contributions
    • Merge outside contributions
  • Unit 9: Prototyping and Project Planning
    • Use standard app development processes to plan an app
    • Combine app development concepts in an independent app project
  • Unit 10: Final App Challenge
    • Combine course topics into a cohesive project
    • Implement a rich mobile app that gets tracked with GitHub and calls to Firebase
    • Create an app with previous concepts independently

Materials Required for the Course

Computer 

This course uses the Xcode 10 edition of App Development with Swift, which requires at least macOS Mojave. You are welcome to complete the course using the latest version of Xcode, Xcode 12, which requires macOS Catalina. Either version works with our curriculum. Courses are updated to the latest Xcode and textbook edition on a cyclical basis as part of continuous improvement. However, the Xcode 10 update ensured that future updates do not impact existing code within the scope of our courses. Minor differences between versions are covered at the beginning of the course.

Multi-touch books

App Development with Swift (Free in Apple’s Books App store)

External Tools

  • GitHub: A commonly used version control software that also can back your code up to the web with a free plan
  • Firebase: A server solution that offers a free plan and which works well with commonly used Xcode and iOS app features
  • CocoaPods: A popular and free package manager that helps manage third-party frameworks and libraries for Xcode projects

These tools are external to Ohio State's toolset and are not supported or endorsed by Ohio State. If you would prefer, you may choose to explore alternative comparable tool options for use during the course, though note that some alternatives require purchase. Reach out to the instructor using Canvas’ messaging platform if you need suggestions.

How This Online Course Works

  • Mode of delivery: This course is 100% online. There are no required sessions when you must be logged in to Scarlet at a scheduled time.
  • Types of activities: Discussion, quizzes, practice assignments and projects, check-ins, working with version control, building a more advanced app (final project)
  • Non-credit bearing: This is a non-credit continuing education course/certificate. 

Accessibility of Course Technology

This online course requires use of ScarletCanvas (Ohio State's public-facing learning management system). The course may also utilize external tools that are standard in the codding industry.  If you need additional services to use these technologies or experience any issues related to a tool's accessibility, please contact dfcoding@osu.edu.