Project 2: Improve an Open Source Java Project

In this project, you will be updating an existing open source Java project by either fixing a bug or adding a new feature. By Monday 4/27 you should have confirmed with me:

  1. What project you are working on, and
  2. What bug or new feature you plan on fixing

You may change your mind after 4/27 with approval from me. You may work with a partner.

Instructions

  1. Create a github account (you will need to upload your source code here for full credit)
  2. Pick a project & an improvement
  3. Plan your change (involves understanding the parts of code related to your bug or feature). I recommend using File search and the debugger to help understand the code.
  4. Make your change
  5. Test your change
  6. Upload your modified code to github
  7. Export your change as a zip file & upload to moodle, along with the url to your github project.
  8. Extra credit: perform a pull request to add your change into the official project source code.

For more information on git, see:

Directions for importing DrewSuperMario from Github

  1. Create a github account
  2. Install SourceTree
  3. Create a repo for your team by forking DrewSuperMario: https://github.com/emhill/DrewSuperMario.git. (If you’re not working with a partner, you can skip this step and just clone the repo to your local machine.)
  4. And then clone the repo to your local machine using SourceTree: New Repo -> Clone from URL
  5. Import your new clone into Eclipse by navigating to the path with File > Import > Existing Projects Into Workspace > Select root directory > & navigate local git path (not URL)

Team workflow using git:

Once you’re ready to share your changes with the class, then issue a pull request (directions to come).

Example projects

You may select any open source Java project. Below are some recommended programs that I have already imported into Eclipse.

Java Mario Platformer

Ideas to improve:

Jajuk Advanced Jukebox

JFreeChart Library

Ideas to improve: