Course Title: Software Engineering Design

Part A: Course Overview

Course Title: Software Engineering Design

Credit Points: 12.00


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

EEET2250

City Campus

Undergraduate

125H Electrical & Computer Engineering

Face-to-Face

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

Course Coordinator: Dr Samuel Ippolito

Course Coordinator Phone: +61 3 9925 2673

Course Coordinator Email: samuel.ippolito@rmit.edu.au

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 beginning course in C and/or C++.
  • Ability to use an integrated development environment (IDE) such as Microsoft Visual Studio for the purpose of developing 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
  • Program Design
  • 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 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 Exams
  • Tutorial Tests
  • Written Final Exam.

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

Assessment tasks

Early Assessment Task (Laboratory Exercise 1): 

Weighting 12% (breakup: 6% for lab tasks and 6% for lab exam)

This assessment task supports CLOs 1 & 2

Assessment Task 2 (Tutorial Test 1):

Weighting 7%

This assessment task supports CLOs 1 & 2

Assessment Task 3 (Laboratory Exercise 2):

Weighting 12% (breakup: 6% for lab tasks and 6% for lab exam)

This assessment task supports CLOs 1, 2 & 3

Assessment Task 4 (Tutorial Test 2):

Weighting 7%

This assessment task supports CLOs 4

Assessment Task 5 (Laboratory Exercise 3):

Weighting 12% (breakup: 6% for lab tasks and 6% for lab exam)

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

Assessment 6: Final Written Exam

Weighting 50% 

This assessment supports CLOs 1, 2, 3 & 4