Course Number
Next Offered
Spring 2024
Primary Program
Computer Science
Applied Physics Laboratory
Course Format
Online, Onsite, Virtual Live

Software patterns encapsulate the knowledge of experienced software professionals in a manner that allows developers to apply that knowledge to similar problems. Patterns for software are analogous to the books of solutions that enable electrical engineers and civil engineers to avoid having to derive every new circuit or bridge design from first principles. This course will introduce the concept of software patterns, and explore the wide variety of patterns that may be applied to the production, analysis, design, implementation, and maintenance of software. The format of the course will emphasize the discussion of patterns and their application. Each student will be expected to lead a discussion and to actively participate in others. Students will also be expected to introduce new patterns or pattern languages through research or developed from their own experience. Programming exercises performed outside of class will be used enhance discussion and illustrate the application of patterns.

Course Prerequisite(s)

EN.605.604 Object-Oriented Programming with C++ or permission of instructor.

Course Offerings


Software Patterns

01/22/2024 - 04/29/2024
Mon 7:20 p.m. - 10:00 p.m.
Kossiakoff Center K225
Notes: This course uses the Virtual Live format. It combines the face-to-face class held at APL (section .3VL) with remote students participating online through live web-conferencing. You may choose to attend in-person/on-site or remotely or both. Students who wish to enroll and attend in Virtual Live courses in-person/on-site at the Applied Physics Lab, COVID-19 and Flu vaccination compliance is mandatory for enrollment in this course. All students must upload proof of vaccination or request and receive an exemption in the Vaccination Management System ( prior to the start of class.
Spring 2024
Course Format
Virtual Live
Applied Physics Laboratory
Course Materials