Home

Welcome to Senior Thesis I

Instructor: Hank Feild

Office hours: LSB113A M/W 10-11:30am; F 2-3pm; or by appointment

Syllabus: Download csc489-2018fa-syllabus-hf.pdf

Dropbox folder: http://bit.ly/csc489-fa18-dropbox Links to an external site.

Overview

This is the first of a two course series in which you will demonstrate the knowledge and skills you've accumulated over the past three years in the field of Computer Science. You will brainstorm a number of potential project ideas and narrow them down to a single one. By the end of the semester, you will have a prototype of your project as well as supporting technical documentation (this will be your Thesis I Document). You will also present your proposed project and prototype in a presentation to the class and other faculty. In Thesis II, you will complete the implementation of your project, update your technical documentation as needed, and present your project the Thesis Day poster session in May.

Schedule (as presented in the syllabus)

schedule

Important links

Project constraints

Projects must meet the criteria listed below unless otherwise stated. In addition, all projects must be approved by the instructor.

Projects must...

  • be open source -- code must be made available on GitHub or similar service during the semester and include an open source license
  • be either standalone products or extensions to existing products
  • be of substantial size—worthy of a year-long class
  • must have a significant computer science (read: programming) component

Some project ideas

Are you stuck for project ideas? Here are a few examples you can choose if you'd like.

  • An Endicott internship visualizer—overlays information about internship sites on a map; allows users to filter on student, year, major, etc. Stakeholders include students, advisors, internship coordinators, and administrators.
  • A course scheduling app that parses catalog information, the course of study, and a student's current schedule. Courses can easily be filtered by open status, whether they fit with the current schedule, if they meet a major or minor requirement, and whether they've already been taken by the student.
  • "Learn to Program C++"  game (or Java, JavaScript, etc.)
  • A wireframe/mockup application (web, preferably)

You can also ask faculty for things they'd like. For example, Prof. Lombardo in math has a number of interactive visualizations he'd like for teaching math concepts.

Motivation and related work examples