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
-
Pro Git (2nd edition), Scott Chacon and Ben Straub, Apress, 2014, 978-1-4842-0076-6 https://git-scm.com/book/en/v2
-
Git reference documentation https://git-scm.com/docs
-
Git interactive cheat sheet http://ndpsoftware.com/git-cheatsheet.html
-
Gitlab basics https://docs.gitlab.com/ee/gitlab-basics/
-
Gitlab Docs: https://docs.gitlab.com/ Agile sections with GitLab and Collaboration
TODOs
Reads and tutorials
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 )
|
-
0.5/5 points - Create your profile on github . See some crazy examples on zzetao.github.io/awesome-github-profile/
|
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/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
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
|
-
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 |