Native iOS Application Development
CIT 41100/ 3 Cr.
This advanced programming course teaches students the skills necessary to develop applications for Apple mobile computing devices running the iOS operating system. Combining theory and practice, this course gives students hands-on experience with the technologies, tools, and techniques used to develop mobile software solutions for business and entertainment. Students will build data-driven and location-aware applications and be introduced to a variety of object-oriented software design patterns common to mobile application development. A variety of data storage and remote datasource-driven applications will be introduced.
Apple student developer accounts are provided. Beginning programming experience is required. Development computers are available through the Student Technology Centers. Access to a personal Macintosh computer is encouraged, but not required.
- Available Online: No
- Credit by Exam: No
- Laptop Required: No
Prerequisites/Co-requisites:
CIT 21300 and (CIT 21500 OR CIT 24200 OR CIT 27000)
Outcomes
Course Outcomes(What are these?)
- Recognize the needs of mobile computing users (CIT b, g)
- Explain the characteristics of mobile computer platforms (CIT g, k)
- Produce a mobile application with multiple views formatted for a variety of devices (CIT c)
- Create location-aware mobile applications (CIT c)
- Develop a database-driven mobile application with an internal data source (CIT c, i)
- Integrate remote data sources into mobile applications (CIT b, m)
- Deploy applications to mobile devices for user testing (CIT i)
CIT Student Outcomes(What are these?)
(b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
(c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
(g) An ability to analyze the local and global impact of computing on individuals, organizations, and society.
(i) An ability to use current techniques, skills, and tools necessary for computing practice.
(k) An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems.
(m) An understanding of best practices and standards and their application.
Topics
- Smartphone platform overview
- Smartphone app development tools options
- Source code project structure
- Programming language quick start
- Memory management
- Delegation and Frameworks
- GPS and Location-Based Services
- Model-View-Controller Programming Pattern
- Views and Navigation Concepts
- Data and Databases
- Web Services
- Design for Multiple Devices
- Deploying to Devices
Principles of Undergraduate Learning (PULs)
2. Critical Thinking
3. Integration and Application of Knowledge