Skip to main content

Areas of Specialization

Computer Systems Logo

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 centers and wireless networks, mobile computing and pervasive sensing, immersive simulation software and hardware platforms, and dependable distributed systems. 

Research Groups

Related Faculty

Fei-photo

Dr. Fei Chiang

Assistant Professor

database systems; data quality; data privacy; data analytics; information extraction; text mining.

Douglas-photo

Dr. Douglas Down

Professor

performance evaluation; stochastic models; data centres; scheduling

Wenbo-photo

Dr. Wenbo He

Graduate Advisor - Computer Science

Martin-photo

Dr. Martin v. Mohrenschildt

Undergraduate Advisor - Mechatronics Engineering

Control, Signal Processing, Simulation, Sensors

Rong-photo

Dr. Rong Zheng

Associate Chair of Graduate Study

Mobile computing, wireless networking, cyber physical systems, active machine learning

Mark-photo

Prof. Mark Lawford

Professor

Software Engineering, Safety Critical Systems

View our Faculty Listing

Related Courses

Code Title Instructor Outline Info
CAS 704Graduate Embedded, Real-Time Software Systems
CAS 736Graduate Analysis of Stochastic Networks
CAS 745Graduate Supervisory Control of Discrete-Event Systems
CAS 771Graduate Introduction to Big Data Systems and Applications
COMPSCI 2GA3Undergraduate Computer Architecture
COMPSCI 3DB3Undergraduate Databases
COMPSCI 3GC3Undergraduate Computer Graphics
COMPSCI 3SH3Undergraduate Operating Systems
COMPSCI 4AD3Undergraduate / Technical Elective Advanced Databases List D : Software Engineering and Society Technical Electives
COMPSCI 4AR3Undergraduate Software Architecture
COMPSCI 4E03Undergraduate Performance Analysis of Computer Systems
COMPSCI 4F03Undergraduate Distributed Computer Systems
COMPSCI 4HC3Undergraduate Human Computer Interaction
COMPSCI 4WW3Undergraduate / Technical Elective Web Systems and Web Computing List E: Software Engineering Technical Electives
COMPSCI 6E03Graduate Performance Analysis of Computer Systems
COMPSCI 6F03Graduate Distributed Computer Systems
COMPSCI 6WW3Graduate Clone of Web Systems and Web Computing
MECHTRON 3TA4Undergraduate Embedded Systems Design I
MECHTRON 4AA4Undergraduate Real-Time Systems and Control Applications
SFWRENG 2DA4Undergraduate Digital Systems and Interfacing
SFWRENG 2GA3Undergraduate Computer Architecture
SFWRENG 3DB3Undergraduate / Technical Elective Databases List A : Mechatronics
SFWRENG 3GC3Undergraduate / Technical Elective Computer Graphics List D : Software Engineering and Society Technical Electives
SFWRENG 3SH3Undergraduate / Technical Elective Operating Systems List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
SFWRENG 4AA4Undergraduate Real-Time Systems and Control Applications
SFWRENG 4AD3Undergraduate / Technical Elective Advanced Databases List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
SFWRENG 4E03Undergraduate / Technical Elective Performance Analysis Of Computer Systems List A : Mechatronics, List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design
SFWRENG 4F03Undergraduate / Technical Elective Parallel Computer Systems List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
SFWRENG 4GC3Undergraduate Sensory Perception, Cognition And Human/Computer Interfaces For Game Design
SFWRENG 4HC3Undergraduate Human Computer Interfaces
SFWRENG 4J03Undergraduate / Technical Elective Communications Systems List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
SFWRENG 6GA3Graduate Real-Time Systems and Computer Game Applications
SFWRENG 6GC3Graduate Sensory Perception, Cognition And Human/Computer Interfaces For Game Design
SFWRENG 6HC3Graduate Human Computer Interfaces

View our Course Listing

Health informatics and Bioinformatics Logo

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

Ridha-photo

Dr. Ridha Khedri

Department Chair

Mark-photo

Prof. Mark Lawford

Professor

Software Engineering, Safety Critical Systems

Reza-photo

Dr. Reza Samavi

Program Coordinator - eHealth

privacy; security; data science; ontology engineering

Alan-photo

Dr. Alan Wassyng

Associate Professor

Safety and certification of software-intensive systems

View our Faculty Listing

Related Courses

Code Title Instructor Outline Info
CAS 757Graduate Modern Software Technology for eHealth

View our Course Listing

Scientific Computing and Optimization Logo

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

Douglas-photo

Dr. Douglas Down

Professor

performance evaluation; stochastic models; data centres; scheduling

Spencer-photo

Dr. Spencer Smith

Associate Professor

software engineering; scientific computing; requirements analysis; program families; finite element method

View our Faculty Listing

Related Courses

Code Title Instructor Outline Info
CAS 708Graduate Scientific Computation
CAS 740Graduate Numerical Methods for Ordinary Differential Equations and Differential-Algebraic Equations
CAS 741Graduate Development of Scientific Computing Software
CAS 746Graduate Advanced Topics in Combinatorial Optimization
COMPSCI 4O03Undergraduate Operations Research
COMPSCI 4TE3Undergraduate Continuous Optimization Algorithms
COMPSCI 4X03Undergraduate Scientific Computation
COMPSCI 6O03Graduate / Technical Elective Linear Optimization
COMPSCI 6TE3Graduate Continuous Optimization
MECHTRON 3DX4Undergraduate Dynamic Models and Control of Physical Systems
SFWRENG 3DX4Undergraduate Dynamic Models and Control of Physical Systems
SFWRENG 3GB3Undergraduate Modelling For Virtual Reality
SFWRENG 3MX3Undergraduate Signals and Systems
SFWRENG 3O03Undergraduate / Technical Elective Linear Optimization List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design
SFWRENG 3O03Undergraduate Operations Research
SFWRENG 4O03Undergraduate / Technical Elective Operations Research List A : Mechatronics
SFWRENG 4TE3Undergraduate / Technical Elective Continuous Optimization Algorithms List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives, List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design
SFWRENG 4X03Undergraduate Scientific Computation

View our Course Listing

Security, Privacy, and Data Analytics Logo

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

Fei-photo

Dr. Fei Chiang

Assistant Professor

database systems; data quality; data privacy; data analytics; information extraction; text mining.

Wenbo-photo

Dr. Wenbo He

Graduate Advisor - Computer Science

Ridha-photo

Dr. Ridha Khedri

Department Chair

Reza-photo

Dr. Reza Samavi

Program Coordinator - eHealth

privacy; security; data science; ontology engineering

Douglas-photo

Dr. Douglas Stebila

Assistant Professor

cryptography; network security

Rong-photo

Dr. Rong Zheng

Associate Chair of Graduate Study

Mobile computing, wireless networking, cyber physical systems, active machine learning

View our Faculty Listing

Related Courses

Code Title Instructor Outline Info
CAS 767Graduate Information Privacy and Security
CAS 770Graduate Advanced topics: Modern cryptography
COMPSCI 3IS3Undergraduate / Technical Elective Information Security List E: Software Engineering Technical Electives
COMPSCI 3RA3Undergraduate Software Requirements and Security Considerations
COMPSCI 4C03Undergraduate Computer Networks and Security
SFWRENG 3RA3Undergraduate / Technical Elective Software Requirements And Security Considerations List A : Mechatronics
SFWRENG 4C03Undergraduate / Technical Elective Computer Networks And Security List A : Mechatronics

View our Course Listing

Software Quality Logo

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

Jacques-photo

Dr. Jacques Carette

Undergraduate Advisor - Software Engineering

metaprogramming; mechanized mathematics; game design; programming languages; probabilistic programming

Ridha-photo

Dr. Ridha Khedri

Department Chair

Mark-photo

Prof. Mark Lawford

Professor

Software Engineering, Safety Critical Systems

Spencer-photo

Dr. Spencer Smith

Associate Professor

software engineering; scientific computing; requirements analysis; program families; finite element method

Alan-photo

Dr. Alan Wassyng

Associate Professor

Safety and certification of software-intensive systems

View our Faculty Listing

Related Courses

Code Title Instructor Outline Info
CAS 703Graduate Software Design
COMPSCI 2XB3Undergraduate Computer Science Practice and Experience: Binding Theory to Practice
MECHTRON 3TB4Undergraduate Embedded Systems Design II
SFWRENG 2AA4Undergraduate Software Design I - Introduction to Software Development
SFWRENG 2XA3Undergraduate Software Engineering Practice and Experience: Software Development Skills
SFWRENG 2XB3Undergraduate Software Engineering Practice and Experience: Binding Theory to Practice
SFWRENG 3A04Undergraduate Software Design II - Large System Design
SFWRENG 3BB4Undergraduate Software Design III - Concurrent System Design
SFWRENG 3K04Undergraduate Software Development
SFWRENG 3S03Undergraduate Software Testing
SFWRENG 3XA3Undergraduate Software Engineering Practice & Experience: Software Project Management
SFWRENG 4G06A/BUndergraduate Software Engineering Capstone Design Project

View our Course Listing

Theory and Methodologies of Computation Logo

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

Jacques-photo

Dr. Jacques Carette

Undergraduate Advisor - Software Engineering

metaprogramming; mechanized mathematics; game design; programming languages; probabilistic programming

Wolfram-photo

Dr. Wolfram Kahl

Associate Chair for Undergraduate Studies

George-photo

Dr. George Karakostas

Undergraduate Advisor - Computer Science

Ridha-photo

Dr. Ridha Khedri

Department Chair

Ryan-photo

Dr. Ryan Leduc

Graduate Advisor for Software Engineering, Mechtronics, and Virtural Systems Design

Bill-photo

Dr. Bill Smyth

Professor Emeritus

Jeffery-photo

Dr. Jeffery Zucker

Professor Emeritus

zip

View our Faculty Listing

Related Courses

Code Title Instructor Outline Info
CAS 701Graduate Logic and Discrete Mathematics
CAS 702Graduate Data Structures and Algorithms
CAS 705Graduate Computability and Complexity
CAS 706Graduate Programming Languages
CAS 707Graduate Formal Specification Techniques
CAS 722Graduate Computing Patterns in Strings
CAS 724Graduate Concurrency Theory
CAS 732Graduate Logical Foundations of Computer Science
CAS 744Graduate Advanced Topics in Design of Algorithms
CAS 770Graduate Advanced topics: Modern cryptography
COMPSCI 2C03Undergraduate Data Structures and Algorithms
COMPSCI 2FA3Undergraduate Discrete Mathematics with Applications II
COMPSCI 3AC3Undergraduate Algorithms and Complexity
COMPSCI 3EA3Undergraduate Software Specifications and Correctness
COMPSCI 3TC3Undergraduate Theory of Computation
COMPSCI 4TB3Undergraduate / Technical Elective Syntax Based Tools and Compilers List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
COMPSCI 4TC3Undergraduate Recursive Function Theory and Computability
COMPSCI 6TB3Graduate / Technical Elective Syntax Based Tools and Compilers
COMPSCI 6TC3Graduate Recursive Function Theory and Computability
SFWRENG 2C03Undergraduate Data Structures And Algorithms
SFWRENG 2DM3Undergraduate Discrete Mathematics with Applications I
SFWRENG 2FA3Undergraduate Discrete Mathematics with Applications II
SFWRENG 2S03Undergraduate Principles Of Programming
SFWRENG 3TC3Undergraduate / Technical Elective Theory of Computation List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives
SFWRENG 4E03Undergraduate / Technical Elective Performance Analysis Of Computer Systems List A : Mechatronics, List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design

View our Course Listing