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)