Mobile Applications Development
Introduction to mobile application development. Students will develop applications for iOS devices including iPhone and iPad. Topics include object-oriented programming using Swift, model-view-controller (MVC) pattern, view controllers including tables and navigation, graphical user interface (GUI) design, data persistence, GPS and mapping, camera, and cloud and web services.
Course information
New Mexico State University EE443 / EE593 Mobile Applications Development (3 credits).
Prerequisites
Any object-oriented programming course such as CS271 Object Oriented Programming, CS451 C++ Programming, CS452 Java Programming, or CS454 Python Programming II.
Textbook and Other Required Materials
- Required (Print or Electronic): iOS Apprentice Sixth Edition: Beginning iOS development with Swift 4 by M. Hollemans and F. Farook (ISBN-13: 978-1942878391)
- Optional: App Development with Swift , Apple Inc. (free download)
Students will be invited to join the iOS University Program free of charge. Joining the (regular) iOS Developer Program is $99/year and optional. You can only submit to the AppStore if you are a regular iOS Developer.
Course Objectives
The objective of this course is to gain an understanding of mobile application development including:
- Swift
- Model-View-Controller (MVC) pattern
- Memory management
- View controllers
- Frameworks: Foundation, CoreGraphics, CoreLocation, MapKit, UIKit, WebKit
This objective is achieved through an undergraduate- and graduate-level treatment of mobile application development.
Course materials
New Mexico State University EE443 / EE593 Mobile Applications Development lecture notes, homework and solutions, laboratories, and exams.
- Lecture Notes
- Homeworks
- Projects
This page is intended as a stable home for official course documents and high-level information.
- Mobile application architecture (iOS)
- Development environments and tools (Xcode)
- Application components and lifecycle management
- Event-driven programming and application structure
- Model–View–Controller (MVC)
- Mobile UI frameworks and layout design
- Responsive design for multiple screen sizes and devices
- User interaction, gestures, and navigation patterns
- Accessibility and usability considerations
- Graphics, animation, and multimedia integration
- User-centered design and prototyping
- Local data storage
- Client–server communication and RESTful APIs
- Networking, JSON/XML data handling
- Testing, debugging, and performance optimization
- Application packaging, deployment, and app store distribution