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, Sem 1 2025 |
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, Viet1 2025 |
ISYS3432 |
RMIT Vietnam Hanoi Campus |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Viet2 2023, Viet3 2023, Viet1 2024, Viet3 2024, Viet1 2025 |
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 the following course/s:
-
COSC2803/COSC3056/COSC3057 Java Programming Studio (Course ID 054081)
OR -
COSC3106 Python Programming Studio (Course ID 056558)
OR - EEET2601/EEET2651/EEET2246 Engineering Computing 1 (Course ID 038292)
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.
Recommended Prior Study
You should have satisfactorily completed or received credit for the following course/s before you commence this course:
- COSC1519/2429 Introduction to Programming (Course ID: 004337)
- ISYS1057/2077 Database Concepts (Course ID: 004083)
If you have completed prior studies at RMIT or another institution that developed the skills and knowledge covered in the above course/s you may be eligible to apply for credit transfer.
Alternatively, if you have prior relevant work experience that developed the skills and knowledge covered in the above course/s you may be eligible for recognition of prior learning.
Please follow the link for further information on how to apply for credit for prior study or experience.
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
Program Learning Outcomes
This course contributes to the program learning outcomes for the following program(s):
Major - Advanced Data Science
- BP340P23 - Bachelor of Data Science
- BP348 - Bachelor of Data Science (Professional)
PLO 2 Problem Solving - Apply systematic problem solving and decision making methodologies to identify, design and implement data driven solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects
PLO 3 Cognitive and Technical Skill - Critically analyse and evaluate user requirements and design data driven solutions, employing data science development tools, techniques and emerging technologies
PLO 4 Communication - Communicate effectively with diverse audiences, employing a range of communication methods in interactions.to both computing and non computing personnel."
PLO 5 Collaboration and Teamwork - Demonstrate effective teamwork and collaboration by using tools and practices to manage and meet project deliverables. "
PLO 6 Responsibility and Accountability - Demonstrate integrity, ethical conduct, sustainable and culturally inclusive professional standards, including First Nations knowledges and input in designing and implementing data driven solutions.
BP162O - Bachelor of Information Technology (RMITO)
BP162P23 - Bachelor of Information Technology
BP349 - Bachelor of Information Technology (Professional)
BP355 - Bachelor of Cyber Security
BP356 - Bachelor of Cyber Security (Professional)
PLO 1 Knowledge - Develop and integrate a broad and coherent set of knowledge and skills for developing user-centric cyber security solutions for contemporary societal challenges.
PLO 2 Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement cyber security solutions to real world problems.
PLO 3 Cognitive and Technical Skill - Critically analyse and evaluate user requirements and design systems employing software development tools, techniques and emerging technologies.
PLO 4 Communication - Collaborate effectively with diverse audiences in the cyber security ecosystem to address the needs of the cybersecurity industry.
PLO 5 Collaboration and Teamwork - Investigate cyber security tools and practices to manage and meet cyber security project deliverables by means of effective teamwork and collaboration.
PLO 6 Responsibility and Accountability - Advocate and critically review integrity, ethical conduct, sustainable and culturally inclusive professional standards, including First Nations knowledges and input in designing and implementing cyber security solutions.
BH120BIT - Bachelor of Engineering (Software Engineering) (Honours)
BH120CY - Bachelor of Engineering (Software Engineering) (Honours)
PLO 1 Demonstrate a coherent and advanced understanding and knowledge of fundamental engineering and scientific theories, principles and concepts and apply advanced technical knowledge in specialist domain of engineering.
PLO 4 Apply knowledge of established engineering methods to the solution of complex problems in the engineering discipline.
PLO 5 Utilise mathematics, software, tools and techniques, referencing appropriate engineering standards and codes of practice, in the design of complex engineering systems.
PLO 8 Communicate engineering designs and solutions respectfully and effectively, employing a range of advanced communication methods, in an individual or team environment, to diverse audiences.
PLO 10 Critically analyse, evaluate, and transform information, while exercising professional judgement, in an engineering context.
PLO 11 Collaborate and contribute as an effective team member or leader in diverse, multi-disciplinary teams, with commitment to First Nations peoples and/or globally inclusive perspectives and participation in an engineering context.
For more information on the program learning outcomes for your program, please see the program guide.
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 Tasks
Assessment Task 1: Processes, Requirements and Architecture.
Weighting: 25%
This assessment supports CLOs 1, 2, 3, 6
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
Assessment Task 3: UML Design 2 (Activity Diagrams and Sequence Diagrams).
Weighting: 25%
This assessment supports CLOs 2, 3, 4, 5, 6
Assessment Task 4: Git, User Stories, Unit & Acceptance Testing.
Weighting: 25%
This assessment supports CLOs 1, 2, 5, 6, 7
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.