Computer Systems

Design, analysis, and development of systems that involve the interaction of a combination of hardware, software, user behaviour, and data.
Computer systems consist of operating systems, systems architecture and hardware, data storage and management systems, distributed systems, and computer networks. Computer system research at McMaster University addresses a diverse range of challenges posed by the ever-increasing demands to acquire, transfer and analyze large amounts of data in real-time, and develops dependable, reliable and efficient system solutions to enable and support compute-intensive services and applications.
Our group has expertise in several well established and emerging areas in computer systems, including big data systems, resource management in data centres and wireless networks, mobile computing and pervasive sensing, immersive simulation software and hardware platforms, and dependable distributed systems.
Research Groups
Related Faculty
Related Courses
Code | Title | Instructor | Outline | Info |
---|---|---|---|---|
CAS 704 Graduate | Embedded, Real-Time Software Systems |
|
Outline | More |
CAS 736 Graduate | Analysis of Stochastic Networks |
|
More | |
CAS 745 Graduate | Supervisory Control of Discrete-Event Systems |
|
Outline | More |
CAS 771 Graduate | Introduction to Big Data Systems and Applications |
|
More | |
CAS 781 Graduate | Advanced Topics: Machine Learning on Graphs |
|
More | |
CAS 781 Graduate | Advanced Topics: Mobility in the Aging Population (Part II) |
|
More | |
COMPSCI 2GA3 Undergraduate | Computer Architecture |
|
More | |
COMPSCI 3GC3 Undergraduate | Computer Graphics |
|
More | |
COMPSCI 3SH3 Undergraduate | Computer Science Practice and Experience: Operating Systems |
|
More | |
COMPSCI 4AD3 Undergraduate | Advanced Databases |
|
More | |
COMPSCI 4AR3 Undergraduate | Software Architecture |
|
More | |
COMPSCI 4DC3 Undergraduate | Distributed Computing |
|
More | |
COMPSCI 4E03 Undergraduate | Performance Analysis of Computer Systems |
|
More | |
COMPSCI 4F03 Undergraduate | Parallel Computing |
|
More | |
COMPSCI 4HC3 Undergraduate | Human Computer Interfaces |
|
More | |
COMPSCI 6E03 Graduate | Performance Analysis of Computer Systems |
|
More | |
COMPSCI 6F03 Graduate | Distributed Computer Systems |
|
More | |
COMPSCI 6WW3 Graduate | Web Systems and Web Computing |
|
More | |
ENGPHYS 4QC3 / 6QC3 Graduate | Introduction to Quantum Computing |
![]() |
Outline | More |
MECHTRON 4AA4 Undergraduate | Real-Time Systems and Control Applications |
|
More | |
MECHTRON 4AX3 Undergraduate | Predictive and Intelligent Control |
|
More | |
SFWRENG 2DA4 Undergraduate | Digital Systems and Interfacing |
|
More | |
SFWRENG 2GA3 Undergraduate | Computer Architecture |
|
More | |
SFWRENG 3DB3 Undergraduate | Databases |
|
More | |
SFWRENG 3GC3 Undergraduate | Computer Graphics |
|
More | |
SFWRENG 3SH3 Undergraduate | Operating Systems |
|
More | |
SFWRENG 4AA4 Undergraduate | Real-Time Systems and Control Applications |
|
More | |
SFWRENG 4AD3 Undergraduate | Advanced Databases |
|
More | |
SFWRENG 4E03 Undergraduate | Performance Analysis Of Computer Systems |
|
More | |
SFWRENG 4F03 Undergraduate | Parallel Computing |
|
More | |
SFWRENG 4HC3 Undergraduate | Human Computer Interfaces |
|
More | |
SFWRENG 4J03 Undergraduate | Communications Systems |
|
More | |
SFWRENG 6GA3 Graduate | Real-Time Systems and Computer Game Applications |
|
More | |
SFWRENG 6HC3 Graduate | Human Computer Interfaces |
|
More | |
SFWRTECH 4AI3 Undergraduate | Artificial Intelligence |
|
Outline | More |
Health informatics and Bioinformatics

Advancing computational theories and software applications to improve our understanding of basic building blocks of life.
The health informatics and bioinformatics are at the cross-section of information technology and health care delivery as well as biomedicine. McMaster researchers are carrying out transformative research in the management of information related to the underlying basic biological processes, making use of the enormous amount of biomedical and healthcare data for knowledge discovery, and designing safety critical medical software and devices to promote health. Our work contributes to the advancement in both fundamental theory and applications on health informatics and bioinformatics related topics.
Related Faculty
Scientific Computing and Optimization

The design of advanced formulations and algorithms as well as efficient implementation to tackle large scale and complex instances.
Rigorous evidence-based decision-making through quantitative modelling and analysis is one of the key principles behind Scientific Computing and Optimization, a research area with several far-reaching applications across engineering, sciences, and industry. Finding optimal allocations of resources, scheduling tasks, and designing prototypes are a few of the domains this line of research is concerned with. Enhancing and developing new models to handle application driven questions forms a key focus for the faculty members belonging to the Scientific Computing and Optimization research area.
Research Groups
Related Faculty
Related Courses
Code | Title | Instructor | Outline | Info |
---|---|---|---|---|
CAS 708 Graduate | Scientific Computation |
|
Outline | More |
CAS 740 Graduate | Numerical Methods for Ordinary Differential Equations and Differential-Algebraic Equations |
|
More | |
CAS 741 Graduate | Development of Scientific Computing Software |
|
Outline | More |
CAS 746 Graduate | Advanced Topics in Combinatorial Optimization |
|
Outline | More |
COMPSCI 4O03 Undergraduate | Linear Optimization Algorithms |
|
More | |
COMPSCI 4TE3 Undergraduate | Continuous Optimization Algorithms |
|
More | |
COMPSCI 4X03 Undergraduate | Scientific Computation |
|
More | |
COMPSCI 6O03 Graduate | Linear Optimization |
|
Outline | More |
COMPSCI 6TE3 Graduate | Continuous Optimization |
|
Outline | More |
ENGPHYS 2CM4 Undergraduate | Computational Multiphysics |
![]() |
Outline | More |
ENGPHYS 3NM4 Undergraduate | Numerical Methods for Engineering |
Sessional Instructor: TBD
|
Outline | More |
MECH ENG 3F04 Undergraduate | Modelling and Numerical Solutions |
![]() |
Outline | More |
MECHTRON 3DX4 Undergraduate | Dynamic Models and Control of Physical Systems |
|
More | |
SFWRENG 3DX4 Undergraduate | Dynamic Systems and Control |
|
More | |
SFWRENG 3GB3 Undergraduate | Game Design |
|
More | |
SFWRENG 3MX3 Undergraduate | Signals and Systems |
|
More | |
SFWRENG 3O03 Undergraduate | Linear Optimization |
|
More | |
SFWRENG 4TE3 Undergraduate | Continuous Optimization Algorithms |
|
More | |
SFWRENG 4X03 Undergraduate | Scientific Computation |
|
More | |
SFWRTECH 4AI3 Undergraduate | Artificial Intelligence |
|
Outline | More |
Security, Privacy, and Data Analytics

Reliability and power of data analytics and developing algorithms, tools, and platforms to protect privacy and security.
Organizations are collecting increasingly vast amounts of data with the goal of using data analytics to make better decisions and to provide solutions that are better targeted to individuals, as well as identifying anomalous behaviour that could indicate malicious activity. At the same time, these large datasets, as well as other personal, financial, business, and government information assets are attractive targets for hackers, criminals, and nation-state adversaries, threatening the privacy and security of citizens. At McMaster, our team is working on developing next-generation cryptographic algorithms and protocols, data cleaning and curation solutions, privacy governance and preserving tools, and anomaly detection techniques to ensure the safety and dependability of critical cyber and physical systems.

Research Groups
Related Faculty
Related Courses
Code | Title | Instructor | Outline | Info |
---|---|---|---|---|
CAS 767 Graduate | Information Privacy and Security |
|
More | |
COMPSCI 3IS3 Undergraduate | Information Security |
|
More | |
COMPSCI 3RA3 Undergraduate | Software Requirements and Security Considerations |
|
More | |
COMPSCI 4C03 Undergraduate | Computer Networks and Security |
|
More | |
SFWRENG 3RA3 Undergraduate | Software Requirements And Security Considerations |
|
More | |
SFWRENG 4C03 Undergraduate | Computer Networks And Security |
|
More |
Software Quality

Focuses on rigorous engineering approaches to building and evaluating dependable software applications.
Software is everywhere and in everything. It powers our entertainment, social media, financial and management systems, vehicles and transportation in general, medical devices and medical information systems. It even controls our production and use of energy. We have come to depend on software to an extent totally beyond expectation. With that dependence has come the realization that software has to be dependable, secure, and must not pose undue risks to its users. Software Engineering plays a pivotal role in this technological world. It builds on our knowledge from Mathematics, Computer Science, Economics, Management, and System Safety, to produce principles, models, methods and tools that help us build demonstrably dependable, secure, safe and efficient software systems.
Our group has expertise in essential areas of Software Engineering, including: Rigorous software development processes; Requirement formal approaches and tools, especially tabular expressions; Product families formal specification and architecture; Validation & verification of complex systems formal approaches applicable in practice; Multicore concurrency; Software Engineering approaches to Scientific Computation; Domain Specific Languages; Generative Programming specifically; and Model-Driven Engineering of Cyber-Physical Systems in general; and the Development and Certification of Safety-Critical Systems. We have applied our methods, tools and theories to the nuclear power industry, medical devices; automotive, financial legacy systems, water quality, and serious gaming. Our members are active in the Formal Requirements and Information Security Enhancement Research Group (FRAISE), the Gaming Scalability Environment project (G-ScalE), and the McMaster Centre for Software Certification (McSCert). We are co-founders of the Software Certification Consortium (SCC) a group of researchers and practitioners primarily in North America, from government agencies, industry and academia, and who are actively involved in building and certifying software-intensive safety-critical systems.
Related Faculty
Related Courses
Code | Title | Instructor | Outline | Info |
---|---|---|---|---|
CAS 703 Graduate | Software Design |
|
Outline | More |
MECHTRON 3TB4 Undergraduate | Embedded Systems Design II |
|
More | |
SFWRENG 2AA4 Undergraduate | Software Design I – Introduction to Software Development |
|
More | |
SFWRENG 3A04 Undergraduate | Software Design III – Large System Design |
|
More | |
SFWRENG 3BB4 Undergraduate | Software Design II – Concurrent System Design |
|
More | |
SFWRENG 3K04 Undergraduate | Software Development |
|
More | |
SFWRENG 3S03 Undergraduate | Software Testing |
|
More | |
SFWRENG 3XA3 Undergraduate | Software Engineering Practice and Experience: Software Project Management |
|
More | |
SFWRENG 4G06A/B Undergraduate | Software Engineering Capstone Design Project |
|
More |
Theory and Methodologies of Computation

Create efficient algorithms to solve problems, and investigate computational models and their limits.
McMaster researchers are working on a wide range of topics in theoretical computer science, foundations of software engineering, and includes applications to knowledge representation and synthesis of software from mathematical specifications. Our researchers are active in exploring the limits of the problems that can be solved by computer programs, and in designing algorithms that solve problems on strings and networks effectively, with awareness for energy preservation. We design high-level formalisms for mechanised mathematics and logical specification of ontologies and software architecture, and develop tools for software synthesis using rigorous mathematical foundations.
Research Groups
Related Faculty
Related Courses
Code | Title | Instructor | Outline | Info |
---|---|---|---|---|
CAS 701 Graduate | Logic and Discrete Mathematics |
|
Outline | More |
CAS 702 Graduate | Data Structures and Algorithms |
|
Outline | More |
CAS 705 Graduate | Computability and Complexity |
|
Outline | More |
CAS 706 Graduate | Programming Languages |
|
Outline | More |
CAS 707 Graduate | Formal Specification Techniques |
|
Outline | More |
CAS 722 Graduate | Computing Patterns in Strings |
|
Outline | More |
CAS 724 Graduate | Concurrency Theory |
|
More | |
CAS 744 Graduate | Advanced Topics in Design of Algorithms |
|
More | |
CAS 758 Graduate | Advanced Compiler Design and Optimization |
|
Outline | More |
CAS 760 Graduate | Logic for Practical Use |
|
Outline | More |
CAS 775 Graduate | Foundations Unsupervised Learning |
|
Outline | More |
COMPSCI 2C03 Undergraduate | Data Structures and Algorithms |
|
More | |
COMPSCI 3AC3 Undergraduate | Algorithms and Complexity |
|
More | |
COMPSCI 3EA3 Undergraduate | Software Specifications and Correctness |
|
More | |
COMPSCI 6TB3 Graduate | Syntax Based Tools and Compilers |
|
More | |
COMPSCI 6TC3 Graduate | Recursive Function Theory and Computability |
|
More | |
ENGPHYS 4QC3 / 6QC3 Graduate | Introduction to Quantum Computing |
![]() |
Outline | More |
SFWRENG 2C03 Undergraduate | Data Structures And Algorithms |
|
More | |
SFWRENG 2DM3 Undergraduate | Discrete Mathematics with Applications I |
|
More | |
SFWRENG 2FA3 Undergraduate | Discrete Mathematics with Applications II |
|
More |