Offered
Caulfield Second semester 2008 (Day)
Synopsis
The main topics covered in this unit are: Object-oriented design and programming in C++ which include object identification, data encapsulation, inheritance, and polymorphism; concurrent programming techniques which include principles of concurrency, safety and liveness design, multithreaded programming in C++; network and distributed software construction principles and techniques which include network software performance, client-server software construction, socket and RPC programming in C++; and study and compare C++ with Java and Ada in terms of large software constructions.
Objectives
By the completion of this unit students will have a theoretical and conceptual understanding of:
- object-oriented design and programming with C++ for large software development;
- concurrent design and programming with programming languages which do not have built-in features to support concurrency like C++;
- how to develop high performance software with programming languages that do not support concurrency such as C++;
- and good experience of network and distributed programming using C++.
At the completion of this unit, students will:
- Appreciate OO application design and implementation with C++;
- Appreciate design and implementation techniques of concurrent applications with C++;
- Appreciate design and implementation techniques of network applications with C++;
- have the practical skill of object identification in software development;
- have the practical skill of concurrent design with mutual exclusion, deadlock free software construction, live lock avoidance, and efficient task communications;
- achieved good programming skill with multithreading, semaphores, thread communication and synchronisation mechanism;
- Achieved good experience of network and distributed programming using OO programming, sockets and C++;
- Achieved real experience to develop high performance applications with C++ using OO programming together with concurrency and networking.
Relationships, Communication and TeamWork
Objectives in this domain cover skills for building relationships and working collaboratively. They include communication skills, teamwork skills and leadership and management skills. This domain is closely linked to the affective domain, but involves objectives that develop skills related to group work.
Assessment
Examination: 50%
Practical work : 50%
Contact hours
4 x contact hrs/week
Prerequisites
CPE1001 or CSE1202 or FIT1002 or equivalent
Prohibitions
(translation set CSE3400), CSE4530