Course Title: Object Oriented Software Design

Part A: Course Overview

Course Title: Object Oriented Software Design

Credit Points: 12.00

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

ISYS1083

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2014,
Sem 1 2015,
Sem 1 2016

ISYS1083

City Campus

Postgraduate

171H School of Science

Face-to-Face

Sem 1 2017,
Sem 1 2018,
Sem 1 2019,
Sem 1 2020

ISYS1084

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2014,
Sem 1 2015,
Sem 1 2016

ISYS1084

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 1 2017,
Sem 1 2018,
Sem 1 2019,
Sem 1 2020

Course Coordinator: Dr Caspar Ryan

Course Coordinator Phone: +61 3 9925 9775

Course Coordinator Email: caspar.ryan@rmit.edu.au

Course Coordinator Location: 14.11.32


Pre-requisite Courses and Assumed Knowledge and Capabilities

You may not enrol in this course unless it is explicitly listed in your enrolment program summary.

Enforced Pre-Requisite:  ISYS1117/1118 Software Engineering Fundamentals:

Required Prior Knowledge: COSC2391 Further Programming or COSC1295 Advanced Programming


Course Description

In this course you will apply the Object-Oriented Software Design Paradigm to the development of a complete software system. The primary focus of this course is the coverage of specific Object-Oriented Design Patterns from established pattern catalogues and a comparison of common Software Architectures. Additionally, Object-Oriented Software Engineering principles such as Refactoring and Design by Contract will be applied to form a continuous software quality process.


Objectives/Learning Outcomes/Capability Development

Enabling Knowledge: Knowledge and experience of Object-Oriented Software Design and how this is supported by modelling tools and integrated development environments; Knowledge and experience of Software Quality, and how Design Patterns, Refactoring and Design by Contract can be applied to a continuous software quality process.

Problem Solving: Ability to apply Design Patterns and Software Architectures to a variety of applications, taking into account domain specific requirements and constraints. Ability to perform iterative development and refactoring from the design stage through to implementation and testing using commonly available platforms and tools.


Course Learning Outcomes

Upon successful completion of this course you should be able to:

  • CLO1: Explain the differences between Structured Design and Object-Oriented design.
  • CLO2: Identify and mitigate the risks associated with the development of large-scale software projects.
  • CLO3: Apply the UML design notation as part of the OO development process.
  • CLO4: Explain and document diagrammatically specific Design Patterns from established pattern catalogues and apply them to novel design problems.
  • CLO5: Apply the process of Refactoring to continuously improve a software product.
  • CLO6: Apply Design by Contract to produce robust self-verifying software modules.


Overview of Learning Activities

Teaching staff inputs: Syllabus material will be presented, explained and illustrated with demonstrations, examples and problems in lectures, laboratories or online. Problem solving exercises, assignments and discussions are designed to develop your analytical skills, drawing on knowledge and frameworks covered in lectures.

Your inputs as learners: Your active and constructive participation in lectures, and discussions is expected in addition to weekly private study, completion of laboratory exercises and careful planning and completion of assessment tasks.

The emphasis of this course is on understanding the underlying concepts and not the ability to rote learn material. This is reflected in the presentation of lectures and in the assessment tasks.

Attendance:
While a minimum attendance standard is not compulsory, non-attendance may seriously jeopardise the chances of success in this course. Clearly, non-attendance at an assessment will result in failure of that assessment. Where visa conditions apply, attendance is compulsory.


Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through the myRMIT and may be provided with copies of additional materials in class or via email. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

Use the RMIT Bookshop’s textbook list search page to find any recommended textbook(s).  


Overview of Assessment

Assessment Tasks

This course has no hurdle requirements.

Overview

Laboratory Progress/Participation (total: 10%), consisting of: 
5 x 2% = 10%
This assessment task supports CLOs: 3, 5 & 6

Practical component (total: 40% consisting of: 
Assignment (Part 1) = 15% 
This assessment task supports CLOs: 2, 3, 4, 5 & 6

Assignment (Part 2) = 25% 
This assessment task supports CLOs: 2, 3, 4, 5 & 6

Examination component (total: 50%), consisting of: 
End of Semester Exam = 50%
This assessment task supports CLOs: 1, 3, 4, 5 & 6