Skip to content

Tools Setup

Welcome to ConquerHack!

We are excited to see what you will build! To keep the focus on your algorithm rather than the plumbing, we'll provide scaffolds as infrastructure for your bot to be built on.

To ensure a smooth start, please take a moment to set up your local environment. This guide covers the core tools you'll need to develop, test, and eventually unleash your bot against the competition.

A note for 🪟 Windows users

Development on Windows can sometimes be a bit adventurous. To ensure your compilers and tools behave exactly like they will on our infrastructure, we recommend using Windows Subsystem for Linux (WSL2) if you are comfortable with it or are interested in learning.

It gives you a native Linux environment inside Windows, and you can still use VS Code like normal, but inside a UNIX-based environment, which is closer to what we used for our tests.

However, if you haven't touched WSL before and the event is tomorrow, don't panic! Stick to what you know. Our scaffolds should work on native Windows too with an appropriate environment set up, but we did not test it.

Overview

The tools you need to install are:

  • Git: to clone our template repos and run your code on our infrastructure
  • Docker: to build a container for your algorithm, and to test it in close-to-production conditions
  • A code editor: for obvious reasons. There are multiple options depending on which language you choose (see below)

Additionally, we provide code scaffolds so you can focus on your algorithm rather than the plumbing. There are two scaffolds available:

Choose the one you are most familiar with, so that you can concentrate on how your bot behaves rather than the language's syntax.

Git

First, install Git on your environment. You will find instructions on how to do this depending on your system (Linux, Windows, macOS) on this page.

Regardless of which system you are using, you can test whether Git was successfully installed by:

  1. Opening a terminal

  2. Running the following command:

    bash
    git -v

If you get something such as git version 2.x.x, then Git is installed.

Note

If you installed Git in WSL, make sure to run the command in a WSL terminal and not a Windows terminal.

Docker

Docker is a containerization engine. In short, it means it will pack your code into a container so we can easily run it on our own machines and it should still work fine despite running on different machines in different environments.

Tip

If you are using WSL in Windows, we recommend installing Docker Desktop inside Windows. When you start Docker Desktop in Windows, it will boot the Docker Engine under the hood, which will then be usable from within WSL.

Note

You will need to enable WSL2 to be able to install Docker on Windows, even if you decided to go for the native Windows setup.

If you are new to Docker or if you prefer a zero-headache approach, you'll want to install Docker Desktop. It is available on either Windows, macOS or Linux.

Alternatively, if you do not mind a more advanced setup and prefer a headless-only tool and open-source tool, you might want to only install the Docker Engine directly.

Once you followed the instructions linked above to install Docker, you can check the installation by:

  1. Opening a terminal

  2. Running the following command:

    bash
    docker -v

If this prints a result similar to Docker version 28.x.x, build abcdefg, Docker was successfully installed and is running.

Note

If you installed Docker Desktop, make sure to open it and wait for it to fully load before running the above command.

Programming Languages and Code Editors

Once Git and Docker are installed, you'll need to choose between Python and Java.

That will be the language in which you will write the actual code that runs your bot. Choose the one your are most familiar with. All scaffolds come with the same feature-set, so it's really all down to your preferences.

Tip

Nothing forces you to choose now. You may install the tools for both languages and see which one you prefer when you get a hold of the scaffolds. However, remember that in the end you will have to choose exactly one of the languages.

Python

Download Python by following the instructions on their official page.

You can check installation by:

  1. Opening a terminal

  2. Running

    bash
    python3 --version

If this prints something similar to Python 3.14.3, then Python was installed successfully.

Java

  1. Download Java OpenJDK from Microsoft's website for your platform

  2. Follow Microsoft's instructions on how to install for your platform

  3. After the installation, open a terminal

  4. Run:

    bash
    java --version

If this prints something similar to

openjdk 25.0.2 2026-01-20
OpenJDK Runtime Environment (build 25.0.2+10-Ubuntu-124.04)
OpenJDK 64-Bit Server VM (build 25.0.2+10-Ubuntu-124.04, mixed mode, sharing)

Then the Java Development Kit (JDK) was successfully installed.

Code Editors

Depending on which language you selected, you have a few code editors you can work with.

VS Code is the Swiss army knife, the one editor to rule them all.

Then you have the editors from Jetbrains. They are more specialized, might require less setup out-of-the-box than VS Code, and are preferred by some for their feature-set. In any case, it all comes down again to your personal preference, as all options will do perfectly fine for ConquerHack.

Tip

If using WSL, all the aforementioned editors support remote development. This means you install the code editor on Windows, but then do the actual work and testing in WSL (the WSL environment is then considered as a "remote" machine that the Windows environment connects to).

JetBrains IDEs are paid products by default, however JetBrains provides a Student Pack that allows you to use these IDEs for free in the context of your studies. Make sure to apply early to this student program, as it can take a few hours to get approved. Apply on this page.

VS Code - The Swiss Army Knife

All of the two proposed languages work well in VS Code. It also integrates well with WSL.

Tip

If you are using WSL, install VS Code in Windows and then install the WSL extension. This will allow you to work with VS Code inside your WSL environment.

Download VS Code for your system on this page.

Depending on the language you selected, you will also want to install a few extensions:

JetBrains IDEs

For easier installation, we recommend using JetBrains' Toolbox app, which allows you to perform only one installation by yourself, and then install IDEs by the simple click of a button.

You can download JetBrains' Toolbox app from this page.

Then you can install the IDEs you need:

  • For Python: PyCharm
  • For Java: IntelliJ

Optional: GitHub Copilot

Generative AI can be a great tool when it comes to coding. It can help you with syntax problems or trivial things that you do not want to spend too much time on.

If you plan on using that tool, we suggest GitHub Copilot. It integrates well with VS Code. There are also existing integrations with JetBrains' IDEs (though less polished). And, most importantly, GitHub Copilot is part of GitHub's student pack, meaning it is free to use for students.

  1. Create a GitHub account if you do not already have one
  2. Navigate to your account settings, then go to Billing and licensing, then Education benefits (or follow this link)
  3. Click on the green button Start an application
  4. Fill in your details, including your school email address
  5. Wait for the application to go through
  6. Go to your settings in Copilot then Features. If your application has been approved, you should be able to start using GitHub Copilot for free

You might then be interested to install in VS Code the GitHub Copilot extension and the GitHub Copilot Chat extension if not already installed.

Conclusion

To wrap things up, let's recap on what needs to be done:

  • Git installed

    bash
    git -v
    # git version 2.x.x
  • Docker installed

    bash
    docker -v
    # Docker version 28.x.x, build abcdefg
  • If you want to work with Python, it needs to be installed

    bash
    python3 --version
    # Python 3.x.x
  • If you want to work with Java, it needs to be installed (the exact version may vary slightly)

    bash
    java --version
    # openjdk 25.0.2 2026-01-20
    # OpenJDK Runtime Environment (build 25.0.2+10-Ubuntu-124.04)
    # OpenJDK 64-Bit Server VM (build 25.0.2+10-Ubuntu-124.04, mixed mode, sharing)
  • A code editor is installed for all of the languages you intend to try to work with. We suggest VS Code, PyCharm and IntelliJ.

    Note

    Remember that in the end, you will have to choose exactly one of Python or Java. Your final algorithm cannot be written in more than one language, however you may test multiple languages before you make your choice.

  • Optionally, GitHub Copilot is set up to help you work on your algorithm.

We're looking forward to meeting you at the event!