COIT20258: Software Engineering Fundamentals

Explore the fundamental principles and practices of software engineering, from requirements analysis to software evolution and maintenance.

01

Professional Software Development & Software Processes

14 Jul 2025

Welcome to COIT20258! This week we'll explore professional software development practices and various software process models.

Course Overview

Detailed overview of course objectives, grading policy, and expectations.

View Syllabus

Lecture Slides

Introduction to software development and process models.

Download Slides

In-Class Exercise 1

Software process analysis and comparison.

View Assignment
02

Agile Software Development & Requirements Engineering

21 Jul 2025

This week we'll dive into Agile methodologies and the fundamentals of requirements engineering.

Agile Methodologies

Scrum, Kanban, and other Agile frameworks.

View Content

Tutorial Session

Functional and non-functional requirements gathering.

View Content

Practice Exercise

Requirements gathering workshop.

View Exercise
03

Requirements Engineering & System Modeling

28 Jul 2025

Explore advanced requirements engineering techniques and system modeling approaches.

System Modeling

UML diagrams and system architecture modeling.

View Content

Practice

Identifying and managing project stakeholders.

View Content

Example

Introduction to UML modeling tools.

View Tools
04

Architectural Design & O‑O Design

04 Aug 2025

Learn about software architecture patterns and object-oriented design principles.

Architectural Patterns

MVC, MVVM, and other architectural patterns.

View Content

Object-Oriented Design

SOLID principles and OOP best practices.

View Content

Design Patterns

Common design patterns and their applications.

View Patterns
05

Design & Implementation

11 Aug 2025

Focus on practical design implementation and coding best practices.

Design Implementation

Converting designs into working code.

View Content

Version Control

Git and collaborative development practices.

View Content

Debugging Techniques

Effective debugging and problem-solving strategies.

View Techniques
06

Vacation Week

18 Aug 2025

Enjoy your vacation week! No formal classes or assignments during this period.

Vacation Resources

Optional reading materials for continued learning.

View Resources
07

Software Testing

25 Aug 2025

Learn about various software testing methodologies and quality assurance practices.

Lecture Slides

Unit, integration, and system testing approaches.

View Content

Exercise

Test automation frameworks and tools.

View Content

Testing Assignment

Practical testing implementation project.

View Assignment
08

Quality Management

01 Sep 2025

Explore software quality management and assurance processes.

Quality Assurance

QA processes and quality metrics.

View Content

Quality Metrics

Measuring and tracking software quality.

View Content

Quality Standards

Industry standards and best practices.

View Standards
09

Software Evolution

08 Sep 2025

Understanding how software evolves over time and maintenance strategies.

Software Maintenance

Types of maintenance and evolution strategies.

View Content

Assessment 2 Guideline

Guideline for Assessment 2

View Content

THS Diagram 1

Diagram UML - Class Diagram

View Strategies

THS Diagram 2

Diagram UML - Sequence Diagram

View Strategies

THS Diagram 3

Diagram UML - Use Case Diagram

View Strategies

THS Diagram 4

Diagram UML - MVC Diagram

View Strategies
10

Configuration Management

15 Sep 2025

Learn about configuration management and deployment strategies.

Configuration Tools

Docker, Kubernetes, and containerization.

View Content

Deployment Strategies

CI/CD pipelines and deployment automation.

View Content

Environment Management

Managing development, staging, and production environments.

View Content
11

Dependable Systems & Reliability Engineering

22 Sep 2025

Explore techniques for building reliable and fault-tolerant software systems.

Slide

Building systems that can handle failures gracefully.

View Content

Assessment 3 Guideline

Reliability engineering and monitoring strategies.

View Content
12

Software Reuse & Component‑Based Software Engineering

29 Sep 2025

Learn about software reuse strategies and component-based development approaches.

Slide content

Libraries, frameworks, and reusable components.

View Content

Component-Based Development

Building systems from reusable components.

View Content

Assessment 3 Template

Get an ideas of the report writing

View Content
13

Service‑Oriented Software Engineering

06 Oct 2025

Explore service-oriented architecture and microservices development.

Service-Oriented Architecture

SOA principles and implementation strategies.

View Content

Microservices

Designing and implementing microservices.

View Content

API Design

RESTful APIs and service communication.

View Content