How I Supervise Student Projects
What to Expect
The projects I supervise tend to involve the following characteristics:
They involve investigating state-of-the-art techniques in the field;
They involve developing your ideas on top of the existing ones;
They involve evaluating your ideas (implemented as programs) compared to the existing ones.
Most of my projects involve writing sort of programs. They are often Python programs/scripts, but Java could be used depending on the context. If you are not interested in programming but focusing on theoretical aspects, please let me know as soon as possible so we can position the project properly.
I am particularly interested in your ideas about tackling the problems posed by your project. For example, my initial project descriptions are often open to various directions, which is intentional so you can decide the direction of your project. Feel free to bring your ideas. This is not only for the project start. I tend to keep asking many questions rather than telling you immediate solutions. I believe this is the best for you to improve your critical thinking and problem solving skills.
Your Future Career
My projects tend to cover state-of-the-art techniques in the field of software testing, testing for AI, and mutation testing and are designed to cover several activities one could do in their PhD studies. In other words, my projects could be excellent opportunities to experience PhD study. When supervising projects, my ultimate goal is to guide the student towards work that could potentially lead to peer-reviewed scientific publication, provided that the work is of high quality and originality.
We will have one-to-one supervision meetings with me regularly (weekly or bi-weekly, depending on the progress), either in person or as a video call, unless there is an extenuating circumstance. For each meeting, you are expected to explain (1) what you did after the last meeting, (2) any problems or issues, and (3) your ideas/plans to address them. Of course, we will revise ideas/plans during the meetings if needed.
Oral presentation skill is one of the essential skills you must have for your future career, regardless of whether you want to pursue a research-oriented career or not. From time to time, I will ask you to prepare presentations to best explain the problems posed by your project and potential ideas to tackle them. Of course, I will give you enough feedback on your presentations, so you can improve your presentation skills over time.
It is important to manage data (papers, presentations, code) effectively. Once you start the project, I will set up a shared drive for you. Often, we will use GitHub projects to version control your code. At the end of each project, to support open science, we will make the project outcomes (e.g., programs, replication package of your experiments) publicly available with proper open-source licenses unless there is a confidentiality issue in the project. The open-source outcomes will become an asset for your future career.