Skip to main content

Advanced Software Engineering


Department of Information and Communications Technology
Enrollment in this course is by invitation only

Course Overview

This course covers how to ensure the quality of software being developed, as well as an introduction to software testing and some testing techniques. This course will also cover the lifecycle of a software development project.

What You Will Learn

At the end of this course, you will be able to:

  • implement linting in your own project
  • measure code quality with static analysis
  • implement basic testing practices

Course Content

Week 1: Basic Software Quality Assurance (Basic QA)

11 Videos | 1 Activity

11 Videos

  • Welcome to the course!
  • What is Linting?
  • Implementing Linting
  • What is Static Analysis?
  • What is SonarQube?
  • Static Analysis with SonarQube
  • What is Test-Driven Development?
  • What are Unit Tests?
  • Writing Unit Tests
  • Writing Testable Code
  • Summary

1 Activity

  • Exit Assessment

Week 2:Intermediate Software Quality Assurance (Intermediate QA)

11 Videos | 1 Activity

11 Videos

  • What are Integration Tests?
  • Implementing Integration Tests
  • Mocking
  • What are End-to-End Tests?
  • How to run End-to-End tests
  • What is the Testing Trophy?
  • What is Visual Regression Testing (VRT)?
  • VRT Examples
  • What is UI Testing?
  • Examples of UI Testing
  • Summary

1 Activity

  • Exit Assessment

Week 3: Advanced Software Quality Assurance (Advanced QA)

7 Videos | 1 Activity

7 Videos

  • What is Property Testing?
  • Property Testing Examples
  • What is Software Verification?
  • Simple Software Verification Example
  • What is Type-level Programming?
  • Examples of Type-level Programming
  • Summary

1 Activity

  • Exit Assessment

Week 4: Project Management

9 Videos | 1 Activity

9 Videos

  • What happens in the Initiation Phase?
  • Initiation Phase Practices
  • What happens in the Planning Phase?
  • Planning Phase Practices
  • What happens in the Execution Phase?
  • Execution Phase Practices
  • What happens in the Monitor and Control Phase?
  • Monitor and Control Phase Practices
  • Key Takeaways

1 Activity

  • Exit Assessment
  1. Course Number

    DICT-ICT017
  2. Classes Start

    TBA
  3. Estimated Effort

    2 hrs./week (8 hours)
  4. Price

    Free