In the move to our new system and website, we are encountering some technical issues.
We are working hard to fix these and we appreciate your patience and understanding.

Subject details

  • Topics
    • Architecture and Devices
    • Introduction to Swift: syntax, data types, arrays, application lifecycle
    • Data and Control Structures, Parameter Passing, Functions, Strings/Characters, Project Templates
    • More Data Structures, Properties, Dynamic Text, Generics and Building Interfaces
    • Inheritance, Enclosures, Extensions and Constraints
    • Table view, Patterns (MVC, delegate, data source), Storyboards
    • Persistence (SQLite and CoreData), Directories and Files
    • Networking, Threading and Grand Central Dispatch
    • Working with JSON and XML
    • Audio, Video, Graphics, Animation, Cameras and Sensors, Location API, Split Views, Popovers
    • Security, Cloud and Application Localisation
    • Unit Testing, Version Control with Git
    • Preparing apps for deployment, Apple Developer Program
  • Study resources
    • Instructional Methods
      • Audio/Video conferencing
      • Chat Rooms
      • Disscusion forum/Discussion Board
      • Embedded Multimedia
      • Online assignment submission
      • Podcasting/Leacture capture
      • Standard Media
      • Streaming Multimedia
      • Web links
    • Online Materials
      • Audio-Video streaming
      • Online Assessment
      • Printable format materials
      • Resources and Links
      • Simulations

At the successful completion of this subject, students will be able to:

  1. Describe the limitations and challenges of working in a mobile and wireless environment as well as the commercial and research opportunities presented by these technologies
  2. Describe and apply the different types of application models/architectures used to develop mobile software applications
  3. Describe the components and structure of the iPhone application development framework and know how and when to apply the different components to develop a working system
  4. Describe and apply software patterns for the development of the application models described above
  5. Describe and work within the capabilities and limitations of Apple iPhone, iPad and Watch devices
  6. Design, implement and deploy Apple iPhone/iPad and Watch applications using an appropriate software development environment.
  • Assignment 1 - Assignment 1 (25%)
  • Assignment 2 - Assignment 2 (35%)
  • Assignment 3 - Invigilated Exam (40%)

Textbooks are subject to change within the academic year. Students are advised to purchase their books no earlier than one to two months before the start of a subject

Entry Requirements

You must have successfully completed the following subject(s) before starting this subject:

You are recommended to have completed the following subjects(s) or have equivalent knowledge before starting this unit:

Special requirements

No special requirements

iPhone Software Engineering is concerned with the development of applications on the Apple iOS and Apple Watch platforms. SWIFT and the Apple iOS 10/11 SDK will be used as a basis for teaching programming techniques and design patterns related to the development of standalone applications and mobile portals to enterprise and m-commerce systems.

Emphasis is placed on the processes, tools and frameworks required to develop applications for Apple iPhone, iPad and Watch devices. You will work at all stages of the software development life-cycle from inception through to implementation and testing. In doing so, you will be required to consider the impact of user characteristics, device capabilities, networking infrastructure and deployment environment, in order to develop software capable of meeting the requirements of stakeholders.

Related degrees