Honors Project

For those of you who are in James Scholars of Campus Honor Program, you can do an honors project as part of CS 101.

Requirements

The project is open ended and designed to allow you to express your own interests and creativity. The requirements are:

  • written in Python or MatLab, estimated length at least 100 lines,
  • preferably an engineering focus, but it’s more important that you find the project interesting

You can incorporate a program you have written previously or a program someone else has written as long as you can clearly delineate what you have added to the program. Your own code is what will count towards the size.

The line count is meant to give the expected scope of the difficulty. This can be shorter if you have to do significant amounts of research or modeling first.

Procedure

  • Sign an Honors Credit Learning Agreement if needed.
  • Around mid-February, email both instructors with your project idea. Describe clearly what your program will do.
  • By the end of February you and the instructors will have agreed on a project description. Depending on the topic, we will assign you to one of the instructors as your main supervisor for the project.
  • Code it up!
  • At the beginning of April expect an email asking how things are going. We may agree to modify the project if it turned out to be too easy or too hard.
  • At the end of April schedule an appointment with one or both instructors to demo your project. The demo slots are about 30 minutes long, enough time for you to show how your program runs and to discuss your experiences with us.
  • Enjoy the shiny H that will appear next to your letter grade, and know that we will know you much better and will be able to write a more detailed letter of recommendation for you later if you need one.

Previous Projects

Here are some ideas for projects; some of these have been done by students in previous semesters, some have been suggested by colleagues.

  • Get a solarsystem dataset and calculate the transit times of verious objects.
  • Use Python to control an arduino board to automate something.
  • Simulate a chess board where the users can play a game and the computer can referee it.