GSoC: 2018 Warmup task
If you're interested in working with the JGraphT project during the Google Summer Of Code 2018, here's a short warmup exercise to help you familiarize yourself with the JGraphT library.
Develop a Java application which can read a simple family tree in .dot (graphviz) format and compute the closest common ancestor of two people. For the .dot file, use Listing 1 from this PDF file. Given this file as the tree to work from, and the two inputs "Jon" and "Daenerys", the result should be "Aerys II The Mad". Or given the two inputs "Sansa" and "Arya", the result should be "Eddard".
If there are multiple common ancestors of equal distance, output all of them.
The Java application should take three parameters on the command line:
- name of .dot file
- name of person 1
- name of person 2
The result should be written to standard output.
- you can use your favorite IDE, or just a text editor, to write your code, and provide instructions for compiling it from the command line
- use the latest release of JGraphT via Maven dependencies
- publish your code as a new public repository in your own github account (do not submit it to the JGraphT project)
- this is NOT a speed contest. Please check/analyze/... your code thoroughly as if you were preparing a real code submission.
If you have questions during development, please ask them on the jgrapht-gsoc forum so that you can get help from the community. Do NOT send development-related questions to admin@jgrapht.org.
Previously, GSoC mentors were reviewing warmup submissions, but we've stopped doing so now that the proposal submission deadline is close. The warmup is still a useful exercise for familiarizing yourself with JGraphT, but there's no need to send us your solution at this point.
- Home
- Adopt a highway
- Demos
- Dev guide
- Become a Contributor
- Coding and Style Conventions
- Contributor Guidelines
- Deprecation policy
- How to add example code
- How to make your first (code) contribution
- How to setup your development environment for JGraphT
- How to write documentation
- Maven Plugin Installation Guide
- Open tasks, projects and collaboration ideas
- Unit testing
- Website Deployment
- Writing new wiki pages
- GSoC
- Users