Course

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.

Undergraduate Graduate Programming Computer Science Electrical Engineering

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:

  1. Swift
  2. Model-View-Controller (MVC) pattern
  3. Memory management
  4. View controllers
  5. 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.

Emphasis
Mobile App Architecture & Development
  • Mobile application architecture (iOS)
  • Development environments and tools (Xcode)
  • Application components and lifecycle management
  • Event-driven programming and application structure
  • Model–View–Controller (MVC)
Skills
User Interface & Experience Design
  • 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
Preparation
Data, Networking, & Deployment
  • 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