IT Tools

Communication
slack icon

CSMI uses Slack to communicate with promotions and on projects.

You can install slack and create your account with your email @etu.unistra.fr once you have it. You’ll receive an invitation at the start of the school year.

The Slack workspace used is that of Feel++, the numerical simulation software developed by Cemosis. The channels used are

#csmi-202x

for 202x promotions

#csmi

for questions about the CSMI Master’s program

Operating systems
Linux

Ubuntu 22.04 LTS or later, or Debian 11 or later

img ubuntu img debian

Windows 1x

Install WSL support then use Ubuntu 22.04 or Debian 11 or later

img win

MacOs

Install Homebrew that offers a lot of packages either on Intel or ARM processors

img macos

programming environment

We’ll be using the following tools in several courses

Programming languages

img cpp img python

Here are the programming languages you’ll be using:

  • - C

  • - C++

  • - Python3

    and others you may use in your projects

  • - Rust

  • - Julia

    and use advanced programming environment based on

  • - CMake

Visual Studio Code

img vscode

Github

img github

The number one platform for open-source projects using git as a version control system, the platform also offers a lot of tools for project management.
We’ll be using Github management tools to keep track of projects and assignments.
You need to create an account on Github, a form will be sent at the beginning of the M1 year and your account will follow you during the 2 years. It will be used

  • - for projects in S2 and S3

  • - during internships, to submit your reports and presentations

  • - during internships for some of you, for follow-up purposes

  • - during EDP (S2) and CS3 courses, via the github classroom platform, to hand in your assignments.

    One reference: lab.github.com/ but there are plenty of others.

    Apply for the GitHub Student Developer Pack — free access to GitHub Copilot, cloud credits, and many developer tools.
JetBrains IDEs

img jetbrains

Project management and collaboration
Overleaf

img overleaf

  • - Overleaf: collaborative LaTeX (reports, theses)

  • - Real-time co-editing and version history

GitHub Projects

img github projects

  • - GitHub Projects: kanban boards inside GitHub (Issues, PRs, milestones)

  • - Ideal for course projects; integrates with Classroom and Actions

Cloud and HPC access
JupyterLab / JupyterHub

img jupyter

  • - JupyterLab: Python notebooks for data analysis and ML

  • - Works locally or on remote servers

  • VS Code extension: Jupyter to run and edit your notebooks directly in Visual Studio Code

Google Colab

img colab

  • - Google Colab: quick access to GPUs/TPUs in notebooks

  • - Practical for small ML experiments

AI and productivity tools

Artificial Intelligence (AI) is now an everyday assistant for coding, documentation, and research. Use it to accelerate — but keep traceability and academic integrity (see note below).

ChatGPT (OpenAI)

img chatgpt

  • - Code generation, refactoring, and debugging

  • - Writing support for LaTeX/AsciiDoc (summaries, outlines)

  • - Explaining algorithms and HPC concepts ChatGPT

Claude (Anthropic)

img claude

  • - Strong with long documents and reasoning

  • - Good for reviewing scientific text and creating drafts Claude

Mistral AI

img mistral

  • - Open models (Codestral, Mixtral); works well for coding

  • - Available via LeChat or Mistral AI

GitHub Copilot

img copilot

  • - In-editor AI pair-programmer (VS Code / JetBrains)

  • - Code completion, inline explanations, tests generation

  • - Free or discounted via GitHub Student Developer Pack

Zotero

img zotero

  • - Zotero: reference manager with web importer

  • - Exports to BibTeX for LaTeX

Academic integrity & privacy (please read)
  • - Cite AI assistance when it meaningfully contributes to your work (e.g., “Assisted by AI: prompt + tool name/version/date”).

  • - Do not paste confidential material (exam statements, private repos, API keys, personal data) into online tools.

  • - Verify outputs (numerics, code, references). You are responsible for correctness and reproducibility.

  • - Keep a reproducible workflow: keep prompts, versions, and generated code in your repo (e.g., ai-notes/).

AI Assistance and References

Students may use Artificial Intelligence (AI) tools to support writing, coding, or research activities. In such cases, they must clearly acknowledge and cite the tools used.

AI tools are assistants, not authors. Their outputs must always be verified, adapted, and corrected by the student. The student is solely responsible for the correctness and originality of the work.

You may add a dedicated section in your reports:

== AI Assistance Statement

Some parts of this work were prepared with the assistance of Artificial Intelligence (AI) tools.
The following were used:

* ChatGPT (OpenAI, GPT-5, accessed August 24, 2025) for text drafting and explanations.
* GitHub Copilot (Microsoft, 2025) for code completions in C++ and Python.
* Claude (Anthropic, 2025) for summarizing text.
* Codestral (Mistral AI, 2025) for code generation and refactoring.

All outputs generated by these tools were verified and adapted by the authors, who take full responsibility for the content.

or in LaTeX:

\section*{AI Assistance Statement}

Some parts of this work were prepared with the assistance of Artificial Intelligence (AI) tools.
In particular, the following tools were used:

\begin{itemize}
  \item ChatGPT (OpenAI, GPT--5, accessed August 24, 2025) for drafting text explanations and refining LaTeX formatting.
  \item GitHub Copilot (Microsoft, 2025) for suggesting code completions in C++ and Python.
  \item Claude (Anthropic, 2025) for summarizing long texts.
  \item Codestral (Mistral AI, 2025) for code generation and refactoring.
\end{itemize}

All outputs generated by these tools were \textbf{verified, adapted, and corrected by the authors}.
The authors take full responsibility for the content, correctness, and originality of this work.

To cite AI tools properly, you can import the BibTeX file provided in the source tree (ai-tools.bib) into your reference manager (e.g., Zotero, Overleaf), then cite them like any other @software entry.

@software{openai_chatgpt_2025,
  author       = {OpenAI},
  title        = {ChatGPT},
  year         = {2025},
  version      = {August 24 version},
  url          = {https://chat.openai.com},
  note         = {Large language model; accessed 2025-08-24}
}

@software{anthropic_claude_2025,
  author       = {Anthropic},
  title        = {Claude 3.5},
  year         = {2025},
  version      = {August 2025},
  url          = {https://claude.ai},
  note         = {Large language model}
}

@software{mistral_codestral_2025,
  author       = {Mistral AI},
  title        = {Codestral},
  year         = {2025},
  version      = {0.3},
  url          = {https://mistral.ai},
  note         = {Open-weight large language model}
}

@software{github_copilot_2025,
  author       = {GitHub},
  title        = {GitHub Copilot},
  year         = {2025},
  version      = {VS Code extension v1.185},
  url          = {https://copilot.github.com},
  note         = {AI code completion tool}
}