Waterloo Computer Science Research Group
Inspired by Berkeley's CSRG, the Waterloo Computer Science Research Group (WCSRG) is a student research group at the University of Waterloo. Unlike student design teams, WCSRG is research-focused. Students are assigned to specific projects or may propose their own initiatives, provided they align with the established guidelines outlined below.
Research Areas
Low-Level Programming
- Operating systems
- Compilers
- Network protocols (TCP/IP, etc.)
- Hardware protocols (USB, Bluetooth, WiFi)
Hardware
- CPU architecture (RISC-V, CHERI, Sail language)
- FPGA and ASIC design
- Hardware description languages (Chisel, SystemVerilog, VHDL)
- Quantum computing
Algorithms & Data Structures
- Cryptography (blockchain, cryptocurrency)
- Quantitative finance
Artificial Intelligence
- Machine learning
- Large language models
- Vector stores
- Retrieval-augmented generation
Activity
Students may join existing research topics or propose their own. The goal of this research group is to provide resources and connections to find assistance, build relationships with professionals in the field, and create opportunities to present research at seminars, academic conferences, and other venues.
Rules
- All source code must be distributed under the BSD-2-Clause License (FreeBSD License or Simplified BSD License). See the license page for full text. Other BSD family licenses, MIT License, and Apache License may be used if there is a valid reason (e.g., creating an LLVM fork), but this requires unanimous agreement among all members. The use of GPL-family or CDDL licenses is prohibited.
- All research must be conducted for non-commercial purposes. Members cannot initiate new projects with the intention of commercialization. Activities related to securing funding and grants are permitted once all members agree, and the use of such funds is reasonable and clearly defined.
- All activities in this group must follow the University of Waterloo's policies, including academic integrity guidelines.
- Content generation using large language models (LLMs) for code, documentation, or any other production materials is prohibited. LLM-assisted bug fixes and proofreading are permitted.
Join Us
To apply, submit your resume and a cover letter via email explaining why you wish to join WCSRG. Be specific and detailed about your interest, whether you plan to participate in existing projects or initiate a new one. If your application meets our expectations, we will conduct an interview to assess your understanding of the relevant field and evaluate your potential to make meaningful contributions to the industry.
Please note that acceptance into the group is highly competitive. We recruit only serious candidates who are committed to upholding our reputation.
You may join the group during both academic and co-op terms. Both undergraduate and graduate students are welcome. At the start of every term, the group roster is reevaluated based on performance from the previous term. Members who have made significant progress will automatically be invited to continue.
Currently, we recruit students from the following programs:
- Computer Engineering
- Computer Science
- Electrical Engineering
- Nanotechnology Engineering (only for quantum computing projects)
- Software Engineering