Commit de29cf27 authored by paugier's avatar paugier
Browse files

Mise à jour 2021

parent c4ed6e0b
Pipeline #74033 passed with stage
in 47 seconds
Copyright (c) 2020, Pierre Augier
Copyright (c) 2021, Pierre Augier
All rights reserved.
Redistribution and use in source and binary forms, with or without
......
# Scientific Computing (Master 2 EFM)
# Introduction to Scientific Computing (Master 2 EFM)
## Content
During sessions 1, 2 and 4 (9 hours), we will present an introduction on
scientific computing and programming:
During the first sessions, we will present an introduction on scientific
computing and programming:
- Computers to compute (CPU, memories, GPU, clusters)
- Numbers in computers
......@@ -15,11 +15,15 @@ scientific computing and programming:
We will study some basics on Linux and Python for scientific computing.
The personal project part will be presented during session 3. Sessions 3, 5, 6
and 7 will be dedicated to practical exercises on (3) Computation of integrals,
(5) Finite Difference methods, (6) Gradient descent and (7) Machine learning.
Some sessions will be dedicated to practical exercises on
We will work together on your personal projects during session 8.
- Computation of integrals,
- Finite Difference methods,
- Gradient descent and
- Machine learning.
You will also have to work for this course on a "personal project" on an open
subject. One session will be dedicated to work on this project.
## The teachers
......
import sys
if sys.version_info[:2] < (3, 6):
raise RuntimeError("Python version >= 3.6 required.")
try:
import conda
except ImportError:
print(
"Problem: the conda package not importable.\n"
"Please run this script in the base conda environment"
)
sys.exit(1)
else:
print("Good! conda package importable!")
if sys.version_info[:2] < (3, 8):
raise RuntimeError("Python version >= 3.8 required.")
try:
import numpy, scipy, matplotlib, pandas
......
......@@ -30,7 +30,7 @@ bash Miniconda3-latest-Linux-x86_64.sh
You have to answer "yes" to the last question about the initialization of
conda. When it's done, close the terminal (with `ctrl-d`) and reopen a new
terminal (with `ctrl-alt-t`). The world "(base)" should be in the line in the
terminal (with `ctrl-alt-t`). The word "(base)" should be in the line in the
terminal.
You need to activate the conda channel `conda-forge` with:
......
......@@ -8,11 +8,11 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"Pierre Augier (LEGI) and Enzo Le BoueDec (LEGI) \n",
"Pierre Augier (LEGI)\n",
"\n",
"(And Cyrille Bonamy (LEGI), Eric Maldonado (Irstea), Franck Thollard (ISTerre), Christophe Picard (LJK), Loïc Huder (ISTerre)...)"
"(And Enzo Le BoueDec (LEGI), Cyrille Bonamy (LEGI), Eric Maldonado (Irstea), Franck Thollard (ISTerre), Christophe Picard (LJK), Loïc Huder (ISTerre)...)"
]
},
{
......@@ -23,10 +23,9 @@
}
},
"source": [
"## Scientific computing course 2020\n",
"## Scientific computing course 2021\n",
"\n",
"During sessions 1, 2 and 4 (9 hours), we will study some basics on Linux and Python for scientific computing. \n",
"We will also give an introduction on scientific computing and programming:\n",
"During the first sessions, we will present an introduction on scientific computing and programming:\n",
"\n",
"- Computers to compute (CPU, memories, GPU, clusters)\n",
"- Numbers in computers\n",
......@@ -36,11 +35,17 @@
"- Install a good environment, example of Conda\n",
"- Versioning and Gitlab (https://gricad-gitlab.univ-grenoble-alpes.fr)\n",
"\n",
"The personal project part will be presented during session 3. Sessions 3, 5, 6\n",
"and 7 will be dedicated to practical exercises on (3) Computation of integrals,\n",
"(5) Finite Difference methods, (6) Gradient descent and (7) Machine learning.\n",
"We will study some basics on **Linux** and **Python** for scientific computing.\n",
"\n",
"We will work together on your personal projects during session 8.\n",
"Some sessions will be dedicated to practical exercises on\n",
"\n",
"- Computation of integrals,\n",
"- Finite Difference methods,\n",
"- Gradient descent and\n",
"- Machine learning.\n",
"\n",
"You will also have to work for this course on a \"personal project\" on an open\n",
"subject. One session will be dedicated to work on this project.\n",
"\n",
"This course should be fun! Do not hesitate to interrupt and ask any questions!"
]
......@@ -82,8 +87,14 @@
"- You can try to login. If you can't, just click on \"explore\". Search for \"scientific\" and click on \"meige-legi / scientific-computing-m2-efm\".\n",
"\n",
" You have to find this project: https://gricad-gitlab.univ-grenoble-alpes.fr/meige-legi/scientific-computing-m2-efm\n",
" \n",
" Save this page in your browser, you will need to come back to it many times!\n",
" \n",
"- Read the `README.md`. There is an address at the end to open the slides: https://meige-legi.gricad-pages.univ-grenoble-alpes.fr/scientific-computing-m2-efm/.\n",
"\n",
"- Open and study the presentation \"First steps with Linux and Bash\".\n",
"\n",
"- Read the `README.md` and follow the instructions in the file `install.md` \n",
"- You can know follow the instructions in the file `install.md` \n",
" (https://gricad-gitlab.univ-grenoble-alpes.fr/meige-legi/scientific-computing-m2-efm/-/blob/master/install.md)"
]
}
......@@ -105,7 +116,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.2"
"version": "3.9.4"
}
},
"nbformat": 4,
......
......@@ -320,15 +320,15 @@
"output_type": "stream",
"text": [
"total 36\n",
"-rw-rw-r-- 1 pierre pierre 641 Sep 25 17:15 check_env.py\n",
"-rw-rw-r-- 1 pierre pierre 3926 Nov 2 16:40 install.md\n",
"drwxrwxr-x 6 pierre pierre 4096 Nov 16 10:13 \u001b[0m\u001b[01;34mipynb\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 1499 Sep 25 17:15 LICENSE.txt\n",
"-rw-rw-r-- 1 pierre pierre 1178 Nov 2 16:37 Makefile\n",
"-rw-rw-r-- 1 pierre pierre 2558 Oct 13 11:17 mini-projects.md\n",
"drwxrwxr-x 4 pierre pierre 4096 Sep 25 17:15 \u001b[01;34mpyfiles\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 2534 Sep 25 19:06 README.md\n",
"-rw-rw-r-- 1 pierre pierre 187 Nov 2 16:38 requirements.txt\n"
"-rw-rw-r-- 1 pierre pierre 641 Sep 25 2020 check_env.py\n",
"-rw-rw-r-- 1 pierre pierre 3925 Nov 16 2020 install.md\n",
"drwxrwxr-x 6 pierre pierre 4096 Sep 6 11:52 \u001b[0m\u001b[01;34mipynb\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 1499 Sep 6 11:53 LICENSE.txt\n",
"-rw-rw-r-- 1 pierre pierre 1178 Nov 2 2020 Makefile\n",
"-rw-rw-r-- 1 pierre pierre 2943 Sep 6 11:21 mini-projects.md\n",
"drwxrwxr-x 4 pierre pierre 4096 Sep 25 2020 \u001b[01;34mpyfiles\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 2537 Sep 6 11:13 README.md\n",
"-rw-rw-r-- 1 pierre pierre 187 Nov 2 2020 requirements.txt\n"
]
}
],
......@@ -365,20 +365,20 @@
"output_type": "stream",
"text": [
"total 56\n",
"drwxrwxr-x 5 pierre pierre 4096 Nov 16 10:13 \u001b[0m\u001b[01;34m.\u001b[0m\n",
"drwxr-xr-x 13 pierre pierre 4096 Nov 16 09:42 \u001b[01;34m..\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 641 Sep 25 17:15 check_env.py\n",
"-rw-rw-r-- 1 pierre pierre 208 Sep 25 18:22 .gitignore\n",
"-rw-rw-r-- 1 pierre pierre 333 Nov 2 16:37 .gitlab-ci.yml\n",
"drwxrwxr-x 6 pierre pierre 4096 Nov 16 09:31 \u001b[01;34m.hg\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 3926 Nov 2 16:40 install.md\n",
"drwxrwxr-x 6 pierre pierre 4096 Nov 16 10:13 \u001b[01;34mipynb\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 1499 Sep 25 17:15 LICENSE.txt\n",
"-rw-rw-r-- 1 pierre pierre 1178 Nov 2 16:37 Makefile\n",
"-rw-rw-r-- 1 pierre pierre 2558 Oct 13 11:17 mini-projects.md\n",
"drwxrwxr-x 4 pierre pierre 4096 Sep 25 17:15 \u001b[01;34mpyfiles\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 2534 Sep 25 19:06 README.md\n",
"-rw-rw-r-- 1 pierre pierre 187 Nov 2 16:38 requirements.txt\n"
"drwxrwxr-x 5 pierre pierre 4096 Nov 16 2020 \u001b[0m\u001b[01;34m.\u001b[0m\n",
"drwxr-xr-x 18 pierre pierre 4096 Sep 6 11:06 \u001b[01;34m..\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 641 Sep 25 2020 check_env.py\n",
"-rw-rw-r-- 1 pierre pierre 208 Sep 25 2020 .gitignore\n",
"-rw-rw-r-- 1 pierre pierre 333 Nov 2 2020 .gitlab-ci.yml\n",
"drwxrwxr-x 6 pierre pierre 4096 Sep 6 11:06 \u001b[01;34m.hg\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 3925 Nov 16 2020 install.md\n",
"drwxrwxr-x 6 pierre pierre 4096 Sep 6 11:52 \u001b[01;34mipynb\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 1499 Sep 6 11:53 LICENSE.txt\n",
"-rw-rw-r-- 1 pierre pierre 1178 Nov 2 2020 Makefile\n",
"-rw-rw-r-- 1 pierre pierre 2943 Sep 6 11:21 mini-projects.md\n",
"drwxrwxr-x 4 pierre pierre 4096 Sep 25 2020 \u001b[01;34mpyfiles\u001b[0m\n",
"-rw-rw-r-- 1 pierre pierre 2537 Sep 6 11:13 README.md\n",
"-rw-rw-r-- 1 pierre pierre 187 Nov 2 2020 requirements.txt\n"
]
}
],
......@@ -544,7 +544,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"/data0/opt/miniconda3/condabin/app:/home/pierre/.pyenv/bin:/home/pierre/.pyenv/versions/3.8.2/bin:/home/pierre/.pyenv/libexec:/home/pierre/.pyenv/plugins/python-build/bin:/home/pierre/.pyenv/shims:/data0/opt/miniconda3/condabin/app:/data0/opt/miniconda3/condabin:/home/pierre/.pyenv/bin:/home/pierre/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/pierre/opt/env_xonsh/bin/:/data0/opt/miniconda3/condabin/app:/home/pierre/.cargo/bin:/home/pierre/.pyenv/bin\n"
"/data0/opt/miniconda3/condabin/app:/home/pierre/.pyenv/bin:/home/pierre/.pyenv/versions/3.9.4/bin:/home/pierre/.pyenv/libexec:/home/pierre/.pyenv/plugins/python-build/bin:/home/pierre/.pyenv/plugins/python-build/bin:/data0/opt/miniconda3/condabin/app:/home/pierre/.pyenv/bin:/home/pierre/.pyenv/shims:/home/pierre/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/pierre/opt/env_xonsh/bin/:/data0/opt/miniconda3/condabin/app:/home/pierre/.cargo/bin:/home/pierre/.pyenv/bin:/home/pierre/Dev/Nek5000/bin\n"
]
}
],
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"Pierre Augier (LEGI) and Enzo Le BoueDec (LEGI) \n",
"\n",
......@@ -286,7 +286,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.2"
"version": "3.9.4"
}
},
"nbformat": 4,
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -8,7 +8,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -10,7 +10,7 @@
}
},
"source": [
"# Scientific computing course 2020\n",
"# Scientific computing course 2021\n",
"\n",
"**Acquire strong basis in Python to use it efficiently**\n",
"\n",
......
......@@ -17,8 +17,6 @@ titles = {
"Mercurial and gitlab": "Bonus: versioning with Mercurial and Gitlab",
"Environnement": "Bonus: interpreters, distributions, packages",
"Intro-open-source-sciences": "Introduction open-source in science",
}
this_dir = Path(__file__).parent
......@@ -41,12 +39,16 @@ for path in ipynb_files:
back = "\n"
code = """
Scientific computing course 2020
Scientific computing course 2021
================================
"""
code += f"""
{back.join(lines)}
**Warning:** Save the address of this page in your browser! You will need to
come back to it many times.
"""
path_rst = this_dir / "index.rst"
......
......@@ -11,9 +11,9 @@ already think about it and even start to work.
## Description
The choice of the topic is completely free as long as the student hands a
personal job which relies on Python programming. If possible, this mini-project
can be coupled with projects from other classes followed by the student in this
semester.
personal job which relies on scientific programming. If possible, this
mini-project can be coupled with projects from other classes followed by the
student in this semester.
*Note 1: Students are advised to discuss with one of the teachers about their
topic before starting. You can open a dedicated issue in
......@@ -24,17 +24,23 @@ in addition of the last practice session. This information should help the
student to choose a topic which will not require an unreasonable time
investment.*
*Note 3: programming languages. We will study Python during this course so it
will be easier for you to use Python. However, you are free to use any
open-source tools. The tool has to be open-source because it has to be possible
for the teacher to try your code. Note that if you choose another language than
Python, we won't be able to help you about language related problems.*
## Evaluation
The students have to put the code in a Gitlab project hosted on
<https://gricad-gitlab.univ-grenoble-alpes.fr>. To ease the evaluation, we ask
you to use a particular name: `miniproject-scientific-computing2020` (so that
you to use a particular name: `miniproject-scientific-computing2021` (so that
the full address is
`https://gricad-gitlab.univ-grenoble-alpes.fr/your-username/miniproject-scientific-computing2020`).
`https://gricad-gitlab.univ-grenoble-alpes.fr/your-username/miniproject-scientific-computing2021`).
You will have to post the address of the Gitlab project of your mini-project in
a message in the [issue
#1](./-/issues/1).
#14](./-/issues/14).
Then, the evaluation of these mini-projects will be done through a short oral
sessions (~ 10 minutes) where the students will be asked to present their work.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment