Software Architecture and Design

Thank you for signing up for the course! We look forward to working with you and hearing your feedback in our forums.

Need help getting started?



Software Resources

Virtual Machine (VM)

An Ubuntu Virtual Machine is provided for students to assist with course assignments and the creation of charts and diagrams. It is not necessary that students use the VM; however, because the VM is preconfigured with software useful for this course, it will likely decrease the time students would require to setup the same software on their own local machine. Follow the link below for instructions on how to download and run the VM using VirtualBox.

Design Software

Each of the following design programs are packaged as part of the Ubuntu Virtual Machine. For students who would like to install the design programs on their host machine, we have provided links where you can find out more about each program.

Video Software

To create video presentations in this course, we recommend that students use Google Hangouts on Air. We have created a video tutorial series that instructs students how to setup, record, and edit their own videos using Google Hangouts on Air. Follow the link below to get started.

Here is a list of some potential alternatives to Google Hangouts on Air. It includes screen capture, video recording, and video editing programs for different host operating systems. You are welcome to use any tooling you wish as long as you ultimately produce a .mp4 video.

Student Recommendations

Text Resources

Optional Textbooks

There is no required text for this course. However, these three books cover much of the material.

Also, if you don't already own one, access to a Software Engineering introductory text such as Pressman or Sommerville may be helpful.

Required Readings

Additional Texts



Web Resources

Student Recommendations

  • Eric Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra. Head First Design Patterns. O'Reilly Media, October 25, 2004, link.