Software Architecture: Design and Implementation - 2016

Unit summary

CPT222

  • Level of Study: Undergraduate Level 2
  • Study load: 0.125 EFTSL
  • Delivery method: Fully Online
  • Prerequisites: Yes
  • Duration: 13 weeks
  • Government loans available: FEE-HELP
  • Availability for 2016: SP1 , SP3
  • Availability for 2017: SP1 , SP3
  • Assessment: Assignment 1 - Project Part 1 (25%) , Assignment 2 - Project Part 2 (25%) - Learn more

Unit provided by

or
2016 Fees
AUD$
Domestic 1,114.00
International 1,364.00

This unit 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 UML (Unified Modelling Language) 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 unit 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.

At the successful completion of this unit students will be able to:

  1. 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
  2. Understand and apply common object oriented design patterns such as Model View Controller, Observer, Chain of Responsibility, Decorator etc.
  3. 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
  4. Design and implement multithreaded systems taking into account synchronization issues and testing challenges
  5. Design and develop client server applications from first principles using basic protocols without relying on external middleware or frameworks.
  • Assignment 1 — Project Part 1 (25%)
  • Assignment 2 — Project Part 2 (25%)
  • Invigilated Exam — Examination (50%)
For more information on invigilated exams see Exams and results

Mandatory prerequisites

You must have successfully completed the following unit(s) before starting this unit:

If you have completed equivalent study at another university, please contact a Student Advisor for advice.

  • Broadband access

This unit addresses the following topics.

NumberTopic
1Core OO Concepts
2Java Collection Framework, Generics and Parameterised Typing
3GUI Programming (AWT/Swing)
4Concurrency and Multithreading
5Java Client-Server Computing, Serialisation
6GoF Design Patterns

This unit is delivered using the following methods and materials:

Instructional Methods

  • Audio/Video conferencing
  • Chat rooms
  • Discussion Forum/Discussion Board
  • Embedded Multimedia
  • Online assignment submission
  • Podcasting/Lecture capture
  • Standard Media
  • Streaming Multimedia
  • Web links

Online materials

  • Audio/Video - Streaming
  • Printable format materials
  • Resources and Links

This unit is an approved elective in the following courses:

This unit may be eligible for credit towards other courses:

  1. Many undergraduate courses on offer through OUA include 'open elective' where any OUA unit can be credited to the course. You need to check the Award Requirements on the course page for the number of allowed open electives and any level limitations.
  2. In other cases, the content of this unit might be relevant to a course on offer through OUA or elsewhere. In order to receive credit for this unit in the course you will need to supply the provider institution with a copy of the Unit Profile in the approved format, which you can download here. Note that the Unit Profile is set at the start of the year, and if textbooks change this may not match the Co-Op textbook list.

Textbooks are subject to change within the academic year. Students are advised to purchase their books no earlier than one to two months before the start of a unit.

Click on the titles of the listed books below to find out more:

Required textbooks

  • Introduction to Java Programming, Comprehensive

    By:Liang Y Daniel

    ISBN: 9781292070018

    Format:Print

    Supplier:Go to The Co-op Bookshop


  • Enquire online

    Need to ask a question that's best put down in words?
    Make an online enquiry.

    Enquire now

    Ready to enrol?

    Start studying this unit now.

    or

    Got a question?

    Get an answer from one of our friendly Student Advisors.