Skip to content

Software Architecture & Design

Free Course

Offered at Georgia Tech as CS 6310

Related Nanodegree Program

Android Kotlin Developer

In collaboration with
  • Georgia Institute of Technology

About this course

Software Architecture and Design teaches the principles and concepts involved in the analysis and design of large software systems. This course is split into four sections: (1) Introduction, (2) UML and Analysis, (3) Software Architecture, and (4) Software Design.

What you will learn

  1. Introduction
    • Introduction
    • Browser Exercise (Analysis)
    • Design Concepts
  2. UML and Analysis
    • Review of UML
    • Object Oriented Analysis Exercise
    • UML Class Models
  3. Software Architecture
    • KWIC Exercise
    • Overview of Software Architecture
    • Architectural Views
  4. Software Design
    • Components
    • Coffee Maker Exercise
    • Object Design

Prerequisites and requirements

Students are expected to have completed an undergraduate software engineering course or have industry experience in software development. Additionally all students must follow the policies listed on the Course Wiki.

For other requirements, see Udacity's Technology Requirements.

See the Technology Requirements for using Udacity.

Why take this course?

This course will equip students with the skills and knowledge necessary to accomplish the following objectives:

  • Express the analysis and design of an application using UML
  • Specify functional semantics of an application using OCL
  • Specify and evaluate software architectures
  • Select and use appropriate architectural styles
  • Understand and apply object-oriented design techniques
  • Select and use appropriate software design patterns
  • Understand and perform a design review

Learn with the best.

  • Spencer Rugaber
    Spencer Rugaber


  • Eric Feron
    Eric Feron


  • Jarrod Parkes
    Jarrod Parkes