• Computer Architecture

  • Microcomputer Systems

  • System Programming: C and Assembler

  • Cryptography and Network Security

  • Operating Systems Administration: Unix

  • Operating Systems Design

  • Computer Networks 

  • Artificial Intelligence and Robotics

  • Cybercrime and Digital Forensics

  • Computer Organization I at University of New Brunswick

  • Computer Security Engineering at University of Victoria

Teaching is the most essential part of a professor’s career. I started to build my teaching philosophy when I was an instructor in the University of New Brunswick where I received my Diploma in University Teaching and taught two undergraduate courses on computer organizations. With about 20 years experiences in both industry and academia, my teaching specialization crosses broadly from the low-level courses, such as Operating System Administration and Computer Architecture, mainly for freshman/sophomore, to middle and high-level courses, such as System Programming, Computer Networks, Cryptography Network Security and AI and Robotics, for junior/senior students. In the past years of teaching at college, I offered the following courses in three universities, covering a broad range of topics in Computer Science, Engineering and Legal Studies on Cybercrime: