Mark R. Greenstreet

Department of Computer Science
University of British Columbia
201-2366 Main Mall
Vancouver, B.C., Canada V6T 1Z4

voice:     (604) 822-3065
FAX:      (604) 822-5485
e-mail:   mrg AT cs DOT ubc. DOT ca
Office:    ICICS/CS 323
Hi. I'm Mark. Here's an introduction to what I do at UBC, and a bit about the rest of me.

My Research

My research is in formal verification. Informally, that means my students and I have fun solving mathematical puzzles to show that hardware and software designs do what they were intended to do. Real programs and hardware designs such a huge number of possibe inputs and behaviours, that there's no way we can test all of them by running the software, simulating the hardware, or running the hardware in the test lab. This is why bugs show up in real products. If you like solving mathematical puzzles, or if you've think formal verification could help you with your designs, click here.

My teaching

I enjoy teaching. Students are what make a university such a great place. I'm constantly inspired and challenged by the students at UBC, especially the ones that I get to know in the classes that I teach. I've taught courses at UBC on computer architecture, programming languages, automata theory, asynchronous design, and discrete mathematics. This year (2015/16), I'll be teaching a graduate introduction to formal methods and our undergraduate course on parallel computing. In 2015/16 Term 2, I'll also be teaching a graduate version of the parallel computing course, CS 521.

Prospective Grad Students

Working with graduate students on interesting research projects is one of the great joys of being a faculty member. I have funding to take on more students in the coming year. If you are interested, take a look at my research page and and my page for prospective students.


Click here.

Copyright 2015 Mark R. Greenstreet