Because it benefits both the research and the student. The research gains from students' input and energy; and the student gains skills and insight that can far exceed what's covered in coursework or an internship. Depending on how much you engage with the research, it's possible to obtain lasting outcomes — including a poster, a demo of the research artefact, or a code release.
This research experience can be pivotal for deciding what to do after finishing your current degree program. It can help you decide what roles to apply for in industry based on the technical skills you develop.
If you're thinking of doing a PhD — or if you want to consider that option — then doing research as a student can give you a big boost. Research requires a completely different mindset from coursework. In addition to acquiring this mindset, doing research as a student can help you prepare for PhD research by assessing which research area you want to work in, understanding some of the state of the art, and learning relevant techniques. Both undergraduate and MS students can participate in research.
If you're considering enrolling for a PhD in Computer Science related to my research, then do read about funding opportunities.
If you're considering writing an MS thesis in Computer Science, then do read the departmental guidelines.
There aren't any formal prereqs, and the needed skills depend on the project. Taking a course with me helps me match you to ongoing work, and help you develop skills to improve the match with what I work on. Also, attending Networked-Systems Tech Talks will help introduce you to ongoing research or deployment themes, and introduce you to researchers and practitioners.
Currently I'm offering these student projects to both undergrad and grad students. Contact me if you have the necessary skills and wish to find out more:
Formally you can participate in two ways: for academic credit (through CS497 or CS597) or through a paid RA (Research Assistant) appointment.
It can take time to get results, so it's best to engage for at least one semester. The pace of the project depends on your technical preparation at the start of the project and the time spent on research each week.
Regardless of the project, it's important to finalize plans before the semester starts.
Examples of recent CS497/CS597 projects include:
The posters below describe recent and ongoing research projects that involve undergraduate and graduate students I work with.
Here are some other examples of outputs produced by other students I worked with, to give you an idea of what's possible in terms of outputs, scope and research area.
If you'd like to discuss project ideas or have any questions about research then contact me.