Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 2.91 KB

jgrapht.md

File metadata and controls

42 lines (31 loc) · 2.91 KB

Back to catalogue

Why JGraphT?

JGraphT has served as the de facto standard Java graph data structure and algorithm library for more than a decade, and its activity levels and popularity have continued to grow over the years. But graph theory is a fertile and expansive field, so there's always more to do! By contributing to JGraphT, you'll be powering the projects of many academic researchers and industry developers now and in the future, and gaining real-world development experience for yourself.

What's Involved

Most of the projects on our ideas list are algorithm implementations or improvements. After ramping up on general familiarity with JGraphT, carrying out a project typically involves

  • reading relevant research papers
  • studying existing portions of our codebase
  • discussing approaches with mentors and the rest of the community
  • developing and testing an implementation in your own github branch
  • submitting a pull request for review
  • responding to code review comments
  • over and over until...
  • your pull request gets merged into trunk and eventually released!
  • and then you get your first bug report :)

For larger projects, the work may need to be broken up into a series of pull requests.

Application Instructions

  • Twitter: To apply, a student is asked to provide the following documents:
  1. CV, including:
    • educational background
    • relevant working experience
    • past research/programming projects
    • familiarity with programming languages, frameworks, development tools
    • references to your projects, e.g. github page, project page, etc.
  2. A short application letter (max 2 pages), stating which project(s) the student wants to apply for (see projects ), in order of preference. Explain why you want to take this particular project, and how your background will enable you to successfully complete the project within the allotted time.
    • which courses have you taken that are relevant for the project (e.g. "Graduate course on Graph Theory, URL).
    • do you have prior experience in code development? If so, briefly describe the project you have worked on, its context, and your role in the project.
    • What is your experience level when it comes to reading academic literature, papers, books, references?
    • How experienced are you in terms of code development?
    • Why are you applying for JGraphT? Also elaborate why you would like to work on a specific project?

If you have questions while applying, please contact admin@jgrapht.org. Applications will be reviewed by all JGraphT mentors. Our goal is to ensure that all students will be able to successfully complete their projects, and have a valuable learning experience. Consequently, for each application, we will assess how well the student's background prepares him/her for the project.