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.