Teaching

The following are undergraduate and graduate level courses I am scheduled to teach at the University of Guelph:

University of Guelph, School of Computer Science (Graduate Level)

  • CIS*6650 -- Topics in Computer Science (Generative AI) (Winter 2025)
  • University of Guelph, School of Computer Science (Undergraduate Level)

  • CIS*4150 -- Software and Testing (Fall 2024)
  • CIS*4010 -- Cloud Computing (Winter 2025)


  • The following are undergraduate and graduate level courses I have taught at McMaster University, Brock University, and Sheridan College: 

    McMaster University, Computing and Software Department (Undergraduate Level)

  • Computer Science: Introduction to Programming I (CS1MC3)
  • Computer Science: Computer Science II (CS1MD3)
  • Computer Science: Introduction to Computer Science (CS1MA3)

  • Brock University, Faculty of Education (Graduate Level)  

  • Research Methods for Masters students, (EDUC 5P92)

  • Sheridan College, School of Applied Computing:

    Professional level courses: (bachelor degree required as pre-req)
  • Computer Programming I, II and RAD (Information Technologies Professional)
  • Operating Systems: Linux and Oracle (Enterprise Database Management)
  • Database Administration (Enterprise Database Management)
  • Database Networking (Enterprise Database Management)
  • Database Backup and Recovery (Enterprise Database Management)
  • N-Tier Database Application Development (Enterprise Database Management)
  • Introduction to Oracle: SQL and PL/SQL (Oracle DBA Program)
  • Enterprise Database Architecture and Administration (Oracle DBA Program)
  • Backup and Recovery (Oracle DBA Program)
  • Tuning and Performance (Oracle DBA Program)
  • Network Administration (Oracle DBA Program)

  • Programming courses: (undergraduate level)
  • Computer Fundamentals and Applications (1st year)
  • Visual Basic (1st and 2nd year)
  • Database Programming (2nd year)
  • Networked Databases (Programming on a LAN, 3rd year)
  • Programming - Introduction to C (2nd year)
  • Programming in C Part I (continuing education, 2nd and 3rd year)
  • Programming in C Part II (continuing education, 2nd and 3rd year)
  • Interactive C Programming (2nd year)
  • Introductory Programming with Borland C++ (1st year)
  • Object Oriented Programming with C++ (continuing education, 3rd year)
  • Object Oriented Programming with C++ (Computer Science students, 3rd year)
  • Client / Server Database Programming (C++, Java, 3rd year)
  • N-Tier Database Application Development (Java, Web Server, Oracle, 3rd year)
  • N-Tier Database Programming (Java: Distributed Programming, 3rd year)
  • Multi-Tier Programming (Java: Distributed Programming: J2EE, XML, 3rd year)
  • Software Design (3rd year)
  • Data Structures and Complexity Analysis (2nd year of Security degree)
  • iPhone Application Development (3rd year)
  • Mobile Computing (1st year of Honours Bachelor of Computer Science (Mobile Computing) degree)
  • Programming Lanaguages (2nd year of Honours Bachelor of Computer Science (Mobile Computing) degree)
  • Artificial Intelligence (4th year of Honours Bachelor of Computer Science (Mobile Computing) degree)
  • Ubiquitous Computing (4th year of Honours Bachelor of Computer Science (Mobile Computing) degree)

  • Mathematics courses: (undergraduate level)
  • Discrete Mathematics (1st year of Security degree)
  • Scientific Computing (4th year of Security degree)
  • Mathematics of Computers (1st year)
  • Elements of Mathematics (1st year)
  • Mathematics of Finance (1st year)
  • Statistics for Computer Science (2nd year)

  • Database courses: (undergraduate level)
  • Logical Database Design (2nd year)
  • SQL / PL/SQL (3rd year)
  • Database Administration (3rd year)
  • Database Networking (3rd year)
  • Database Backup and Recovery (3rd year)

  • Operating Systems and Computer Architecture courses: (undergraduate level)
  • Advanced Operating Systems (3rd year)
  • Computer Systems Design (3rd year)
  • Hardware Software Maintenance (2nd year)
  • Unix script programming and Internet applications (2nd year)

  • Supervisory courses: (undergraduate level)
  • Computer Science Technology Graduation Project: Thesis/Capstone Project Advisor (3rd year)
  • Computer Science Seminars (3rd year)
  • Thesis Inception Course  (4th year Honours Bachelor of Computer Science (Mobile Computing) degree)
  • Thesis Course (4th year Honours Bachelor of Computer Science (Mobile Computing) degree)