Course Title: Software Engineering Fundamentals for IT
Part A: Course Overview
Course Title: Software Engineering Fundamentals for IT
Credit Points: 12.00
Terms
Course Code |
Campus |
Career |
School |
Learning Mode |
Teaching Period(s) |
ISYS3413 |
City Campus |
Undergraduate |
171H School of Science |
Face-to-Face |
Sem 1 2020, Sem 2 2020, Sem 1 2021, Sem 2 2021 |
ISYS3413 |
City Campus |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Sem 1 2022, Sem 2 2022, Sem 1 2023, Sem 2 2023, Sem 1 2024, Sem 2 2024 |
ISYS3416 |
RMIT University Vietnam |
Undergraduate |
171H School of Science |
Face-to-Face |
Viet1 2020, Viet3 2020, Viet1 2021, Viet2 2021 |
ISYS3416 |
RMIT University Vietnam |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Viet1 2022, Viet3 2022, Viet2 2023, Viet3 2023, Viet1 2024, Viet3 2024 |
ISYS3432 |
RMIT Vietnam Hanoi Campus |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Viet2 2023, Viet3 2023, Viet1 2024, Viet3 2024 |
Course Coordinator: Tabinda Sarwar
Course Coordinator Phone: .
Course Coordinator Email: tabinda.sarwar@rmit.edu.au
Course Coordinator Location: City Campus
Course Coordinator Availability: By appointment, by email
Pre-requisite Courses and Assumed Knowledge and Capabilities
Enforced Pre-Requisite Courses
Successful completion of:
- COSC2413 Web Programming (Course ID: 039990) OR
- COSC3046 Web Programming Studio (Course ID: 054990)
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.
Required Prior Study
You should have satisfactorily completed the following courses before you commence this course:
- COSC1519/2429 Introduction to Programming (Course ID: 004337)
- ISYS1057/2077 Database Concepts (Course ID: 004083)
Alternatively, you may be able to demonstrate the required skills and knowledge before you start this course.
Course Description
This hands-on course is intended to equip you to undertake software development projects following established software engineering principles, pattern and tools. The software engineering principles covered will include iterative processes, test-driven development, version-control, MVC design patterns, object-oriented design and refactoring. This course also aims to provide an immersive learning experience using a real-life project, which requires you to apply and integrate the principles and skills learnt in first year courses. You are expected to have some familiarity with an object-oriented language such as Java, be familiar with relational databases and be exposed to basic web programming constructs such as HTML, CSS and JavaScript.
Objectives/Learning Outcomes/Capability Development
This course contributes to the following Program Learning Outcomes (PLOs) for
BP162 Bachelor of Information Technology
BP232 Bachelor of Computer Studies
BH120 Bachelor of Engineering (Software Engineering (Honours)
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:
- Explain how iterative software engineering processes can facilitate software development
- Evaluate requirements for a software system
- Apply the process of analysis and design using the object-oriented approach.
- 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
- Communicate effectively with others, especially regarding the progress of the system development and the content of the design by means of reports and presentations. Use appropriate design, version control and collaboration tools to work effectively as a team.
- Recognise and describe current trends in the area of software engineering.
- Design and carry out tests using various testing techniques and tools.
Overview of Learning Activities
The learning activities included in this course are:
- Lectures: key concepts will be explained in pre-recorded lectures where material will be presented and the subject matter will be illustrated with practical examples, demonstrations, online questionnaires and guest visitors from ICT industry. These will use a context-driven approach where increasingly complex projects will be discussed.
- Tutorial/labs and/or group discussions (including online forums) will focus on projects and problem-solving providing practice in the application of theory and procedures, while allowing exploration of concepts with teaching staff and other students. In the lab students will get regular feedback on their progress with group projects.
Overview of Learning Resources
You will need your own laptop do this course You will be able to access course information and learning materials through myRMIT and Canvas LMS.
Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.
Overview of Assessment
This course has no hurdle requirements.
Assessment Task 1: Processes, Requirements and Architecture.
Weighting: 25%
This assessment supports CLOs 1, 2, 3, 6
This is an individual task
Assessment Task 2: UML Design 1 (Use Case Diagrams, Case Descriptions, Class Diagrams, Code).
Weighting: 25%
This assessment supports CLOs 2, 3, 4, 5, 6
This is a teamwork task
Assessment Task 3: UML Design 2 (Activity Diagrams and Sequence Diagrams).
Weighting: 25%
This assessment supports CLOs 2, 3, 4, 5, 6
This is a teamwork task
Assessment Task 4: Git, User Stories, Unit & Acceptance Testing.
Weighting: 25%
This assessment supports CLOs 1, 2, 5, 6, 7
This is an individual task