JavaGit is a Java API that provides access to git repositories. The goal is to bring the power of git to the Java world as an API that is intuitive for developers new to git and developers who are veteran git users. It is engineered to provide the developer with access to the raw git commands through a command API as well as an object API designed to represent the .git repository, the working tree, and other familiar git concepts. JavaGit uses the git binaries installed on the host machine to provide git functionality, and has been designed to easily accommodate additional methods of access to git repositories.
Algorithm Study provides tools and resources to augment the traditional study of algorithms. It includes implementations of common and less-common algorithms in a variety of languages and visualization tools to help in gaining a deeper understanding of the algorithms. The algorithm implementations are each accompanied by a discussion of the asymptotic ("big O") run time and memory limits of the algorithm. Some implementations include discussion of how the algorithm or data structure is commonly used and comparisons with similar algorithms or data structures. All implementations have test cases that exercise their functionality. The visualization tool, Algorithm Visualizer, displays what happens as various algorithms do their work.