Syllabus

COSC 470: App Development in Swift (Spring 2026)

๐Ÿ‘จ๐Ÿปโ€๐Ÿซ INSTRUCTOR

Dr. Beau M. Christ
Associate Professor
Department of Computer Science

๐Ÿ“ง christbm@wofford.edu
๐Ÿ“ž (864) 597-4528
๐Ÿ’ป www.beauchrist.com
๐Ÿ› Olin 111C
โฐ Office hours will be Tuesdays (4PM-5PM), Wednesdays (2PM-5PM), and Thursdays (4PM-5PM). You can always feel free to email me as well!

๐Ÿ—บ MEETING TIME & LOCATION

We will meet every week in Olin 111C based on a time we decide.

๐Ÿ“– TEXTBOOK

Your textbook is โ€œHacking with iOSโ€ by Paul Hudson. It is available online for free by the author here. But you can also purchase an eBook if you wish here.

๐Ÿ“‹ COURSE OVERVIEW

Welcome to COSC 470: App Development in Swift!

Swift is a modern, expressive programming language designed to be safe, fast, and fun to write. Paired with SwiftUI and Xcode, it provides a unified framework for building applications across Appleโ€™s platforms, including macOS, iOS, iPadOS, watchOS, visionOS, and tvOS. At its core, Apple development is about creating intuitive, responsive software that feels at home on the devices people use every day. Apps built with Swift are running on hundreds of millions of devices worldwide!

This course will explore the fundamental concepts of Swift programming, declarative user interface design with SwiftUI, and the development workflow using Xcode. Students will learn how to apply these ideas through hands-on projects while working with common Apple APIs such as networking, data persistence, system services, and event handling. Emphasis will be placed on writing clean, maintainable code and building polished applications that integrate seamlessly with the Apple ecosystem.

Prerequisites: Instructor permission.

โœ… COURSE OBJECTIVES

By taking this course, my goal is for you to:

  • Understand essential concepts and features of the Swift programming language and Apple platform development.
  • Write code using tools such as Swift, SwiftUI, and Xcode to build native Apple applications.
  • Design and implement user interfaces using SwiftUI while managing application state, data flow, and user interaction.
  • Work with common Apple APIs to access system features such as data persistence, networking, and device capabilities.
  • Develop the ability to create polished, user-friendly applications and effectively communicate design and technical decisions.

You will fulfill these objectives by:

  • Reading your textbook / completing the tutorials
  • Create several working apps
  • Being engaged and attending class meetings

๐Ÿ“ GRADING

You grade will be determined by your instructor based on attending meetings, making good progress, writing working apps, and reaching a level where you can comfortably write Swift programs.

๐Ÿ“œ POLICIES

ATTENDANCE

You are expected to attend class. I do understand that absences are sometimes unavoidable, so I appreciate an email letting me know in advance that you will be absent. You are responsible for catching up on missed classes. Finally, in accordance with Wofford policy, you must be present for the final exam.

CLASSROOM

You are allowed to bring your computer to work along with the examples in class. I highly advise you, however, to not become distracted by your devices (notebook, phone, tablet, etc.) for things other than course-related use. Not only are you missing out and inhibiting your learning, but it is often a distraction to others as well. I strongly encourage you to use features such as do not disturb or focus mode. It is also worth mentioning that research has shown that taking notes by hand instead of typing results in a better learning experience.

LATENESS

You are expected to keep up with all coursework and due dates during the semester. Submitting coursework past the due date/time (even by a single minute!) will result in a 1 point penalty (out of 10) for that particular project. After that, you have 24 hours to submit the late work until a second penalty is given (another point). After 48 hours past the due date, the project will not be accepted under any circumstances and will receive a 0. There are a few reasons that are acceptable (medical, family emergencies, etc.), but I will usually only grant extensions for those cases when receiving an email or phone call before the due date. I will decide on a case-by-case basis, but having official documentation will help make your case.

COMMUNICATION

I will use email as my main means of communication. Feel free to contact me using โ€œchristbm@wofford.eduโ€. The top of this syllabus shows other ways to contact me as well. You are also welcome to stop by office hours to chat about any questions or concerns you have.

ACADEMIC INTEGRITY

Please do your own work!

I have caught students cheating in the past, and take these matters very seriously. Any student I determine is guilty of academic dishonesty will have their case referred to the department and the college to be pursued further (trust me, you do not want that to happen). You may discuss ideas with other students, but all work must be your own. You can discuss approaches and ideas with others, but there should be no sharing of code.

To make sure you understand what constitutes academic dishonesty, please read the Wofford Honor Code. By enrolling in this course, you are pledging that you agree to the Wofford Honor Code and that all submitted work is your own. Please talk to me if you are unsure what constitutes academic dishonesty.

REASONABLE ACCOMMODATIONS

If you need accommodations with anything at all, please contact both the Wofford Accessibility Services and myself at the beginning of the semester. We will do our best to assist you as best we can.

USE OF GENERATIVE AI

Any AI-generated works are not permitted and will be treated as plagiarism. Any use of generative AI for any stage of your work in this course is considered a violation of the honor code. Even using it for โ€œbeing inspiredโ€ is negatively affecting your creativity and problem-solving skills. If I suspect AI use, you will get a โ€˜0โ€™ for that assignment or exam as a warning the first time. The second will be reported.

The only exception is if I specifically give permission on an assignment to use it.

I would personally write a much stronger letter of recommendation for someone who does their own work and gets a โ€˜Cโ€™ than someone who is using generative AI for their work and gets an โ€˜Aโ€™. Donโ€™t use it.