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


RMIT University Vietnam


172H School of Engineering


Viet1 2018,
Viet3 2018,
Viet3 2019

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

  • Successful completion of EEET2246 Engineering Computing 1 or a similar 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, engineering of software, 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 Design 4 projects, Control Systems, Embedded Systems, and Electrical Engineering.

Particular topics to be investigate 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 lectures 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:

  • Lecture 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.

☐ All hurdle requirements for this course are indicated clearly in the assessment regime that follows, against the relevant assessment task(s) and all have been approved by the College Deputy Pro Vice-Chancellor (Leaning & Teaching).

The following will be used to assess competency and learning:

  • Laboratory Tasks
  • Laboratory Tests
  • Tutorial Tests
  • Written Final Exam

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

Assessment Tasks

Assessment Task 1 (Laboratory Tasks): 

Weighting 18% 

This assessment task supports CLOs 1, 2, & 3. 

Assessment Task 2 (Laboratory Tests):

Weighting 18%

This assessment task supports CLOs 1, 2, 3, & 4

Assessment Task 3 (Tutorial Tests):

Weighting 14% 

This assessment task supports CLOs 1, 2, & 4

Assessment Task 4 (Final Written Exam):

Weighting 50%

This assessment task supports CLOs 1, 2, 3, & 4