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:
Opening a terminal
Running the following command:
bashgit -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:
Opening a terminal
Running the following command:
bashdocker -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:
Opening a terminal
Running
bashpython3 --version
If this prints something similar to Python 3.14.3, then Python was installed successfully.
Java
Download Java OpenJDK from Microsoft's website for your platform
Follow Microsoft's instructions on how to install for your platform
After the installation, open a terminal
Run:
bashjava --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:
- For Python: Python Extension Pack
- For Java: Extension Pack for Java
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.
- Create a GitHub account if you do not already have one
- Navigate to your account settings, then go to
Billing and licensing, thenEducation benefits(or follow this link) - Click on the green button
Start an application - Fill in your details, including your school email address
- Wait for the application to go through
- Go to your settings in
CopilotthenFeatures. 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
bashgit -v # git version 2.x.xDocker installed
bashdocker -v # Docker version 28.x.x, build abcdefgIf you want to work with Python, it needs to be installed
bashpython3 --version # Python 3.x.xIf you want to work with Java, it needs to be installed (the exact version may vary slightly)
bashjava --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!
