> For the complete documentation index, see [llms.txt](https://emory.gitbook.io/dsa-java/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emory.gitbook.io/dsa-java/java-essentials.md).

# 1. Java Essentials

## Contents

1. [Abstraction](/dsa-java/java-essentials/abstraction.md)
2. [Implementation](/dsa-java/java-essentials/implementation.md)
3. [Unit Testing](/dsa-java/java-essentials/unit-testing.md)
4. [Quiz](/dsa-java/java-essentials/exercises.md)

## Resources

* Main: [src/main/java/edu/emory/cs/algebraic](https://github.com/emory-courses/dsa-java/tree/master/src/main/java/edu/emory/cs/algebraic)
* Test: [src/test/java/edu/emory/cs/algebraic](https://github.com/emory-courses/dsa-java/tree/master/src/test/java/edu/emory/cs/algebraic)

## References

* [TIOBE Programming Community Index](https://www.tiobe.com/tiobe-index)
* [PYPL Popularity of Programming Language](https://pypl.github.io)

{% hint style="info" %}
Please follow every example described in this section.  **Programming is an act of writing, not reading.** By the end of this chapter, you should be able to reproduce the entire codebase yourself from scratch without consulting those examples.
{% endhint %}
