Course Title: Software Engineering Design

Part A: Course Overview

Course Title: Software Engineering Design

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


125H Electrical & Computer Engineering


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


City Campus


172H School of Engineering


Sem 1 2018,
Sem 1 2019,
Sem 1 2020,
Sem 2 2021,
Sem 2 2022,
Sem 1 2023,
Sem 1 2024


RMIT University Vietnam


172H School of Engineering


Viet1 2018,
Viet3 2018,
Viet3 2019,
Viet3 2020,
Viet1 2021,
Viet3 2021,
Viet1 2022,
Viet3 2022,
Viet2 2023,
Viet3 2023

Course Coordinator: Dr Samuel Ippolito

Course Coordinator Phone: +61 3 9925 2673

Course Coordinator Email:

Course Coordinator Location: 10.07.06

Course Coordinator Availability: Email for appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-Requisite Courses
Successful completion of:

Note: it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course. 

For information go to RMIT Course Requisites webpage. 

Assumed Knowledge

  • Successful completion of an introductory course in C and/or C++.
  • Ability to use an integrated development environment (IDE) such as Microsoft Visual Studio for the purpose of developing and debugging computer programs.
  • Ability to use a standard computer system for text and spreadsheet work and simple programming tasks.
  • The ability to use a computer for word processing and solving problems
  • Able to proficiently use email and web interfaces.
  • Able to research and find information on the Internet.

Course Description

This course extends your abilities at engineering programming in C++, building on the foundation work of Engineering Computing 1 (EEET2246).  It considers object-oriented programming, pointers and linked lists, dynamic memory, error handling, debugging, and interaction with hardware.

The course will enable you to cope with the demands of later year courses in Computer Engineering, Networking, Design 3 and Capstone projects, Control Systems and Embedded Systems.

Particular topics investigated will include:

  • Introduction to I/O streams, File I/O
  • Objects and Classes
  • Pointers and Dynamic Memory
  • Basic data structures (linked lists, etc.)
  • Program and hierarchical class design/ structure
  • Error handling and debugging
  • C++ Function Templates and Class Templates
  • Introduction to the C++ Standard Template Library (STL)

Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes:

1.1 Comprehensive, theory based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline.

1.2 Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline.

1.3 In-depth understanding of specialist bodies of knowledge within the engineering discipline.

2.1 Application of established engineering methods to complex engineering problem solving.

2.2 Fluent application of engineering techniques, tools and resources.

2.3 Application of systematic engineering synthesis and design processes.

On completion of this course, you should be able to:

  1. Compile, test and debug C++ program code.
  2. Produce executable programs written and compiled in C++.
  3. Explain the way software and hardware relate to each other.
  4. Develop programs using object-oriented techniques and understand the concept of class hierarchy.

Overview of Learning Activities

Student learning occurs through the following experiences and evaluation processes:

  • Weekly laboratories (weeks 2 to 11)
  • Weekly tutorials (weeks 2 to 11)
  • Weekly recorded lectorials to support laboratories

This course in particular relies on regular work at home in your own time.

It will be very useful to study on your own computer, though labs will be open for those without a computer at home.

Overview of Learning Resources

Learning resources include:

  • Recorded interactive lectorial with detailed notes provided online.
  • Prescribed textbook: See the course guide available at the start of classes.
  • Recommended reference books: See the course guide available at the start of classes.
  • You will be expected to have access suitable computing equipment for system development. Required software (Microsoft Visual Studio) will be made available.

Overview of Assessment

This course has no hurdle requirements.


The following will be used to assess competency and learning:

  • Laboratory Tasks
  • Laboratory Code Submission
  • Tutorial Quizzes
  • Written Final Timed Assessment

To assist in the development of your programming skills, detailed written feedback will be provided for each Laboratory Code Submission. Your Laboratory Code Submissions and Tutorial Tests will be returned to allow you to understand where errors occurred.

Assessment Schedule for Melbourne delivery: 

Assessment Task 1 (Laboratory Tasks): 
Three laboratory reports, each worth 6%. 
Total weighting 18% 
This assessment task supports CLOs 1, 2, & 3. 

Assessment Task 2 (Laboratory Code Submissions):
Three laboratory Code Submissions, each worth 10%. 
Total weighting 30%
This assessment task supports CLOs 1, 2, 3, & 4

Assessment Task 3 (Tutorial Quizzes):
Two Tutorial Quizzes, worth 10% and 12% respectively.
Total weighting 22% 
This assessment task supports CLOs 1, 2, & 4

Assessment Task 4 (Final Timed Assessment):
Timed assignment of 3 hours duration to be taken at any time during a time window of 24 hours.
Weighting 30%
This assessment task supports CLOs 1, 2, 3, & 4


Note: Assessment schedule for offshore delivery may be different.