Theses in computer science - middcs/csinfo GitHub Wiki
Thesis Overview
The thesis is recommended for students who are looking for substantial independent research experience. In particular, if you are considering a research-oriented graduate program in CS, we strongly recommend completing a thesis. The thesis is completed across two terms: fall and winter of your senior year. We expect that students will do some preliminary work during the summer preceding the first term of their thesis.
To complete a thesis, you need to identify an advisor and register for CSCI702 by the end of the spring term prior to your senior year. The advisor must approve of your thesis topic before you can register. You will work closely with your advisor to shape your idea for the thesis, perform research, and write up your findings in a substantial thesis document. You will present your work to a committee of faculty at the end of J-term.
Any professor in the department can advise theses; the formal prerequisite is simply that you are a senior. However, each professor has guidelines for what they look for in a potential thesis students, as theses are challenging and we want to ensure that students are well-prepared to perform independent research. For instance, a professor may look for strong performance on an independent project in their elective. If you want to do a thesis in a certain area, we recommend that you look at these requirements (listed below) early so that you can make sure that you have satisfied them.
Unofficial Thesis Prerequisites
Christopher Andrews
- For any thesis:
- Students should have a specific sub-area of interest and ideally specific questions of interest
- For a thesis in generative art:
- Required: CSCI 467 or CSCI 465
- Preferred: any studio art or performance based class or experience
- For a thesis in computational creativity
- Required: CSCI 311 or CSCI 451
- Preferred: CSCI 467
- Preferred: any studio art or performance based class or experience
- For a thesis in visual analytics or information visualization
- Required: at least one of (CSCI 465, MATH 118, MATH 216, STAT 1230)
- For a thesis in HCI
- Required: CSCI 312, CSCI 466
- Preferred: some coursework in SOCI or PSYC
Laura Biester
- For a thesis in NLP:
- Required: CSCI 457 (including a strong final project)
- Preferred: CSCI 1051 or 451, and has completed summer research
- A general area within NLP that they would like to pursue (required) and a specific research question and/or dataset that they want to focus on (preferred). Prior to committing to do the thesis, it must be clear that (a) there is an appropriate dataset for the question(s) that the students would like to answer (or it could be easily constructed) and (b) the computational resources required to complete the work are not beyond those that are available.
- Preferred: a topic that relates to my broad area of interest in NLP and computational social science
Philip Caplan
- Required: MATH 200 and at least one elective from CSCI 422, 425, 461
- For a thesis directly related to my research projects:
- List 2 - 3 favorite topics from the electives listed above.
- Implemented a program to calculate Voronoi diagrams with halfspace clipping (can be done in 422, summer research or as a side project).
- For a thesis not directly related to my research projects (but still in the area of computational geometry and computer graphics):
- 1 paragraph (with potential title) describing (1) the research question and (2) at least 1 paper (conference or journal) about existing work related to this topic.
Phil Chodrow
- For a thesis in applied machine learning:
- I generally discourage these.
- The student must have identified an exceptionally unusual and interesting data set and research question.
- Required: at least one course at the level of STAT 218, CSCI 1051, or CSCI 0451 (preferred when possible)
- For a thesis in network science or theory of complex systems
- Required: MATH/STAT 310 (Probability) or CSCI 0442 (Network Science)
- Preferred: multiple CS electives that have MATH 200 as a prerequisite
- Strongly preferred: summer work with me prior to thesis writing.
Matthew Dickerson
- For a thesis related to agent-based modeling:
- Required: taken CSCI 390 or has independently learned agent-based modeling and is familiar with the ODD design methodology.
- Preferred: has a possible phenomena to model, with field studies or perhaps an non-spatial agent-based model to adapt to a spatial context.
- For a thesis in computational geometry or geospatial algorithms and data structures
- Required: Has taken an elective related to computational geometry (e.g. CSCI 422 or 425) or something related to geo-spatial computing (such as CSCI 390) and has already completed CSCI 302.
- Strongly preferred: A topic of mutual interest to both student and advisor–for example: Voronoi diagrams, near-neighbors problems, or proximity-based triangulations such as Delaunay, greedy, or minimum-length.
Pete Johnson
- For a thesis in systems, networks, or security:
- Required: successful completion of CSCI 0315 or equivalent, having contributed significantly to most of the core assignments.
- Strongly encourage having at least an idea of topic of interest within systems, networks, or security (eg, filesystems, scheduling, quality of service, Tor).
- Ideally even a specific question of interest to pursue.
Shelby Kimmel
- For any thesis:
- Strongly preferred: you have taken a class or have done research with me, and have demonstrated excellent curiosity, effort, and independence
- For a quantum computing related thesis:
- Required: taken CSCI 333 or has independently learned quantum computing (up to familiarity with quantum factoring, searching algorithms)
- Strongly Preferred: summer research with me or quantum computing research through an REU
- Preferred: has ideas for a research question
- For a non-quantum computing related thesis:
- Required: a narrow topic area you want to study, questions you want to ask and a strategy for how you might answer them
- Strongly preferred: A topic in theoretical computer science (algorithm analysis or design, complexity theory, models of computation, etc.) While there can be a numerical or modelling component, it should be in service of a theoretical question.
Michael Linderman
- In general, I have looked for relevant advanced coursework or prior research in that area (e.g., prior REU project).
- For projects related to my research, I have looked primarily for interest in genomics, since there is not necessarily relevant coursework, and experience/coursework with machine learning.
Andrea Vaccari
- For a thesis in image processing:
- Required: taken CSCI 452 or has proven prior experience in image analysis projects (biological, biomedical, remote sensing, etc. - specific field is not that relevant).
- Required: a project strictly related to image processing, analysis, interpretation
- Preferred: completed summer research with me
- For a non-image processing thesis
- The project can be theoretical or applied.
- Required: The project should be driven by a clear question
- Strongly preferred: in conjunction with a draft plan on how you plan to get to an answer.
- Preferred: a topic "broadly" related to signal/image/video analysis, modeling of physical phenomena through data analysis.