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 |
COSC2471 |
City Campus |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Sem 2 2023, Sem 2 2024 |
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 |
COSC2472 |
City Campus |
Postgraduate |
175H Computing Technologies |
Face-to-Face |
Sem 2 2023, Sem 2 2024 |
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 Pre-Requisite Courses
Successful completion of the following course/s:
- COSC2712/COSC2081/COSC1073 Programming 1 (Course ID: 004065) or
- COSC3106/COSC3107/COSC3108 Python Programming Studio (Course ID: 056558) or
- COSC2803/COSC3056/COSC3057 Java Programming Studio (Course ID: 054081).
Note: it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.
For information go to RMIT Course Requisites webpage.
If you have completed prior studies at RMIT or another institution that developed the skills and knowledge covered in the above course/s you may be eligible to apply for credit transfer. Alternatively, if you have prior relevant work experience that developed the skills and knowledge covered in the above course/s you may be eligible for recognition of prior learning.
Please follow the link for further information on how to apply for credit for prior study or experience.
Course Description
A Mac laptop or iMac 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 lifecycle 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, to develop software capable of meeting the requirements of stakeholders.
This is not a course about design principles for a mobile application, it is an advanced programming elective which requires you to have strong programming skills.
Objectives/Learning Outcomes/Capability Development
Program Learning Outcomes
This course contributes to the program learning outcomes for the following program(s):
Major - Enterprise Systems Development
- BP162O - Bachelor of Information Technology (RMITO)
- BP162P23 - Bachelor of Information Technology
- BP349 - Bachelor of Information Technology (Professional)
- BP094P23 - Bachelor of Computer Science
- BP340P23 - Bachelor of Data Science
PLO 1 Knowledge - Apply a broad and coherent set of knowledge and skills for developing data driven solutions for contemporary societal challenges.
PLO 2 Problem Solving - Apply systematic problem solving and decision making methodologies to identify, design and implement data driven solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects
PLO 3 Cognitive and Technical Skill - Critically analyse and evaluate user requirements and design data driven solutions, employing data science development tools, techniques and emerging technologies
PLO 4 Communication - Communicate effectively with diverse audiences, employing a range of communication methods in interactions.to both computing and non computing personnel.
PLO 5 Collaboration and Teamwork - Demonstrate effective teamwork and collaboration by using tools and practices to manage and meet project deliverables.
For more information on the program learning outcomes for your program, please see the program guide.
Upon successful completion of this course, you will be able to:
- Describe the limitations and challenges of working in a mobile environment as well as the commercial and research opportunities presented by these technologies.
- Apply the different types of application models/frameworks used to develop mobile software applications.
- 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.
- Describe and apply software patterns for the development of the application models described above.
- Apply critical analysis, problem solving, and team facilitation skills to mobile app software engineering scenarios.
Overview of Learning Activities
You will be actively engaged in a range of learning activities such as lectorials, tutorials, practicals, laboratories, seminars, project work, class discussion, individual and group activities. Delivery may be face to face, online or a mix of both. Specifically, the learning activities included in this course are:
- Lectorials: key concepts will be explained in the interactive Lectorial sessions where material will be presented and the subject matter will be illustrated with practical examples, demonstrations, online questionnaires and guest visitors from ICT industry.
- Practicals 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.
You are encouraged to be proactive and self-directed in your learning, asking questions of your lecturer and/or peers and seeking out information as required, especially from the numerous sources available through the RMIT library, and through links and material specific to this course that is available through myRMIT Studies Course.
Overview of Learning Resources
You will make extensive use of computer laboratories and relevant software provided by the University. RMIT will provide you with resources and tools for learning in this course through myRMIT Studies Course.
A list of recommended learning resources will be provided by your lecturer, including books and web resources. You will also be expected to seek further resources relevant to the focus of your own learning.
There are services available to support your learning through the University Library. The Library provides guides on academic referencing and subject specialist help as well as a range of study support services. For further information, please visit the Library page on the RMIT University website and the myRMIT student portal.
Overview of Assessment
Note: This course has no hurdle requirements.
Assessment tasks
Assessment Task 1: Written Assignment – Part 1
Weighting 20%
This assessment task supports CLOs 1, 2 , 4 and 5.
Assessment Task 2: Written Assignment - Part 2
Weighting 40%
This assessment task supports CLOs 1, 2, 3, 4 and 5.
Assessment Task 3: Final Programming Challenge
Weighting 40%
This assessment task supports CLOs 2, 4 and 5.
If you have a long-term medical condition and/or disability it may be possible to negotiate to vary aspects of the learning or assessment methods. You can contact the program coordinator or Equitable Learning Services if you would like to find out more.