I am currently looking to supervise high-quality students under any of the following UOIT graduate programs:
Interested students are encouraged to consult the degree requirements for the programs and contact me for more information.
CSCI 3040U - Software Engineering I: Requirements, Design and Analysis (Fall 2010)Description: This course introduces students to the development of software systems including systems that consist of multiple programs with long life cycles. Topics covered in this course include software process, software requirements, software architecture, design patterns, notations and techniques for software design and analysis. |
CSCI 5100G - Development of Concurrent Software Systems (Fall 2010)Description: This course is an introductory graduate course to software development for concurrent software with an emphasis on design, implementation and verification. Topics in the design and implementation of concurrent software include: design patterns for concurrency, programming with threads, programming in coordination languages. Topics in the verification of concurrent software include: static analysis, model checking and testing. |
CSCI 2030U - Programming Workshop (Winter 2011)Description: This is an intensive course on computer programming that covers both theory and practice. The lectures introduce modern concepts in program design and construction along with advanced features of modern object oriented programming languages. The laboratories and assignments provide an opportunity to apply these concepts to practical programming problems. Topics that are covered in this course include program design, problem solving strategies, program documentation, object oriented program design, inheritance, templates and standard template libraries. |
CSCI 3060U - Software Engineering II: Software Quality Assurance (Winter 2011)Description: Building on previous software design courses, this course concentrates onthe rigorous development of high quality software systems. Topics covered in this course include software process, software verification and validation (e.g., testing, inspection), software metrics and software maintenance. A major team project is an important feature of this course. |
| Course Code and Name | Date |
|---|---|
| CSCI 2030U - Programming Workshop | 2009-10 |
| CSCI 2050U - Computer Architecture I | 2007 |
| CSCI 3040U - Soft. Eng. I: Requirements, Design and Analysis | 2008-09 |
| CSCI 3050U - Computer Architecture II | 2008 |
| CSCI 3060U - Soft. Eng. II: Software Quality Assurance | 2008-10 |
| CSCI 4620U - Human-Computer Interaction / ENGR 4850U - User Interfaces |
2008-09 |
| CSCI 5100G - Development of Concurrent Software Systems | 2010 |
| CSCI 5540G - User Interface Technology | 2009 |
| CISC 327 - Software Quality Assurance (Queen's University) | 2005 |