top of page


I am an experienced and versatile university teacher, having taught at all levels from introductory undergraduate (in Khmer) in Cambodia, through all levels of undergraduate and MSc level core and specialist courses in the UK, up to training academics in research methodology and metaheuristics.  I have developed new undergraduate and MSc degrees, and taught across a wide range of subjects in computer science, telecommunications and electronic systems engineering.

2019-09-17 08.50.18.jpg

Teaching at Northumbria

In my first semester at Northumbria, I taught Java programming (Processing) and object-oriented modelling & design to undergraduates and Java programme design & implementation (BlueJ) to Master's students. Subsequently, taught Java and C programming, systems analysis, team project & professionalism (predominantly full-stack web and games development), embedded systems and IoT to undergraduates, as well as developing a new distance-learning module on object-oriented programming for Master's students.  I was programme leader for two MSc courses, MSc in Computer Science with AI, and MSc Computer Science with Data Analytics.

Teaching at NPIC

At NPIC, I have taught in both the Computer Science and Telecommunications departments, as well being Chief Adviser to the Education Quality Office.  My main teaching has been small class teaching of academics, including Java, object-oriented design including design patterns, technical English, algorithms, research methodology and metaheuristics, wide-area network design, LTE mobile networks, probability and amateur radio (ARRL Technician and General level).  I also taught one undergraduate course (in Khmer) on introduction to programming languages (Logo and Ruby), and examined several final-year projects.

2017-12-04 16.06.26.jpg

Teaching at RUPP

My teaching at the Royal University of Phnom Penh on the MSc in Information Technology included network design and object-oriented analysis, design & programming.  I also supervised the top six students in their research projects.

Teaching at Essex

I taught a variety of lecture courses, from core and specialist MSc courses, through final-year down to introductory undergraduate level.  I also led the development, supervision and teaching in laboratories at most levels, from MSc software and networks, through undergraduate project, down to introductory programming labs.  For example, I was the founding supervisor of the MSc Networks Laboratory, a key component of the MSc in Computers & Information Networks.  I supervised student projects, the vast majority MSc, and acted as tutor at all undergraduate levels.  I served on several working parties: as chair of the working party that oversaw the transition of programming teaching from C to C++; as member (and chair for its final year) of the working party that introduced the BEng in Computers & Networks; as member of the working parties on the MSc in Computers & Information Networks,  the MSc in Computer Games Engineering, and the Postgraduate Diploma in Communication Systems; and as a member of the working party which reviewed MSc core courses in 1992-4.  At an individual level, I developed, organised and ran two MSc specialist courses, each of which was repeated for several years.  My teaching has been acknowledged externally by contributions to several MSc-level courses for BT, BNR and the University of London.  I have developed some of my lecture notes into a co-authored book in the highly-regarded IEE Telecommunications Series.  In addition I have attended short courses not only to aid my own teaching, but also to equip me to develop the teaching of others.  In my final year at Essex (as an illustration of my advanced teaching approach), I developed and lectured two MSc courses using both web-based overheads throughout and live demonstrations of Java applets, applications and network programming.

bottom of page