CST 438

Software Engineering

CST 438: Software Engineering

Prepares students for large-scale software development using software engineering principles and techniques. Coverage includes software process, requirements analysis and specification, software design, implementation, testing, and project management. Students are expected to work in teams to carry out a realistic software project.

Week 1

Topics

  • What is Software Engineering?
  • Style Guides and Rules
  • Code

Programming Assignment

Coding a Spring Controller

Week 2

Topics

  • Testing Overview
  • Unit Testing
  • Test Doubles

Programming Assignment

Coding a Restful Controller

Week 3

Topics

  • Larger Tests
  • Documentation

Programming Assignment

Message Queue Programming

Week 4

Topics

  • About Teams
  • Knowledge Sharing, Mentorship, and Working in Large Groups

Week 5

Topics

  • Setting up Heroku

Week 6

Topics

  • Engineering for Equity
  • Learn to lead a Team

Class Project

Our task was to work in a large mega team representing a company. The main objective for my team was to build an airline website and an API that a team in charge of building a full package vacation would use.