CS 594 Final Project
Overview of Project Expectations and Requirements
The purpose of the final project of this course is to encourage students to exchange their ideas about representations in computer science from both theoretical and practical
viewpoints, although most of this course focuses on theoretical results.
This is a solo project. Each student needs to work on their own.
You can choose between the following three kinds of research projects:
-
Survey your past or ongoing research project from the perspective of representations.
What are the representations used in your research?
How do you make use of these representations?
-
New research project.
Choose a topic you are interested in that is related to representations in computer science, from either a theoretical or a practical perspective.
Do some preliminary research on the representation and its potential applications.
- Survey of existing research or engineering work. You are suppose to choose a topic that use representations to solve some problem, read several (usually two or three) research papers or engineering reports related to this topic,
and write a survey based on your understanding.
Non-theory topics are strongly encouraged.
The timetable for final project will be as follows:
-
March 5: Turn in a brief (1-2 paragraph) project proposal to
me by email, describing your chosen topic, the resources you will use.
March 31: Turn in a progress report (1 page) summarizing
your topic, research question, and progress to date.
-
April 16-30:
Final project presentations.
The presentation time is 14 minutes per person.
-
May 10:
Final project report (1-2 pages).
Here are titles of some research projects for this course from previous semesters:
-
Improving test coverage with graph representation (software/system)
-
Transitive closure for dynamic algorithms (algorithm)
-
Identifying insufficient data coverage for ordinal continuous-valued attributes (database)
-
Cayley graph and Cayley hash (data structure)
-
Different graph-based algorithms used for web-search (web)
-
Graph based fingerprint representation and matching algorithm (HCI)
-
Short cycle decomposition (algorithm)
-
Different algorithms used for matrix multiplication (algorithm)
-
Learning deep representations of data distributions (machine learning)
-
Representation learning via graph embedding (machine learning)