ICM – Computer Science Major – Course unit on Technological foundations of Computer Science and M1 Cyber Physical and Social Systems – Course unit on CPS2 engineering and development, Part 2: Technological foundations of software development

Institut Henri Fayol - MINES Saint-Étienne

Manage your source code

The purpose of this session is to check that you are familiar with source code management methodologies and tools, in particular the git software, the gitlab platform used at school, and the github platform.

References

TODOs

By 14/11

submit your work for Courses 3-4 as LASTNAME.zip to https://ecampus.emse.fr/mod/assign/view.php?id=33635 (expiration date/time: 2025-11-15 01:00 )
How to get the points

Link to the public github profile

  • 0.5/5 points - Create a private key/public key pair, add your public key on GitHub.

How to get the points
  1. screenshot of your public key set up in https://github.com/settings/keys

  2. the following command returns "OK" in a local repository

git remote -v | grep 'git@github.com' > /dev/null && echo OK || echo NOK
  1. you can push from this local repo to github.

  • 1/5 points - Configure Git to sign your commits with a gpg key. Add this key on GitHub so it can verify your commits.

to avoid common pitfalls, use an empty password on your gpg key. Ensure you export GPG_TTY in you .bashrc file.
How to get the points
  1. screenshot of your GPG key on https://github.com/settings/keys ,

  2. link to a commit that is "Verified" with of these keys (example)

below
Figure 1. GPG public key set and used to sign this commit
  • 1/5 points - Use GitHub Pages to bootstrap a simple personnal webpage (resume, portfolio, link to LinkedIn, …​). Follow this guide to create user site at <username>.github.io.

I don’t grade the content of the site.
How to get the points

The following command outputs 200:

curl -I https://$USERNAME.github.io 2> /dev/null | head -n 1|cut -d$' ' -f2
  • 1/5 points - Fill in nicely at least two issues on existing projects (created before 2025-10-01).

How to get the points

URL of the issues I can ask Llama3.1 to evaluate for me with a prompt like: You are a teacher of a software development course. Below is a description of an issue from a student. I need a short assessment of whether it is sufficiently informative or not, some guidance for writing better issues, and a grade in [0, 0.25, 0.5].

  • 1/5 points - Contribute with the fork and pull request (PR) workflow to some existing project (see note below), in order to solve an existing issue or the issue you have created. Test: URL to the PR. Note: I don’t care about the how complex and how big the the contribution was. You get more points if your commits are atomic and informative, if you interact on the associated issue and get feedback on the PR, and ideally, if the owner of the repository merges your PR.

The "existing project" must have >5 stars, >2 good first issues, have been pushed to > 2025-01-01. The following query can help you find candidate projects on github: language:python stars:>5 good-first-issues:>2 pushed:>2025-01-01 in:readme python game