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 Aug 26 Introduction .pdf Steinberg 105
Wed Aug 28 Swift .pdf Steinberg 105
Mon Sept 2 NO CLASS Labor Day
Wed Sept 4 Studio 1 Lab 1 Mac Lab (Whitaker 316)
Mon Sept 9 MVC and Auto Layout .pdf .mp4 Steinberg 105
Wed Sept 11 Studio 2 Lab 2 Lab 1 Mac Lab (Whitaker 316)
Mon Sept 16 Views and View Controllers .pdf .mp4 Steinberg 105
Wed Sept 18 Custom Drawing .pdf .mp4 Steinberg 105
Mon Sept 23 View Controllers Lab 3 Lab 2 .pdf .mp4 Steinberg 105
Wed Sept 25 Scroll Views, Table Views and Collections .pdf .mp4 Steinberg 105
Mon Sept 30 Local Storage and Web Services .pdf .mp4 Steinberg 105
Wed Oct 2 Multithreading Lab 4 Lab 3 .pdf .mp4 Steinberg 105
Mon Oct 7 Remote API's .pdf .mp4 Steinberg 105
Wed Oct 9 Maps and Location Services .pdf .mp4 Steinberg 105
Mon Oct 14 NO CLASS Fall Break
Wed Oct 16 Audio and Video .pdf .mp4 Steinberg 105
Mon Oct 21 Design Principles Lab 4 .pdf Steinberg 105
Wed Oct 23 iOS APIs .pdf Steinberg 105
Mon Oct 28 Objective-C Part I .pdf Steinberg 105
Wed Oct 30 Final Projects Final Project Due Dates .pdf Steinberg 105
Mon Nov 4 Objective-C Part II .pdf Steinberg 105
Wed Nov 6 Project Proposals Steinberg 105
Mon Nov 11 Project Proposals Steinberg 105
Wed Nov 13 Project Proposals Steinberg 105
Mon Nov 18 Work Day Mac Lab (Whitaker 316)
Wed Nov 20 Brief Status Updates Steinberg 105
Mon Nov 25 Work Day Mac Lab (Whitaker 316)
Wed Nov 27 NO CLASS Thanksgiving
Mon Dec 2 Final Presentations Project Steinberg 105
Wed Dec 4 Final Presentations Steinberg 105

TA Hours

We have a great group of TA's to help this semester. All TA hours will be held in the Mac Lab (Whitaker 316). Any changes to the hours listed here will be noted on Piazza.

TA Hours will be posted here once they are established.

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

Head TA

Jordie Chisam


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)

Labs may be submitted up to 3 days late. For each day late you lose 10% of the total points available on the lab. After 3 days late you will receive a 0 on the lab.

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 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