Course Title: Software Engineering Fundamentals
Part A: Course Overview
Course Title: Software Engineering Fundamentals
Credit Points: 12.00
Terms
Course Code |
Campus |
Career |
School |
Learning Mode |
Teaching Period(s) |
ISYS1117 |
City Campus |
Postgraduate |
140H Computer Science & Information Technology |
Face-to-Face | Sem 1 2006, Sem 2 2006, Sem 1 2007, Sem 2 2007, Sem 1 2008, Sem 2 2008, Sem 1 2009, Sem 2 2009, Sem 1 2010, Sem 2 2010, Sem 1 2011, Sem 2 2011, Sem 1 2012, Sem 2 2012, Sem 1 2013, Sem 2 2013, Sem 1 2014, Sem 2 2014, Sem 1 2015, Sem 2 2015, Sem 1 2016, Sem 2 2016 |
ISYS1117 |
City Campus |
Postgraduate |
171H School of Science |
Face-to-Face | Sem 1 2017, Sem 2 2017, Sem 1 2018, Sem 2 2018, Sem 1 2019, Sem 2 2019 |
ISYS1118 |
City Campus |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face | Sem 1 2006, Sem 2 2006, Sem 1 2007, Sem 2 2007, Sem 1 2008, Sem 2 2008, Sem 2 2009, Sem 1 2010, Sem 2 2010, Sem 1 2011, Sem 2 2011, Sem 1 2012, Sem 2 2012, Sem 1 2013, Sem 2 2013, Sem 1 2014, Sem 2 2014, Sem 1 2015, Sem 2 2015, Sem 1 2016, Sem 2 2016 |
ISYS1118 |
City Campus |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face or Internet | Sem 1 2009 |
ISYS1118 |
City Campus |
Undergraduate |
171H School of Science |
Face-to-Face | Sem 1 2017, Sem 2 2017, Sem 1 2018, Sem 2 2018, Sem 1 2019, Sem 2 2019 |
ISYS2089 |
RMIT University Vietnam |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face | Viet3 2008, Viet1 2009, Viet3 2009, Viet1 2010, Viet2 2010, Viet3 2010, Viet1 2011, Viet2 2011, Viet3 2011, Viet1 2012, Viet2 2012, Viet3 2012, Viet1 2013, Viet2 2013, Viet1 2014, Viet3 2014, Viet2 2015, Viet1 2016, Viet3 2016 |
ISYS2089 |
RMIT University Vietnam |
Undergraduate |
171H School of Science |
Face-to-Face | Viet2 2017, Viet3 2018, Viet3 2019 |
ISYS3292 |
Taylors College KL |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face | Offsh 3 10, Offsh 1 11 |
Course Coordinator: Dr. Charles Thevathayan
Course Coordinator Phone: +61 3 9925 9604
Course Coordinator Email: charles.thevathayan@rmit.edu.au
Course Coordinator Location: City campus, Building 15, Level 10, room 12
Course Coordinator Availability: By appointment
Pre-requisite Courses and Assumed Knowledge and Capabilities
Required Prior Study for UG:
COSC1073 Programming 1
OR
COSC1284 Programming Techniques
OR
COSC2531 Programming Fundamentals
Familiarity with an object-oriented programming language is assumed. Students who have no prior experience with Java should enrol in a Java-based introductory programming course concurrently such as COSC1073 Programming 1 OR COSC1284 Programming Techniques.
Course Description
This course is designed to provide you opportunity to gain knowledge and skills necessary to analyse, design and implement complex software engineering projects. You should learn to analyse and design fairly complex real-life systems, working as teams. The project based approach used requires you to review and refine your design iteratively based on regular feedback from staff. You are also made aware of current software engineering standards and processes. You are also taught to consider qualitative aspects including maintainability, extensibility, reusability and robustness in every stage of the software-engineering life-cycle. At the end of the course you should be able to combine top-down and bottom-up approaches to software design and choose the most appropriate process considering the underlying technology, project duration, the level of risks and the customer expectations.
Objectives/Learning Outcomes/Capability Development
Program Learning Outcomes
This course contributes to the following Program Learning Outcomes (PLOs) for
BP162 Bachelor of Information Technology,
BP094 Bachelor of Computer Science,
BP096 and Bachelor of Software Engineering,
and
MC208 Master of Information Technology, and
MC061 Master of Computer Science
Enabling Knowledge:
You will gain skills as you apply knowledge effectively in diverse contexts.
Critical Analysis:
You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:
analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems
evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.
Problem Solving:
Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.
Communication:
You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to: present a clear, coherent and independent exposition of software applications, alternative IT solutions, and decision recommendations to both IT and non-IT personnel via technical reports of professional standard and technical presentations.
Team Work:
You will learn to work as an effective and productive team member in a range of professional and social situations, in particular to: work effectively in different roles, to form, manage, and successfully produce outcomes from teams, whose members may have diverse cultural backgrounds and life circumstances, and differing levels of technical expertise.
Responsibility:
You will be required to accept responsibility for your own learning and make informed decisions about judging and adopting appropriate behaviour in professional and social situations. This includes accepting the responsibility for independent life-long learning. Specifically, you will learn to: effectively apply relevant standards, ethical considerations, and an understanding of legal and privacy issues to designing software applications and IT systems.
Course Learning Outcomes
Upon successful completion of this course you should be able to:
- CLO 1: explain and apply the main aspects of software engineering
- CLO 2: evaluate requirements for a software system
- CLO 3: apply the process of analysis and design using the object-oriented approach
- CLO 4: work effectively in a team to analyse the requirements of a complex software system, and solve problems by creating appropriate designs that satisfies these requirements
- CLO 5: communicate effectively with others, especially regarding the progress of the system development and the content of the design by means of reports and presentations,
- CLO 6: recognise and describe current trends in the area of software engineering.
Postgraduate students should also be able to
- CLO 7: implement the design using an appropriate object oriented language
Overview of Learning Activities
The learning activities included in this course are:
- Key concepts will be explained in lectures in which course material will be presented and the subject matter will be illustrated with demonstrations and examples;
- Tutorial sessions focus on analysing, designing and testing software designs taking into account functional and non-functional requirements;
- Computer laboratory sessions familiarise students with tools and technologies required for software development and provide weekly feedback on student progress in requirements gathering, analysis, design and implementation of software solutions;
- Weekly quizzes provide regular feedback on theoretical foundations;
Peer-assisted and/or mentor-led learning programs may be available.
A total of 120 hours of study is expected during this course, comprising:
Teacher-directed hours (48 hours): lectures, tutorials and laboratory sessions. Each week there will be 2 hours of lecture and tutorial plus 2 hours of tutorial/laboratory work. You are encouraged to participate during lectures through asking questions, commenting on the lecture material based on your own experiences and by presenting solutions to written exercises. The tutorial / laboratory sessions will introduce you to the tools necessary to undertake the assignment work.
Student-directed hours (72 hours): You are expected to be self-directed, studying independently and working in teams outside the class.
Overview of Learning Resources
The course is supported by the Canvas learning management system which provides specific learning resources. See the RMIT Library Guide at http://rmit.libguides.com/compsci
RMIT University is an Academic Partner of Visual Paradigm, and is granted the use of Visual Paradigm's UML modeler and BPMN modeler for educational use.
Overview of Assessment
Note: This course has no hurdle requirements.
Assessment tasks
Assessment Task 1: Progress Quizzes
Weighting:15%
This assessment task supports CLOs: 1, 2, & 3
Assessment Task 2: Team Project
Weighting: 45%
This assessment task supports CLOs : 1, 2, 3, 4, 5, & 6
Assessment Task 3: Final Exam
Weighting: 40%
This assessment task supports CLOs: 1, 2, 3 & 6