Teaching Activities

My teaching activities include: supervising graduate and undergraduate students, teaching classes at Tsukuba, teaching mini-courses at other institutions and companies, and coaching the ICPC programming contest team.

I am passionate about teaching and helping students develop their potential, and I love the opportunities to talk with and support creative people. I know I could be doing much more when it comes to Scientific Communication, so if you have any ideas of activities that I could help with, I'd be happy to hear them!

Student Supervision

This is the list of the students that I am currently supervising. If you want to join our group, please see this page for important information.

Name Type Topics
Yifan He PhD Student Genetic Programming, Self-Adaptive EC, Multi-Objective Optimization
Yuri Lavinas PhD Student Multi-Objective Optimization, Self-Adaptive EC, Fitness Landscape Analysis
Jair Pereira Junior PhD Student Self-Adaptive EC, Automated Algorithm Design
Fabio Henrique Tanaka Master Student Artificial Life, Soft Robots, Artificial Morphology
Alexandre Mascarenhas Master Student Optimization, Evolutionary Computation
Felipe Junior Master Student Game AI, Knowledge Modeling, Hidden Markov Models
Mario Tsukassa Sato Master Student Computer Vision, Machine Learning
Ricardo Carrilo Master Student Artificial Life, Artificial Morphology
Ryota Kamimura Undergraduate Game AI, Procedural Generation
Yuuta Kobayashi Undergraduate Self-Adaptive EC, Optimization

Former students are listed on the Alumni page.


I am teaching the following lectures at the University of Tsukuba. Some of these lectures have open materials: be sure to check their webpage!

  • Experiment Design for Computer Science (0AL0400): This lecture teaches basic concepts of experimentation and analysis of experimental data to novice CS researchers. Webpage
  • Topics in Computational Sciences I (0AL5402): This colloquium style lecture bring speakers from several areas to introduce new ideas for our master students.
  • Programming Challenges (GB20602): This lecture aims to improve the programming skill of our undergraduate students using programming competitions. Webpage.
  • Mathematics for Computer Science (GB13604): This lecture teaches basic mathematical concepts useful for CS majors.
  • Introduction to Information Science: Computation (GA12201): This lecture introduces different areas of CS research to 1st year undergraduate students.
  • Introduction to Programming (GA18112): This lecture teaches the basics of python programming to 1st year undergraduate students.

External Courses

I have participated in several non-regular teaching activities. Here is a short list of recent ones. A more detailed list is on the External Courses page.

  • 2019 - Introduction to Blackbox Optimization course at Jaxa Laboratory, Tsukuba;
  • 2019 - External Advisor at Binus University, Indonesia;
  • 2014 to 2019 - STEMinar project, short course for high schoolers on Game Programming and Artificial Life
  • 2018 to 2019 - "Machine Learning from Zero": extension program on machine learning by the Center for Artificial Intelligence Research, Tsukuba.