Students can find information on the web-pages linked below and are advised to check out my schedule for lecture times and office hours.

Student Projects

If you are at Istanbul Technical University in your graduating year and want to do a graduation project or are just enthusiastic about research, check out the following list of possible topics:

  • Sound synthesis/sound generation (including spatial audio).
  • Sensory enrichment & sensory substitution for humans.
  • Robots/AIs learning how to act/plan.
  • Robot self-modelling.
  • Teaching computers to see depth from single images.
  • “Deep learning” for computer vision or robotics.
  • AI for (physics-based-) game playing.
  • Machine learning for physics simulation.
  • Using physics simulation to help with object tracking/
  • Automatic problem generation for Python introductory programming.
  • Making games to teach programming.
  • Creating discrete event simulations in Python.
  • Your own topic in robotics, AI or computer vision.



In the autumn I teach  Robotics and Introduction to Information Systems at Istanbul Technical University (İstanbul Teknik Üniversitesi). The former is a fun class where students learn about robots through the ubiquitous ROS system, assignments involving navigating mobile robots, and a self-directed term project. The latter is the first computing lesson our computer engineers will face and we give students the opportunity to work with various technologies, including Python, image processing, data processing, and web programming.


In Spring I teach Technical Communications for Computer Engineers and  Discrete Event Simulation. The former is a practical class where students get to apply their computer engineering knowledge while practising effective communication. The latter is an opportunity for students to get deeper into statistics and real-world computing, while exploring a new computing paradigm.


In From 2014-2013 I taught Computer Ethics. The primary aim in that course is to get students thinking about issues in computing they may not have encountered before.


AI and pedagogy are far from unrelated, particularly in such interesting educational domains as first year programming. Consider this question: What is the relationship between encapsulation in a Java, Python, C++ or SmallTalk Object, and regularities in affordance or causal compactness found in a real object like a SPOON or a SMALL STUFFED DUCK? Examples, like the spoon, are of importance in teaching too.

More practically, I think that my main job as a teacher is to make things so interesting that people can’t help but want to learn. There are few things more rewarding than suddenly finding oneself elbow deep in a topic and eager to go up to the shoulders or further.

Below are details of former teaching activities.

Istanbul Bilgi University

I have formerly created courses in computer graphics and mobile robotics at Istanbul Bilgi University.

While there, I also developed the academic skills streams of software engineering, computer science and undergraduate dissertation courses.

I also supervised a small number of dissertations.

(click “login as guest” to get access to the course websites)


At the University of Birmingham I lab managed and did the laboratory tutoring for students in the Intelligent Robotics and Computer Vision courses. I also gave some guest lectures.

I also tutored in Introductory Java and Introduction to Databases.

University of Auckland

While at the University of Auckland I worked as a general demonstrator in the Computer Science laboratories, helping students with problems from every part of computer science.