Home
Welcome to Senior Thesis I
Instructor: Hank Feild
Office hours: LSB113A M/W 10-11:30am; F 2-3pm; or by appointment
Syllabus: csc489-2018fa-syllabus-hf.pdf 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)
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.