## Mark PetrickLecturermdtpetri@uwaterloo.ca David R. Cheriton School of Computer Science Office: DC 3109 Phone: 519.888.4567 ext. 31755 |

In Winter 2014, after being a sessional lecturer for a few years, I accepted a full-time faculty position as a Lecturer at UW. This position focuses on teaching and CS academic advising with committee work.

- CS 240 Data Structures and Data Management
- CS 241 Foundations of Sequential Programs

- CS 241 Foundations of Sequential Programs (2 sections)

- CS 241 Foundations of Sequential Programs (2 sections)

- CS 240 Data Structures and Data Management
- CS 241 Foundations of Sequential Programs

- CS 241 Foundations of Sequential Programs (2 sections)

- CS 136 Elementary Algorithm Design and Data Abstraction (3 sections)

- CS 240 Data Structures and Data Management (3 sections)

- CS 136 Elementary Algorithm Design and Data Abstraction (3 sections)

- CS 240 Data Structures and Data Management
- CS 360 Theory of Computing

- CS 135 Designing Functional Programs (3 sections)

- CS 466 Algorithm Design and Analysis
- CS 240 Data Structures and Data Management (2 sections)

- CS 135 Designing Functional Programs (3 sections)

- CS 341 Algorithms (2 sections)

- CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)

- CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)

- CS 341 Algorithms (2 sections)

- CS 341 Algorithms (2 sections)

- CS 135 Designing Functional Programs (3 sections)
- CP 102 Information Processing with Microcomputers (2 sections at WLU)

- CS 240 Data Structures and Data Management (3 sections)

- CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)
- CP 102 Information Processing with Microcomputers (2 sections at WLU)

- CS 360 Theory of Computing
- CS 135 Designing Functional Programs
- CP 102 Information Processing with Microcomputers (at WLU)

- CS 360 Theory of Computing
- CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)

- CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)
- CP 102 Information Processing with Microcomputers (2 sections at WLU)

- CS 136 Elementary Algorithm Design and Data Abstraction
- CP 102 Information Processing with Microcomputers (at WLU)

- CS 360 Theory of Computing
- CS 136 Elementary Algorithm Design and Data Abstraction

- CS 115 Introduction to Computer Science 1 (2 Sections)
- CP 102 Information Processing with Microcomputers (at WLU)

- CS 241 Foundations of Sequential Programs

- CS 241 Foundations of Sequential Programs

- CS 230 Introduction to Computers and Computer Systems

- CP 213 Object Oriented Programming in Java (at WLU)

- CS 360 Theory of Computing

- CP 264 Data Structures in Java

- CS 0314 Introduction to Computers for Engineers (at Lakehead University)

- Math 1281 Discrete Mathematics I & II

- CS 1431 Data Structures in C

- Morphing orthogonal planar graph drawings, with Therese C. Biedl, Anna Lubiw, and Michael J. Spriggs, ACM Transactions on Algorithms 9.4 (2013), 29.
- Morphing planar graph drawings with bent edges, with Anna Lubiw, J. Graph Algorithms Appl. 15.2 (2011), 205-227.
- Disjoint clique cutsets in graphs without long holes, with E.M. Eschen, C.T. Hoang, and R. Sritharan, Journal of Graph Theory 48, 2005, 277-298.