Information | Syllabus | Outline | Lecture Notes | Homework | Related Links]

EE 443/EE 593 Mobile Application Development (3 credits)
Spring 2018
Klipsch School of Electrical and Computer Engineering
College of Engineering
New Mexico State University
[ PDF File ]

Instructor and Class Information
Instructor: Prof. Phillip De Leon, Goddard Hall 310A, (575) 646-DSP1 (3771),
Class Days and Times: Tuesday and Thursday 1:10 – 2:25pm, T&B 303
Office Hours: Monday 1:30 – 2:30pm and Thursday 9:30 – 10.30am. Office hours may be held at the Engineering Learning Communities in Engineering Complex III Room 300.
Teaching Assistant (TA): Mr. Ty Vincent,
TA Office Hours: Monday, Wednesday 8:00 – 9:00am, Goddard Annex 176

Course Description from the Undergraduate Course Catalog

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.

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.

Laboratory Resources
It is expected that students have their own personal Macintosh computers with Xcode. There are a limited number of Macintosh computers with Xcode in T&B 203. If you need assistance, please contact the course TA or Mr. Jerry Navarro,

Online Resources
EE 443 / EE 593 Web Page

Course announcements and student grades will be posted on Canvas

A great website to get answers to practical coding questions

Note: Please do not email Prof. De Leon through Canvas–use the email address listed above.

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

These objectives are achieved through an undergraduate- and graduate-level treatment of mobile application development.

Contribution of EE443/EE593 to Meeting the Professional Component
Mobile Application Development is an undergraduate EE elective (computers) within the Electrical Engineering curriculum. Students in EE443 will apply techniques learned in class through assigned homework, software development projects, and in-class discussions. Techniques learned in this class will provide students with a broadening of their knowledge base through application of basic mathematics and engineering science techniques to mobile application development, preparation for capstone design project, and by providing a basis for career employment or graduate school. Discussion of design issues relate the class theory to practical societal issues. Class provides 3 credits of engineering science credit.

Relationship of the Course to Program Objectives
Mobile Application Development builds upon mathematics and engineering techniques learned in previous courses to provide an electrical engineering elective to give students

  • an understanding of actual products (applications for mobile devices)
  • a basis for capstone design classes
  • a preparation for career employment or graduate school
  • an opportunity to use computers in engineering problem solving

This will allow students to further explore their major specialty as well as seeing applications of basic techniques learned from computer programming, embedded systems, signals and systems, and other engineering classes.

Topics Covered / Course Schedule
The topics covered and class schedule are described in the Course Schedule section of this syllabus.

Homework – In each chapter, students will develop and submit the tutorial application. Homework will be worth 25% of the final grade. Late homework is not accepted except in the case of an absence due to a medical or other very serious reason.

Class Lectures – Each week, students will present course material in class (lecture). Student lectures will be worth 10% of the final grade.

Mid-Term App Proposal – The mid-term app proposal (3-5 pg) will describe the mid-term app including the purpose, similar applications (if any), description, operation, and user interface (including storyboard). The mid-term app proposal is worth 5% of the final grade.

Mid-Term App – The mid-term app, developed individually by the student, is worth 25% of the final grade.

Final App Proposal – The final app proposal (3-5 pg) will describe the final app including the purpose, similar applications (if any), description, operation, and user interface (including storyboard). The final app proposal is worth 5% of the final grade.

Final App – The final app, developed individually by the student, is worth 25% of the final grade.

Final App Presentation – There will be a final project presentation where the student will present and demonstrate their application to the class. The final project presentation is worth 5% of the final grade.

Final Grades – Final grades will be assigned as follows



























Disputes regarding grades must be submitted in writing to Prof. De Leon for review within 7 days after graded work has been returned or posted.

As a courtesy to the instructor and fellow students, please silence your cell phones. Any student who disrupts class due to the use of an unwelcomed electronic device will be asked to leave.

Academic Misconduct
The Student Code of Conduct defines academic misconduct, non-academic misconduct and the consequences or penalties for each offence. The Student Code of Conduct is available in the NMSU Student Handbook online:

Academic misconduct is explained here:

The College of Engineering has additional language and policies related to academic misconduct that may be found here:

Discrimination and Disability Accommodation
Section 504 of the Rehabilitation Act of 1973 and the Americans with Disabilities Act (ADA) covers issues relating to disability and accommodations. If a student has questions or needs an accommodation in the classroom (all medical information is treated confidentially), contact:
Trudy Luken, Director
Student Accessibility Services (SAS) – Corbett Center, Rm. 208
Phone: (575) 646-6840 E-mail:

NMSU policy prohibits discrimination on the basis of age, ancestry, color, disability, gender identity, genetic information, national origin, race, religion, retaliation, serious medical condition, sex, sexual orientation, spousal affiliation and protected veterans status. Furthermore, Title IX prohibits sex discrimination to include sexual misconduct: sexual violence (sexual assault, rape), sexual harassment and retaliation. For more information on discrimination issues, Title IX, Campus SaVE Act, NMSU Policy Chapter 3.25, NMSU’s complaint process, or to file a complaint contact:

Lauri Millot, Title IX Coordinator or Agustin Diaz, Title IX Deputy Coordinator
Office of Institutional Equity (OIE) – O’Loughlin House, 1130 University Avenue
Phone: (575) 646-3635 E-mail:

Other NMSU Resources

NMSU Police Department: (575) 646-3311
NMSU Police Victim Services: (575) 646-3424
NMSU Counseling Center: (575) 646-2731
NMSU Dean of Students: (575) 646-1722
For Any On-campus Emergencies:  911

Phillip De Leon, 17 January 2018