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,
Sem 1 2021

ISYS1083

City Campus

Postgraduate

175H Computing Technologies

Face-to-Face

Sem 1 2023,
Sem 1 2024

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,
Sem 1 2021

ISYS1084

City Campus

Undergraduate

175H Computing Technologies

Face-to-Face

Sem 1 2023,
Sem 1 2024

Course Coordinator: Dr Xiaoyu Xia

Course Coordinator Phone: +61 3 9925

Course Coordinator Email: xiaoyu.xia@rmit.edu.au

Course Coordinator Location: -

Course Coordinator Availability: via email


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

PLO1: Knowledge - Apply a broad and coherent set of knowledge and skills for developing user-centric computing solutions for contemporary societal challenges.

PLO2: Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement computing solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.


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

  1. Explain the differences between Structured Design and Object-Oriented design.
  2. Identify and mitigate the risks associated with the development of large-scale software projects.
  3. Apply the UML design notation as part of the OO development process.
  4. Explain and document diagrammatically specific Design Patterns from established pattern catalogues and apply them to novel design problems.
  5. Apply the process of Refactoring to continuously improve a software product.
  6. 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

There are no hurdle requirements in this course.

Assessment Task 1: Timed Written Interview Simulation (Content of weeks 1-3, Individual)
Weighting 25%
This assessment supports CLOs 1, 5, 4

Assessment Task 2: Lab 1 (Content of weeks 3-6, practical, individual). You will have 3 tasks to complete. They are a mixture of working with code and answering questions related to the code. You will be using GitHub classrooms, and writing your answers in the markdown file provided.
Weighting 35%
This assessment supports CLOs 3, 5, 6

Assessment Task 3: Lab 2 (Content of Weeks 6-11, practical, individual). You will have 4 tasks to complete. They are a mixture of working with UML, code and answering questions related to the code. You will be using GitHub classrooms, and writing your answers in the markdown file provided.
Weighting 40%
This assessment supports CLOs 1, 2, 3, 4