Course Title: Software Engineering: Process and Tools
Part A: Course Overview
Course Title: Software Engineering: Process and Tools
Credit Points: 12.00
Important Information:
Please note that this course may have compulsory in-person attendance requirements for some teaching activities.
Terms
Course Code |
Campus |
Career |
School |
Learning Mode |
Teaching Period(s) |
COSC2101 |
RMIT University Vietnam |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Viet3 2008, Viet1 2009, Viet3 2009, Viet2 2010, Viet1 2011, Viet3 2011, Viet2 2012, Viet1 2013, Viet1 2015, Viet3 2015, Viet2 2016 |
COSC2101 |
RMIT University Vietnam |
Undergraduate |
171H School of Science |
Face-to-Face |
Viet2 2019, Viet2 2020, Viet2 2021 |
COSC2299 |
City Campus |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Sem 2 2006, Sem 2 2007, Sem 1 2008, Sem 1 2009, Sem 1 2010, Sem 1 2011, Sem 1 2012, Sem 1 2013, Sem 1 2014, Sem 1 2015, Sem 1 2016 |
COSC2299 |
City Campus |
Undergraduate |
171H School of Science |
Face-to-Face |
Sem 1 2017, Sem 2 2018, Sem 2 2019, Sem 2 2020, Sem 2 2021 |
COSC2299 |
City Campus |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Sem 2 2023, Sem 2 2024 |
COSC2361 |
Taylors College KL |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Offsh 1 11 |
COSC2428 |
City Campus |
Postgraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Sem 2 2007, Sem 1 2008, Sem 1 2009, Sem 1 2010, Sem 1 2011, Sem 1 2012, Sem 1 2015, Sem 1 2016 |
COSC2428 |
City Campus |
Postgraduate |
171H School of Science |
Face-to-Face |
Sem 1 2017, Sem 2 2018, Sem 2 2019 |
Course Coordinator: Sebastian Rodriguez
Course Coordinator Phone: -
Course Coordinator Email: sebastian.rodriguez@rmit.edu.au
Course Coordinator Location: 14.08.14B
Course Coordinator Availability: By appointment
Pre-requisite Courses and Assumed Knowledge and Capabilities
Enforced Pre-requisite Courses:
Successful completion of:
ISYS1117 / ISYS1118 / ISYS2410 / ISYS3378 - Software Engineering Fundamentals (Course ID 004309)
OR
ISYS3413 / ISYS3416 - Software Engineering Fundamentals IT (Course ID 053791)
OR
COSC2398 - Software Engineering Fundamentals (Course ID 038977)
AND
COSC2288 / COSC2391 / COSC2440 / COSC2684 / COSC2786 - Further Programming (Course ID 014052)
OR
COSC1295 - Advanced Programming (Course ID 004316)
OR
COSC2802 - Programming Bootcamp 2 (Course ID 054080)
OR
COSC2800 - IT Studio 2 (Course ID 054075)
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 your information go to RMIT Course Requisites webpage.
Required Prior Knowledge: This course builds on the knowledge acquired in the first year of an undergraduate computer science or software engineering program. You will have one year of experience using a modern operating system, such as OSX, Linux, or Windows.
Course Description
Software Engineering is more than the programming phase of an application arena. Phases of the software engineering life cycle include specialised processes and tools to ensure that real-world projects, both large and small, are delivered in a quality manner under financial constraints using processes and tools. Invariably, the software end-product is produced by a team of software engineers, stakeholders and ancillary personnel.
This course aims to develop your knowledge of the processes and associated tools required to service the software development life cycle.
This course includes a Work Integrated Learning experience in which your knowledge and skills will be applied and assessed in a simulated workplace context and where feedback from industry representatives will be provided. The type of WIL activities involved include a substantial team project to develop a practical software product, using modern Software Engineering processes and reflective practice, and standard industry tools for code management, testing, and continuous integration and deployment (Assessment Task 1). The team project has been evaluated by the chair of the Computer Science Industry Advisory Committee and feedback provided to ensure it reflects industry best practice. Project mentors and lab/tutors are drawn from industry and support learning and provide feedback on modern Software Engineering practice; these practitioners will also act as client representatives and will mark the project in conjunction with academic staff.
Objectives/Learning Outcomes/Capability Development
Program Learning Outcomes
This course contributes to the following Program Learning Outcomes (PLOs) for BP096 Bachelor of Software Engineering and BP094 Bachelor 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.
Upon successful completion of this course you should be able to:
- Utlilize various software engineering processes and their tools as required for best-practice development of software systems.
- Identify, analyse, compare and contrast different processes and their assistive tools for selected phases of the software engineering life cycle.
- Cooperate in and contribute to a team environment, develop team dynamics, work according to an agreed team protocol, and resolve/manage conflict issues.
- Run and document meetings.
- Plan, identify and apply processes, standards and tools for phases of a software engineering life cycle for a substantial software development project.
- Clearly present and discuss the developed solutions with a variety of audiences.
Please note that postgraduate students are expected to demonstrate deeper knowledge and higher level application of knowledge and skills than undergraduate students.
Overview of Learning Activities
The learning activities included in this course are:
Pre-recorded lectures will cover Software Engineering process issues and describe tools tailored towards specific scenarios, including industry professional presentations.
Other learning sessions will provide practice in the theories supporting applications to real world software engineering challenges and the application of industry-standard tools to support software engineering activities.Online tools will be used for feedback on progress and understanding.
Team assignments will help develop ability to work in teams and contribute to group work, as well as use tools used in industry to support distributed / team work.
Private study and assessment preparation will contribute to your learning.
Feedback will be regular both in response to submitted assignments, learning sessions and through interaction with teaching staff.
Attendance:
While a minimum attendance standard is not compulsory, non-attendance is correlated with lack of success in this course. Where visa conditions apply, attendance is compulsory.
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
Overview of Assessment
Note: This course has no hurdle requirements.
The assessment for this course comprises the following tasks.
Assessment Tasks
Assessment Task 1: Team Project
Weighting 40%
This assessment task supports CLOs 1, 3, 4 & 5.
Assessment Task 2: : Process and Tools Challenges
Weighting 50%
This assessment task supports CLOs 1 &, 2
Assessment 3: Final Demo
Weighting 10%
This assessment supports CLOs 2 & 6.
If you have a long-term medical condition and/or disability it may be possible to negotiate to vary aspects of the learning or assessment methods. You can contact the program coordinator or Equitable Learning Services if you would like to find out more.