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
Master your working environment
The purpose of this session is to ensure that you are familiar with your computer, your operating system, and the shell-like command line programming environment.
Pointers
-
cheatsheet devhints https://devhints.io/bash
-
simplified
manhttps://tldr.ostera.io/ -
Bash homepage https://www.gnu.org/software/bash/
-
zsh homepage https://zsh.sourceforge.io/
-
Programmation shell sous Unix/Linux - ksh, bash, Bourne shell (avec exercices corrigés) (6e édition), Christine Deffaix Ré, éditions ENI, Septembre 2019, 978-2-409-02072-8
TODOs
By 17/10
submit your work for Courses 1-2 as LASTNAME.zip to https://ecampus.emse.fr/mod/assign/view.php?id=33633 (expiration date/time: 2025-10-18 01:00 )
|
| If you are using the Windows operating system, you must ensure that you have installed the Windows Subsystem for Linux, and that you run commands from the WSL2 unix shell. |
| Windows users, I highly encourage you to read the following tutorials about WSL: Set up a WSL development environment, Get started using Visual Studio Code with Windows Subsystem for Linux, Get started with GPU acceleration for ML in WSL, Run Linux GUI apps on the Windows Subsystem for Linux, Getting started with Linux and Bash |
-
1/5 points - Describe the computer you are using in terms of hardware and operating system(s).
-
1/5 points - You have installed a few useful programs, and can call run successfully the following commands in a unix shell. NOTE: For each of these programs, you may need to ensure it is found in the
PATH, and potentially set other environment variables, such asJAVA_HOMEfor maven:-
git -
git --version -
a version of the Java JDK -
javac --version -
Apache Maven -
mvn --version -
Make -
make --version -
Python version above 3.10 -
python --version -
Docker Desktop -
docker --version
-
-
1/5 points - install ollama, following instructions in the online documentation. Pull the
llama3.1language model (or some lighter language model). -
0.5/5 points - Use the ollama api to query the model using the
curlprogram. -
0.5/5 points - Pipe the output of the command above with the jq command-line JSON processor to print out the response content.
-
0.5/5 points - Set up a ollama tool to allow browsing inside a website
-
0.5/5 points - Write a bash script
ask.shthat satisfies the documentation below. To make it work, you may need to develop a few ollama tools in python, or a combination of two or more prompts in a loop that simulates reasoning.
USAGE:
./ask.sh <website> "<question>"
DESCRIPTION:
ask.sh is a command-line tool that answers a specific question based on
the content of a website.
PARAMETERS:
<website>
The url of the Website to analyze. This parameter is required.
"<question>"
The question to ask about the content of the website. This parameter is required and
must be enclosed in quotes.
| I need to see your use a unix shell ! neither cmd, nor powershell, nor MinGW |
|
How to get the points
You need to demonstrate everything works as expected by including a short screen recoding video (<5min), in addition to the sources of your scripts. For example, if I run:
I would expect that the LLM chooses to navigate to https://www.mines-stetienne.fr/recherche/ , then https://www.mines-stetienne.fr/recherche/centres-et-departements/ , where it will find the following information:
|
| language models can clearly help you get part of the points, but I want to be sure it worked on your computer, and that you provide explanations for each component of the answer. |