Research Project

This course includes a special project track for projects that are considered more “research” than purely software development. Some examples:

  • Exploring how to use artificial intelligence to play a simulated game or recognize images
  • Developing a software tool to interface with lab equipment that requires a large amount of trial and error
  • Writing a tool that uses data science techniques to analyze data and answer a question or hypothesis
  • Developing a new educational software tool, where the major focus of the project is collecting user feedback and analyzing results to continuously improve the software.

To be truly considered research, your project generally must conform to these requirements:

  1. Your project should have a significant experimental component, including a clear hypothesis or research questions to be answered.
  2. Your project, when complete, should lead to a written research paper or poster presentation that could be submitted to relevant conferences or journals.
  3. You are working closely with a researcher or research group on this project.
  4. You are eligible to (and should) enroll in CIS 497 - Undergraduate Research for 0 credit hours. (You cannot earn additional credit hours for a CIS 598 project)

If you feel that your project fits these requirements, you may choose to follow the project guideline adaptations listed below instead of the usual CIS 598 guidelines. Please clearly inform the instructors of the course that you are choosing this pathway early in the semester.

Initial Artifacts

You are still required to submit the initial writeup and feature lists. However, your outline may be modified to the following:

  • Writeup: prepare a short, 1 page writeup that describes your project topic. It should give some basic use-cases and a rough idea of the architecture or platforms you plan on using in the project. Your writeup must include clear sections containing the following:
    • Problem/Solution A clear statement of a problem that you are trying to solve, and how your project will fill the role as a solution to that problem. There are many ways to approach this statement - consult the course instructors for assistance if you are unsure how to phrase your project in this way.
    • Algorithmic Functionality A clear statement of the intended algorithmic functionality of your project. Your project must include some algorithmic functionality beyond the basics. For example, a web application should provide more than just the basic CRUD database operations. Likewise, a video game should include some complex algorithmic component such as procedurally-generated terrain or a learning AI beyond just simple, hard-coded content.
    • Student Qualification A clear statement explaining why you are qualified to take on this project. You must describe your background and experience with the chosen project and related technologies. If you have no prior experience, consider choosing a different project.
    • Project Advisor List your project advisor. You must have permission from your advisor confirming that they will supervise your project before submitting!
  • Research Project: prepare information for your project that clearly addresses the following:
    • Background/Related Work briefly discuss any background or related work relevant to your project. Citations for this section are expected.
    • Hypothesis/Research Questions clearly state and discuss the hypothesis and research questions your project is attempting to answer.
    • Experimental Design discuss the initial experimental design for your project. You should clearly answer how your project will attempt to answer the research questions listed above.
    • Publication Pathway state your intended pathway for publication at the end of this project. You should plan on creating a research paper, journal article, and/or poster to present the findings of your research.

Presentation 1

Your first presentation should clearly describe the research project and plans. The presentation should be roughly 8 minutes in length, and cover the following topics:

  • A brief overview of the project.
  • Relevant background and related work.
  • A discussion of the research questions or hypothesis.
  • Tools, languages, frameworks, or APIs to be used.
  • A proposed publication pathway
  • A proposed timeline for project completion.

Presentation 2

Your second presentation should clearly describe the experimental design of the project and any relevant software. The presentation should be roughly 8 minutes in length, and cover the following topics:

  • The chosen experimental design for the project.
  • A plan for data collection and analysis.
  • A discussion of how the research questions or hypothesis will be answered by the analysis.
  • Relevant software design diagrams.
  • Plans for testing or validation of the results.

Final Presentation

The presentation should be roughly 30-45 minutes in length, and cover all aspects of the project. A recommended outline is below:

  • Introduction
  • Background & Related Work (including citations)
  • Hypothesis/Research Questions
  • Experimental Design
  • Software Design & Implementation (Diagrams, Languages, Frameworks, Code Structure)
  • Data Collection & Analysis
  • Results & Interpretation of Results
  • Packaging & Deployment (if applicable)
  • Live Demo (if applicable)
  • Future Work
  • Conclusion
  • Q&A

Final Artifacts

See Final Artifacts. The requirements are the same.


While actual publication of any research papers and posters is not required as part of this project, it is highly recommended that you include a plan for completing this work as part of your project. Your advisor can help with this process.