You are here

Software Engineering Electives

To fulfill your Software Engineering Elective requirement, choose one process elective, and one design. 

Design Electives

  • SWEN-342 Engineering of Concurrent and Distributed Software Systems
  • SWEN-343 Engineering of Enterprise Software Systems
  • SWEN-344 Web Engineering
  • SWEN-563 (formerly 461) Real Time and Embedded Systems
  • SWEN-564 (formerly 462) Modeling of Real Time Systems
  • SWEN-565 (formerly 463) Performance Engineering of Real Time and Embedded Systems
  • SWEN-549 Software Engineering Design Seminar ** Descriptions for 2018-19 seminar courses below!
  • SWEN-567 HW-SW Design

 

Process Electives

  • SWEN-350 Software Process and Product Quality
  • SWEN-352 Software Testing
  • SWEN-356 Trends in Software Development Processes
  • SWEN-559 Software Engineering Process Seminar

 

Design Seminar Courses 2018-2019

Fall 2181 : SWEN-549 (Design Seminar) - Engineering Cloud Software Systems, taught by Prof. Oliver Wang

The course focuses on designing and implementing cloud software systems. The course consists of two major components. The first component introduces the basic concept and knowledge on cloud computing system and application infrastructure. The second component presents the key technologies and paradigms related to developing applications in the cloud. Each component contains a set of related topics which are covered via hands-on class instruction, application development in teams, course materials, and class discussions. Programming projects and demo presentations are required.

Fall 2181 : SWEN-789 (Graduate Special Topics) Engineering Self-Adaptive Software Systems, taught by Dr. Naveen Sharma

This course introduces beginning graduate students to key concepts and techniques underlying the engineering of self-adaptive and autonomic software systems. Such software systems are capable of self-management, self-healing, self-tuning, self-configuration and self-protection. The proposed course content shall include an introduction to the self-adaptive software and define their characteristics. This will be followed by foundational engineering principles and methodology for achieving self-adaptive systems – feedback control, modeling, machine learning, and systems concepts. Selected seminal research papers and term-long project will also be covered the class.   Note: 5th year undergraduate students are welcome to enroll; please contact your advisor for enrollment assistance. 

Spring 2185 : SWEN-549 (Design Seminar)  - Software Performance Engineering, taught by Prof. Andy Meneely

A survey of theory and techniques to integrate performance into the software development lifecycle. Special focus on design, implementation, testing, and operational concerns. Topics include monitoring, profiling, process practices, queuing theory, relational database query optimization, and various trade-offs.