Patrice Belleville

Associate Head of Operations & Associate Professor of Teaching

Role Email
Office
ICCS
343
Office Phone #
604-822-9870

Academic Information

B.Sc., McGill University (1989); M.Sc., Computer Science, McGill University (1991); Ph.D., Computer Science, Simon Fraser University (1995); Post-Doctoral fellow, Computer Science, UBC (1995-1997); Lecturer, Computer Science, UBC (1997-1999); Instructor, Computer Science, UBC (1999-2004); Senior Instructor, Computer Science, UBC (2004-)

Selected Publications

Belleville, P., "Probing Polygons Minimally Is Hard", Computational Geometry: Theory and Applications, 2:255-265, 1993. (With T. C. Shermer).

Belleville, P., "CPSC 219: a Lab Course on Software Development", Sixth Western Canadian Conference on Computing Education, WCCCE 2001.

Keil, J. M. and Belleville, P., "Dominating the complements of bounded tolerance graphs and trapezoid graphs.", submitted to Discrete Applied Mathematics, 2001.

Belleville, P., "On the Complexity of Convex Covers in Ed", to appear in the International Journal Of Computational Geometry Applications.

Research Areas

computer science education

Research Groups

Interests

As an instructor, part of my responsibilities include curriculum development. I am thus interested in improving the manner in which we communicate knowledge to our students, as well as in selecting the information we provide, and in organizing it to better prepare the student for work in industry or further education. In particular, I want to find ways to provide additional information that is not, strictly speaking, part of the curriculum, in a manner that will motivate the students to access it (and learn it). I also plan to investigate ways to use animations to help students gain a better understanding of algorithms and data structures. My other main interest is computational geometry: a branch of computer science that studies algorithms for solving geometric problems. More specifically, my research has been focused on visibility and covering problems, as well as on geometric probing (how does a robot determine which object it is looking at, given some geometric information about that object?). Finally, I also study graph-theoretic problems, and efficient algorithms to solve them, as well as data structures.

Courses

2024 Winter
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
2022 Winter
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 121 - Models of Computation
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
2021 Winter
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
2020 Winter
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 121 - Models of Computation
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 320 - Intermediate Algorithm Design and Analysis
2019 Winter
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
2018 Winter
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 121 - Models of Computation
2017 Winter
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 121 - Models of Computation
2016 Winter
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
2015 Winter
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
CPSC_V 261 - Basics of Computer Systems
CPSC_V 121 - Models of Computation
CPSC_V 313 - Computer Hardware and Operating Systems
2014 Winter
CPSC_V 261 - Basics of Computer Systems
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 320 - Intermediate Algorithm Design and Analysis