The software engineering program of study includes 14 restricted and unrestricted elective courses. By choosing your elective courses carefully you can shape your program of study to enhance your academic experience. Tracks of study can help you make informed and cohesive choices for the places where the curriculum offers flexibility in the form of electives such as application domain and engineering elective courses. A track includes a general explanation of its domain of interest, a suggested list of related software engineering elective courses, a recommended list of elective courses from other programs, related minor programs of study (if any), and prerequisite sequencing and other constraints. Tracks of study are advisory in nature and are provided as guidance to help you plan your undergraduate education in software engineering. When choosing a track we recommend you talk to your advisor.
Tracks of study are not equivalent to application domains, but may include an application domain as a component.
The following are the department’s official tracks; this list may be updated without notice.Computer Engineering – This track emphasizes the design of hardware done by computer engineers. Students interested in hardware design and real-time and embedded systems will benefit from an increased understanding of hardware design and hardware-software interaction.
Enterprise Applications – This track emphasizes the software methodologies used in the specification, design, construction, testing, and deployment of enterprise wide software applications.
Entrepreneurship – This track focuses on acquiring the knowledge and skills needed to start a software development business. Students learn how to identify business opportunities, how to form a business plan, and how to execute an effective business strategy.
Interactive Entertainment – This track emphasizes the design and development of software for entertaining and learning. Through this track students get a deeper exposure to interactive entertainment in terms of content and the technology needed to build and maintain computer games.
Product Management - This track emphasizes the software engineering methodologies used in the management of software development projects. Key topics in this area address the need to manage the development process to produce quality software products within the constraints of cost (resources) and time (schedule).
Usability – This track emphasizes the design of software for usability by a diverse user population. Students will gain a deeper understanding of human-computer interaction issues related to desktop computer applications as well as applications for mobile devices.