Learning outcomes¶
This course is aimed at complete beginners.
What does this mean?
That we follow the pace of the group as a whole (i.e. not of those that are fastest, nor the sessions in the schedule)
Additionally, this means that if a learner writes in the evaluation 'This course was too slow', this is considered neutral. If a learner writes in the evaluation 'This course was too fast', however, this is considered bad.
Below are the learning outcomes of this course, as copied from its evaluation. The course is learner-centered (why?), hence the pace is determined be the learners (i.e. not by the clock).
These are the two main goals:
| Time | Main goal |
|---|---|
| Morning | To be able to run Python code on an HPC cluster |
| Afternoon | To be able to read/write a variable from/to a file |
You can be reasonably sure you'll achieve this:
- I am comfortable using the documentation of my HPC center
- I am comfortable using the Python book
- I am comfortable learning Python
- I can load a Python version on my HPC cluster
- 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
- I can run a Python script that uses a graphical library on an HPC cluster
- 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
- In Python, I can write text to a file
Here are the rest of the learning outcomes, each item being less and less likely to be discussed:
- In Python, I can ask a user for input
- In Python, I can use user input in a calculation
- I can find and use a Python module on my HPC cluster
- In Python, I can read a file
- In Python, I can create a file
- In Python, I can use command-line arguments
- In Python, I can import the
matplotliblibrary - In Python, I can use a for loop
- In Python, I can write a function without an argument and without a return type
- In Python, I can write a function that calls a function
- In Python, I can write a function that requires an argument
- In Python, I can write a function with a return value
These are non-goals:
| Non-goal | Example of course that does teach this |
|---|---|
| Run useful calculations | The NAISS HPC Python course 'Basic batch and Slurm' session |
| Use parallel computations | The NAISS HPC Python course 'Parallel computing' session |
| Professional software development | The Programming Formalisms course |
| The software module system | The NAISS HPC Python course 'Using packages' session |
| Matplotlib | The NAISS HPC Python course 'Matplotlib' session |
| Transferring files to/from an HPC cluster | The NAISS File Transfer course |