CSE 438

Mobile Application Development

shopping calculator app icon
virtual pet app icon
drawing app icon
movie search app icon
Date Topic Assigned Due Slides / Videos Location
Mon, June 11 Intro to Swift .pdf .pdf Cupples II 203
Wed, June 13 Intro to Xcode in Mac Lab Studio 1 Lab 1 Whitaker 316
Mon, June 18 Additional Swift Topics and MVC .pdf .mp4 Cupples II 203
Wed, June 20 Studio 2 and Lab 2 Studio 2 Lab 2 Lab 1 Whitaker 316
Mon, June 25 Views, View Controllers .pdf .pdf .mp4 Cupples II 203
Wed, June 27 Scroll Views, Table Views, and In class demo 1 Lab 3 Lab 2 .pdf .mp4 Cupples II 203
Mon, July 2 Storage and APIs Lab 4 .pdf .mp4 Cupples II 203
Wed, July 4 No Class
Mon, July 9 Web, QoS, In class demo 2 Lab 3 .pdf QoS-Web.mp4 InClassDemo2.mp4 Cupples II 203
Wed, July 11 Location, Mapkit, Discuss Project Ideas .pdf FinalProjectDueDates Cupples II 203
Mon, July 16 Final Project Proposals Lab 4 and Final Project Proposal Cupples II 203
Wed, July 18 Audio and Video, Design .pdf Cupples II 203
Mon, July 23 Objective-C .pdf Cupples II 203
Wed, July 25 Final Project Update Final Project Update Cupples II 203
Mon, July 30 Open Lab Session Whitaker 316
Wed, Aug 1 Final Project Presentations Final Project Cupples II 203

TA Hours

All TA hours will be held in the Mac Lab (Whitaker 316). Any changes to the hours listed here will be noted on Piazza.

3 - 5 PM (Jonathan and Dan)
7 - 9 PM (Mason and Dan)

Course Information

Learn how to create iOS apps in the Swift programming language. This course covers a variety of topics in the development of modern mobile applications, with a focus on hands-on projects. Students will create multiple fully-functional apps from scratch. The course emphasizes object-oriented design patterns and real-world development techniques. Time is provided at the end of the course for students to work on a project of their own interest.


Todd Sproull
Jolley 536


Collaboration Policy

For individual assignments, the code you submit must be your own. For the final project, the code must come from you or your teammates. You are allowed to use portions of code found on the Internet (as long as it is not from another CSE 438 student, past or present).

If you are using a significant amount of code from another website, be sure to include a comment in your submission with the URL to the website. Assume significant means 2 or more lines of code.

Submitting code from another student or from a previous semester is considered cheating and you will receive an F in the course. I have a zero tolerance policy towards students using code (or derived code) from another student, do not do it.


Grades are assigned based on performance on the four lab projects and final project. The labs are worth 70% of the final grade, and the final project is worth 30%. The lab breakdown is listed below:

Lab 1: Shopping Calculator (50 points)
Lab 2: Virtual Pet App (75 points)
Lab 3: Drawing App (100 points)
Lab 4: Movie Search App (150 points)


Grades are based on your performance of the labs assigned throughout the semester (70%) and your final project (30%).
Your letter grade in this course is based on your semester score, computed as described above. No rounding is performed on your semester score: you must have at least the stated number of points to earn the associated grade. The following table explains how the score is converted into a letter or pass/fail grade:

Score Grade
97 A+ Pass
93 A
90 A-
87 B+
83 B
80 B-
77 C+
73 C
70 C-
60 D Fail
0 F