Future-proof your career with a master’s degree that prepares you for the IT challenges of today—and tomorrow.
|Course Code||SENG 6005||Course||The Global Technology Environment||Credits||(3 sem. cr.)|
|Course Code||SENG 6215||Course||Security Risk Management||Credits||(3 sem. cr.)|
|Course Code||SENG 6155||Course||Software Engineering and System Architecture||Credits||(3 sem. cr.)|
|Course Code||SENG 6175||Course||Software Testing and Quality Assurance||Credits||(3 sem. cr.)|
|Course Code||SENG 6260||Course||Software Modeling and Design||Credits||(3 sem. cr.)|
|Course Code||SENG 6630||Course||Algorithms and Computation||Credits||(3 sem. cr.)|
|Course Code||SENG 6240||Course||Advanced Database Systems||Credits||(3 sem. cr.)|
|Course Code||SENG 6190||Course||Foundations of Intelligent Systems||Credits||(3 sem. cr.)|
|Course Code||SENG 6635||Course||Secure Coding||Credits||(3 sem. cr.)|
|Course Code||SENG 6250||Course||Requirements and Quality Engineering||Credits||(3 sem. cr.)|
Students in this course are provided a critical "state-of-the-art" breadth-first review of the domain of information technology (IT). Designed to provide students with a wide-ranging introduction to topics such as software engineering, cybersecurity, and big data analytics, students completing the course have a comprehensive global view of the current IT landscape in the context of both commercial and noncommercial enterprises. The class blends both theory and practice to provide a solid foundation for future study. Students study the relationship between technological change, society and the law, and the powerful role that computers and computer professionals play in a technological society.
Threats to information security (IS) are becoming more sophisticated. Laws and regulations impose strict (cyber) security risk management requirements on all enterprises to prevent, or at least limit, the potential of cyberattacks. Course content is directed at providing a deep understanding of the mechanisms and techniques that can be used to identify and mitigate against security risk. Students in this course are provided with the theoretical and practical knowledge to deliver a formal, systematic, and in-depth approach to the application of the concepts, techniques, methods, approaches, and processes of (cyber) security risk management in a pragmatic manner and in the context of enterprises of all kinds.
Students in this course are provided with systematic knowledge concerning the current techniques, technologies, and tools of software engineering. Emphasis is on the problem-solving elements of software engineering and on the software system architectures that result. Project management and configuration management issues are also discussed. The course affords students the ability to practice many of the software engineering techniques considered, using state-of-the-art tools, either individually or in groups.
Students in this course are provided a general overview of software engineering in the context of testing and quality assurance, both of which are important facets of modern software engineering that have technical, financial, and ethical implications for organizations. Students explore focused topics, such as testing methods; developing tests at the unit, integration, and systems level; techniques for stress testing; complexity and test metrics; quality management standards; and configuration management. Students have the opportunity to develop a critical awareness and comprehensive understanding of software testing and quality assurance, and the capability to create successful testing and quality assurance processes to support the needs of modern software engineering projects.
In this course students explore a range of modeling techniques and design tools used within the context of software development projects, such as object-oriented design tools and techniques. A number of standard notations for design representation will be included, as will different software development methodologies and life cycles in the context of the various design techniques that cover the development process, from feasibility studies to software implementation. Students work both individually and in groups and are provided opportunities to apply the knowledge gained in the course to real-world software design scenarios. Throughout the course, students have the opportunity to acquire a range of software modeling and design skills ready for application in the workplace.
In this course students examine the role and importance of algorithms, algorithms used to solve a given computational problem, and the process of designing algorithms where no suitable existing algorithm is available. Students have the opportunity to analyze algorithm behavior, and correctness and complexity based on both time and memory requirements. Students have the opportunity to gain an in-depth knowledge of a range of algorithms that are in common usage and/or are of historical significance within the IT industry, including sorting algorithms, searching algorithms, graph algorithms, and pathfinding algorithms.
In order to create a competitive advantage, organizations store and analyze information in a variety of formats. This course covers key areas of database systems, such as requirements, design, implementation, security, performance, and scalability. Through a hands-on approach and practical projects, students have an opportunity to design and build database systems using the latest database technologies.
Students in this course are introduced to the concepts of artificial intelligence and emergent areas of intelligent systems. Students have the opportunity to gain a critical understanding of knowledge representation, reasoning, machine learning, and evolutionary techniques. Students are presented with real-world problems and have the opportunity to apply "intelligent" techniques to provide solutions to these problems.
In this course students are provided with an understanding of secure software development practices. Students have the opportunity to gain an understanding of how to integrate security into the application/software development process. Students also have the opportunity to study some of the tools for writing secure code, language-based security models, and isolation techniques to protect data.
In this course students examine requirements of engineering and quality engineering in the context of software engineering. Students are presented with topics on the system engineering life cycle, including requirements, design, integration, transition, operation, maintenance, support, and quality management standards. Course content focuses on issues of requirements and quality engineering, such as the elicitation of requirements, analysis, specification, validation, and change management.