The software engineering curriculum 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 flexible courses such as application domain and engineering electives. The Tracks of study listed below 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.
The following are the department's official tracks:
Computer Engineering / Hardware - 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 / Game Development - 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.