Enrolments are closed.
Want to study Technology and Information? with a student advisor to find out more.
Undergraduate | RMI-CPT222 | 2024
Explore object orientated concepts for designing software architecture. Learn how UML talks in code backed by multi-threading and modelling tools. Build on your prior knowledge, and use interface programming with Java as the implementation platform.
- Study method
- 100% online
- Subject may require attendance
- Entry requirements
- Part of a degree
- 13 weeks
- Start dates
- 26 Feb 2024
HECS-HELP and FEE-HELP available
About this subject
At the successful completion of this subject students will be able to:
- Understand the purpose of object oriented design and where and how to apply object oriented concepts such as inheritance, polymorphism, abstract classes/interfaces and generics;
- Understand and apply common object oriented design patterns such as model view controller, observer, chain of responsibility, decorator, etc.;
- Be proficient using an integrated development environment such as Eclipse for project management, coding and debugging. Be proficient using a modelling tool such as Visual Paradigm for round trip engineering;
- Design and implement multithreaded systems taking into account synchronisation issues and testing challenges;
- Design and develop client server applications from first principles using basic protocols without relying on external middleware or frameworks.
- Core OO Concepts
- Java Collection Framework, Generics and Parameterised Typing
- GUI Programming (AWT/Swing)
- Concurrency and Multithreading
- Java Client-Server Computing, Serialisation
- GoF Design Patterns
This subject was previously known as “Software Architecture: Design and Implementation”
This subject provides students with an advanced understanding of software development with an emphasis on architecture and design, and how this relates to programming and implementation. Students will explore advanced object oriented concepts and the relationship between design in Unified Modelling Language (UML) and its expression in code and how this is supported by modelling tools and development platforms; parallelism using multi-threading, and first principles client server architecture using socket communications and basic protocols. Students will also explore common object oriented design patterns and their application in domain-specific contexts as well as user interface programming.
The subject builds upon existing programming knowledge using Java as the implementation platform, and assumes students already have a basic understanding of Java programming and basic object oriented concepts.
- Project Part 2 (25%)
- Invigilated Exam (50%)
- Project Part 1 (25%)
For textbook details check your university's handbook, website or learning management system (LMS).
One of Australia's largest dual-sector institutes, offering both TAFE and higher education, RMIT University proudly delivers work-related education and practical research relevant to current business and community needs. More than 96,000 students study with RMIT, and many of their degrees are available through Open Universities Australia.
Learn more about RMIT University.
Explore RMIT courses.
- QS Ranking 2024:
- Times Higher Education Ranking 2024:
To enrol in this subject, you must be admitted into a degree.
You must have successfully completed the following subject(s) before starting this subject:
- Software requirements - Unrestricted access to a Windows, Macintosh or Linux PC capable of running the Java Software Development Kit (SDK) and a Java code development IDE (such as Eclipse).
- Other requirements -
Stable broadband connection required to access online learning materials and live chat sessions/recordings. (note: mobile broadband users may have difficulties participating in live chat sessions)
- 0.125 EFTSL
- This is in the range of 10 to 12 hours of study each week.
Equivalent full time study load (EFTSL) is one way to calculate your study load. One (1.0) EFTSL is equivalent to a full-time study load for one year.
Find out more information on Commonwealth Loans to understand what this means to your eligibility for financial support.