There are two main ways to get involved as an undergraduate (both available over the summer):
1. Project Courses
COMP 396, COMP 400, and COMP 401 are courses where you conduct an independent research project under the supervision of a professor. They are worth 3 credits and take up about 9-12 hours/week during a semester. This is a good option if you want to try out research or study a topic a little deeper, while gaining credits. There are some examples of previous projects at the end of this page.
You can find some COMP 396 listings here, however they are not the only options available. The best method is to contact professors researching topics you are interested in. Also, you don't have to limit yourself to COMP 396 - it is very doable to do research projects related to computer science in other Science departments (XXX 396). Learn more here.
2. Research Assistant Positions
Unlike project courses, research assistant positions are formal positions in a lab. The position is usually paid and you should apply to NSERC funding, if you are eligible, so watch out for the deadline. If you're not eligible for NSERC, it is still possible to get paid. Professors have grants and budgets to hire students.
You can find some listings here, but again don't limit yourself to this, it is not extensive. Reaching out to professors or labs is the best method to finding a research position.
Some tips on reaching out to professors:
1) Talk to your professors and peers – it can be a daunting task to talk to a professor when class sizes fill up the entirety of Leacock 132, but note that the professors at McGill would love to get to know you and help you. Read up on their current research; if their work is something that excites you, do not hesitate to get in contact with them about a possible position. It is best to talk to them in person as professors receive many emails every day. Try their office hours. Even if professors don't have any positions open, they usually will direct you to other professors - so it is always worth a try! Upperclassmen and alumni are also great resources to both help find opportunities as well to receive guidance on how to apply to these positions.
2) Figure out what you like and don't like – There is a wide variety of research being done at SOCS. Spend some time reading through professors' current research and the different labs at SOCS. Doing research in a topic requires interest in the topic. This will help you narrow down who to reach out to. Don't be afraid to reach out to professors who you have never met. Professors want students who are passionate about the topic they are researching.
3) Other departments – There are many computer science related projects that are conducted outside of the department of computer science. Make sure to check out different departmental websites regarding possible research postings that are open. You may be surprised at the number of science projects that require computer science with just a small amount of background in the department you are applying within.
4) Research events – Be sure to attend a variety of research events. These events will usually involve professors giving talks about their research as well as ways for you to join them. Events include departmental talks, student-run symposiums, and presentations like soup & science.
For more info visit: http://www.mcgill.ca/science/research/ours/how
Examples of Previous Research Projects:
Here are a few examples of projects completed by your peers:
COMP 396 "Use Case Map Support for TouchCORE" - Jerry Wei under Prof. Kienzle
COMP 401 "The Implementation of Historical Trend Views of Patient Questionnaire Answers on OPAL" - Bejal Lewis under Prof. Hendren
COMP 396 "OPAL Patients’ Committee Web Portal" - Kayla Branson under Prof. Hendren
HGEN 396 "Difference Map Optimizer a new method for the unconstrained global optimization of multivariate scalar functions" - Jacob Errington under Prof. Gravel
PHYS 396 - Brendan Games Gordon under Prof. Cowan (McGill Space Institute)
"I wrote scripts to run a Python-based MCMC package on the Calcule Québec clusters. The code fit Spitzer Space Telescope photometry of extrasolar planets in order to
estimate their temperature, cloudiness, and heat transport. The use of high-performance computing facilities allowed us to use higher-fidelity detector models and hence obtain more precise parameter estimates with accurate uncertainties."
We are looking to add to this list, so please send us your project if you have done one!