Course Title: iPhone Software Engineering
Part A: Course Overview
Course Title: iPhone Software Engineering
Credit Points: 12.00
Terms
Course Code |
Campus |
Career |
School |
Learning Mode |
Teaching Period(s) |
COSC2471 |
City Campus |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Sem 2 2010, Sem 2 2011, Sem 2 2012, Sem 1 2015, Summer2016, Sem 1 2016 |
COSC2471 |
City Campus |
Undergraduate |
171H School of Science |
Face-to-Face |
Sem 2 2017, Sem 2 2018, Sem 2 2019, Sem 2 2020 |
COSC2472 |
City Campus |
Postgraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Sem 2 2010, Sem 2 2011, Sem 2 2012, Sem 1 2015, Summer2016, Sem 1 2016 |
COSC2472 |
City Campus |
Postgraduate |
171H School of Science |
Face-to-Face |
Sem 2 2017, Sem 2 2018, Sem 2 2019, Sem 2 2020 |
Flexible Terms
Course Code |
Campus |
Career |
School |
Learning Mode |
Teaching Period(s) |
COSC2471 |
City Campus |
Undergraduate |
171H School of Science |
Face-to-Face |
UGRDFlex17 (ZZZZ) |
COSC2471 |
City Campus |
Undergraduate |
171H School of Science |
Face-to-Face |
UGRDFlex18 (ZZZZ) |
COSC2472 |
City Campus |
Postgraduate |
171H School of Science |
Face-to-Face |
PGRDFlex17 (ZZZZ) |
COSC2472 |
City Campus |
Postgraduate |
171H School of Science |
Face-to-Face |
PGRDFlex18 (ZZZZ) |
Course Coordinator: Shekhar Kalra
Course Coordinator Phone: +61 3 9925 9500
Course Coordinator Email: shekhar.kalra@rmit.edu.au
Course Coordinator Location: 14.10.10A
Course Coordinator Availability: By appointment, by email
Pre-requisite Courses and Assumed Knowledge and Capabilities
Enforced Prerequisites:
Undergraduate
COSC1073 Programming 1 OR,
COSC1284 Programming Techniques OR,
Postgraduate
COSC1295: Advanced Programming
Course Description
A Mac computer or a Mac laptop is required to complete this course. Latest version of ‘Xcode’ will be used to develop applications. Current SWIFT and the Apple iOS 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 and iPad Touch 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.
This is not a course about design principles for a mobile application, it is a programming elective which requires you to have strong programming skills.
Objectives/Learning Outcomes/Capability Development
Program Learning Outcomes
This course contributes to the following program learning outcomes:
- Enabling Knowledge:
- You will gain skills as you apply knowledge effectively in diverse contexts.
- Critical Analysis:
- You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:
- analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems
- evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.
- Problem Solving:
- Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.
- Communication:
- You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to: present a clear, coherent and independent exposition of software applications, alternative IT solutions, and decision recommendations to both IT and non-IT personnel via technical reports of professional standard and technical presentations.
- Team Work:
- You will learn to work as an effective and productive team member in a range of professional and social situations, in particular to: work effectively in different roles, to form, manage, and successfully produce outcomes from teams, whose members may have diverse cultural
- backgrounds and life circumstances, and differing levels of technical expertise.
- Responsibility:
- You will be required to accept responsibility for your own learning and make informed decisions about judging and adopting appropriate behaviour in professional and social situations. This includes accepting the responsibility for independent life-long learning. Specifically, you will learn to: effectively apply relevant standards, ethical considerations, and an understanding of legal and privacy issues to designing software applications and IT systems.
- Research and scholarship
You will have technical and communication skills to design, evaluate, implement, analyse and theorise about developments that contribute to professional practice or scholarship, specifically you will have cognitive skills:
- to demonstrate mastery of theoretical knowledge and to reflect critically on theory and professional practice or scholarship;
- to plan and execute a substantial research-based project, capstone experience and/or piece of scholarship.
Course Learning Outcomes
Upon successful completion of this course you should be able to:
- CLO 1: describe the limitations and challenges of working in a mobile environment as well as the commercial and research opportunities presented by these technologies.
- CLO 2: apply the different types of application models/frameworks used to develop mobile software applications
- CLO3: learn about 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.
- CLO 4: describe and apply software patterns for the development of the application models described above.
- CLO 5: design, implement and deploy Apple iPhone / iPad applications using an appropriate software development environment.
- CLO 6: apply critical analysis, problem solving, and team facilitation skills to mobile app software engineering scenarios.
Overview of Learning Activities
The learning activities included in this course are:
- Lectures: key concepts will be explained in lectures where material will be presented and the subject matter will be illustrated with practical examples, demonstrations, online questionnaires and guest visitors from ICT industry.
- tutorials and/or labs and/or group discussions (including online forums) focused on projects and problem solving will provide practice in the application of theory and procedures, allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding;
- assignments, as described in Overview of Assessment (below) and Assessment Tasks (part B course guide for this Teaching Period), requiring an integrated understanding of the subject matter; assignment work requires active team participation and effective communication, which provides practice in these skills.
A total of 120 hours of study is expected during this course, comprising:
Teacher-directed hours (48 hours): lectures, tutorial/ laboratory sessions. Each week there will be 2 hours of lecture and 2 hours of tutorial/ laboratory work. You are encouraged to participate during lectures through asking questions, commenting on the lecture material based on your own experiences and through presenting solutions to written exercises. The tutorial and laboratory sessions will introduce you to the tools necessary to undertake the assignment work.
Student-directed hours (72 hours): You are expected to be self-directed, studying independently outside class.
Overview of Learning Resources
The course is supported by the Canvas learning management system which provides specific learning resources. See the RMIT Library Guide at http://rmit.libguides.com/compsci
Overview of Assessment
This course will be assessed via assignments
Note: This course has no hurdle requirements.
Assessment tasks
Assessment Task 1: Written Assignment – Part 1
Weighting 40%
This assessment task supports CLOs 1, 2 , 4 and 5.
Assessment Task 2: Written Assignment
Weighting 40%
This assessment task supports CLOs 1, 2, 4 and 5.
Assessment Task 3: Lab test
Weighting 20%