Introduction 'Getting it to run'¶
This module introduces the fundamentals of Python programming language.
Learning outcomes
- Learners have read what they will learn
- Learners can find how to download and extract the exercises
- Learners understand how this day is organized
For teachers: Lesson plan
Prior questions:
- What is Pyton?
- What are features of the Python language?
- In the term 'HPC cluster', what does 'cluster' mean?
- In the term 'HPC cluster', what does 'HPC' mean?
- What are features of HPC clusters?
Overview of these sessions as a concept map
flowchart TD
python[[Python]]
%% Give a white background to all nodes, instead of a transparent one
classDef node fill:#fff,color:#000,stroke:#000
subgraph sub_programming_language[Programming language]
interpreted_language[Interpreted language]
programming_language[Programming language]
scripting_language[Scripting language]
interpreter[Interpreter]
scripts[Scripts]
text_files[Text files]
end
style sub_programming_language fill:#ccf,color:#000,stroke:#fcc
subgraph sub_programming_terms[Programming terms]
user_input[User input]
%% file_io[File I/O]
%% command_line_arguments[Command-line arguments]
variables[Variables]
operators[Operators]
%% functions[Functions]
python_packages[Python packages]
%% graphics[Graphics]
end
style sub_programming_terms fill:#cfc,color:#000,stroke:#fcc
subgraph sub_naiss[NAISS]
your_hpc_center[Your HPC center]
modules[software modules]
your_hpc_cluster[Your HPC cluster]
text_editors[Text editors]
%% x_forwarding[X-forwarding]
%% remote_desktop[Remote desktop]
end
style sub_naiss fill:#fcc,color:#000,stroke:#fcc
python --> |is a| programming_language
python --> |is a| interpreted_language
python --> |is a| scripting_language
programming_language --> |uses| text_files
interpreted_language --> |has a| interpreter
scripting_language --> |is|interpreted_language
scripting_language --> |runs| scripts
scripts --> |are| text_files
%% scripts --> |can use| command_line_arguments
python --> |has| python_packages
python --> |has| variables
%%python --> |has| functions
python --> |has| operators
%%functions --> |use| variables
operators --> |work on| variables
%%python_packages --> |allow| graphics
python_packages --> |allow to use| user_input
%% python_packages --> |allow to do| file_io
%% python_packages --> |allow to use| command_line_arguments
your_hpc_center --> |has| your_hpc_cluster
your_hpc_cluster --> |have| modules
your_hpc_cluster --> |have| text_editors
%% your_hpc_cluster --> |allow| x_forwarding
%% your_hpc_cluster --> |has| remote_desktop
modules --> |allow the use of| python_packages
modules --> |allow the use of| interpreter
text_editors --> |work on|text_files
%%x_forwarding --> |allows|graphics
%%remote_desktop --> |allows|graphics
variables ~~~ your_hpc_center
Why is this course important?¶
Python, according to the TIOBE index is one of the most used programming languages at this day.
Running Python on an HPC cluster allows scientists to run their code that needs either (1) massive computation, (2) massive storage space, and/or (3) storage of sensitive data.
This course allows you to do your analysis, in one of the most used programming languages at this day, using some of the most advanced hardware we have at this day.
Sessions¶
Exercises¶
Exercise 1: the learning outcomes of today¶
The goal of this exercise is to find out what you will learn today.
- Go to this form and fill it in
For teachers: what is in that form?
With this exercise, we'll discover what we'll learn today.
Give you confidence levels of the following statements, using this scale:
- 0: I don't know even what this is about ...?
- 1: I have no confidence I can do this
- 2: I have low confidence I can do this
- 3: I have some confidence I can do this
- 4: I have good confidence I can do this
- 5: I absolutely can do this!
Give you confidence levels of the following statements below:
- I am comfortable using the documentation of my HPC center
- I am comfortable using a Python book
- I am comfortable learning Python
- I can login to my HPC cluster
- I can load a Python version on my HPC cluster
- I can describe what the Python programming language is
- I can describe what the Python interpreter is
- I can use a text editor on my HPC cluster
- I can create a Python script
- I can run a Python script
- In Python, I can create a variable
- In Python, I can use a variable
- I can convert a simple equation to Python code
- In Python, I can find and use the operator for exponentiation
- In Python, I know what the modulo operator is and when to use it
- I can convert a simple text question to Python code
When done: explore the website of the course. Where you can you find the things below?
- The schedule
- Further learning
- The frequently asked questions
- Earlier evaluation results