The course will address issues ranging from generic good design and programming principles to test-driven mobile development using Swift. Apple’s guidelines for application development and design will also be examined. Students pursuing careers in mobile application development, Web development, mobile computing or IT consulting will benefit from this course. The material for this course will be delivered using a combination of interactive lectures, online and face-to-face discussions and laboratories.
This course replaces COMP 6109 iOS Development Environment
Mode of Delivery: Face-to-Face, Online, HyFlex or Blended
On successful completion of this course, students will be able to:
· Describe the overall iPhone OS programming steps
· Explain the fundamental and new software features provided by iOS devices
· Explain the principles of common design patterns used in iOS development
· Employ cross-platform tools and strategies to develop applications for iOS devices
· Analyse the performance implications of developing applications on a constrained device
· Construct a test-driven approach to mobile application development
· Design the interface of a mobile application that conforms to Apple's Human Interface Guidelines
· Create and test mobile applications for multiple iOS devices.
Computer Science/ IT graduates with an interest in mobile application development; application developers that have mobile development responsibilities; Application development team leaders
Semester II, 2020/2021 (Jan 2021) postgraduate modules will be delivered ‘face-to-face’, ‘online’, ‘blended’ or ‘hyflex’. See Mode of Delivery definitions below:
Face-to-Face
Face-to-face teaching is an instructional method where course content is taught in person, in a physical classroom environment.
Online:
Online teaching is an instructional method where students and instructors connect via technology to review lectures, submit assignments and communicate with one another. No face-to-face learning occurs since lectures, assignments and readings are delivered online.
Blended:
Blended teaching (also known as hybrid or mixed-mode) is an instructional method where a portion of the traditional face-to-face instruction is replaced by web-based online instruction. Therefore, classes are delivered via electronic and online media as well as traditional face-to-face teaching.
HyFlex:
Hybrid-Flexible (also known as HyFlex teaching) integrates in-class instruction, online synchronous video sessions, or asynchronous content delivery. The instructor will deliver the class in a regular classroom, but students may attend in person, participate in the class through video conferencing, or watch a recording of the class session.
The following topics/concepts/theories/issues will be addressed:
· Introduction to the iOS development methodology
· Best practices for design of iOS applications
· Swift, Objective-C and Cocoa Touch
· Design patterns for iOS devices
· Test-driven development
o Creating a plan for test-driven development of iOS apps o A test-driven data model o A test-driven view controller o Testing network code o Code coverage and continuous integration
· The multi-touch interface model
· Cross-platform development frameworks
· iPhone Software Development Kit
There are no specific requirements to be eligible to enroll is this course.
This course is delivered using a combination of interactive lectures, online and face-to-face discussions and laboratories. Students are required to read preparatory material and complete assigned homework given by the lecturer and be prepared to participate in discussions. Laboratory sessions will be used to provide hands-on experiences in software development. Students are expected to prepare assigned programming and developmental exercises prior to arriving at the laboratory.
Credit Hours Four (4) hours of lectures and four (4) hours of labs each week for eight (8) weeks.
Dr. C. Gittens (Coordinator)