The software engineering program maintains a balance between abstract, theoretical insights and their application. Courses use real-world business projects and scenarios to educate professionals in the latest tools and techniques.
Curricular foundations include:
- Relational Database Design
- Object-Relational Mapping (Hibernate & NHibernate)
- Advanced Java Programming
- .Net (IIS) and J2EE WWW Development (Linux, Apache, Tomcat)
- Software Design and Implementation
- Design Patterns
- Test-Driven Development (JUnit, NUnit)
- Software Engineering
- Operating System Concepts (Linux, UNIX)
- IT and Project Management
- Contemporary Distributed Component Approaches (SOA, EJB, Spring)
Upon completion of the Master of Software Engineering program, graduates are able to:
- Apply sound software engineering principles and methodologies in any software development process regardless of roles they may play as software developers, development leads, or software project managers.
- Problem-solve (mostly for business problems) at a higher level using enterprise resources, major Web software development frameworks, and sound software design methodologies.
- Be competitive in making sound judgment on any IT issues that are related to software development.
- Meet challenges of a software development process as information technologies advance.
- Be self-motivated and highly effective players in any team environment.