This is the list of badges that are available for earning:
GIT Apprentice is capable of using basic Git commands when working on a programming task. They are capable of collaboratively working with other developers on the same project that is kept on a dedicated online server (e.g. Github).
JUnit is a unit testing framework for the Java programming language. A unit test is a piece of code written by a developer that executes a specific functionality in the code to be tested. A unit test targets a small unit of code, e.g., a method or a class, and they ensure that code works as intended. JUnit has been important in the development of test-driven style of programming.
Javadoc is a documentation generator for generating API documentation in HTML format from Java source code. The HTML format is used to add the convenience of being able to hyperlink related documents together. The "doc comments" format used by Javadoc is the de facto industry standard for documenting Java classes.
Swing is a GUI widget toolkit for Java. It is used to provide a sophisticated graphical user interface (GUI) for Java programs. Swing provides a native look and feel that emulates the look and feel of several platforms, and also supports a pluggable look and feel that allows applications to have a look and feel unrelated to the underlying platform.
Three-tier architecture (Model View Controller - MVC), in software engineering, is a client–server architecture in which presentation, application processing, and data management functions are physically separated. It provides a model by which developers can create flexible and reusable applications. By segregating an application into tiers, developers acquire the option of modifying or adding a specific layer, instead of reworking the entire application. A three-tier architecture is typically composed of a presentation tier (user interface), a business rules tier (functional process logic), and a data storage and access tier.
Maven Beginner Badge demonstrates the ability of a badge holder to create Maven projects, perform basic project setup and run default Maven goals. Badge holder also understands Maven dependencies system, how to find add a dependency and add it to a project.
A Java collection is simply an object that groups multiple elements into a single unit. Collections are used to store, retrieve, manipulate, and communicate aggregate data. Typically, they represent data items that form a natural group, such as a poker hand (a collection of cards), a mail folder (a collection of letters), or a telephone directory (a mapping of names to phone numbers). All collections frameworks contain the interfaces (the abstract data types that represent collections), implementations (the concrete implementations of the collection interfaces), and algorithms (the methods that perform useful computations).
A thread is a program's path of execution. Most programs written today run as a single thread, causing problems when multiple events or actions need to occur at the same time. Multithreaded applications deliver their potent power by running many threads concurrently within a single program. From a logical point of view, multithreading means multiple lines of a single program can be executed at the same time.