HPC / CFD Written-Exam Master Index¶
Course: Fundamentals of High-Performance Computing for CFD Simulations
Lecturer: Jun.-Prof. Dr.-Ing. Federica Ferraro (IFAS, TU Braunschweig)
Output folder:D:\MyFiles\STUDY\SS25\hpc\HPC
How to use this index¶
This file is the map of all your study materials. Each row points to the chapter .md/.pdf, the source PDFs, the related code/exercises, and the most-likely written-exam questions. Study left → right: read the chapter, do the exercise, drill the question bank, finish with the cheat sheet.
June 2026 revision — what changed¶
Every chapter was upgraded for the written exam: German vocabulary removed (the বাংলা column stays); Bengali explanation boxes (বাংলায়:) added alongside the English for every key concept; formal math added with worked numeric examples (umask binary masking, Amdahl + Gustafson derivations, surface-to-volume halo analysis, R_peak, pointer arithmetic, log-log slopes, core-hour budgeting, exit-status algebra…); ASCII diagrams added (redirection FD flow, sed cycle, memory layout, build pipeline, commit DAG, domain decomposition, SLURM lifecycle…); and each chapter now ends with Section 14: Mock Exam — Four Levels: Level 1 Basic → Level 2 Intuitive (predict/explain) → Level 3 Hard (real exam) → Level 4 Beyond-the-lecture (transfer + coding), every question with a full worked solution and Bengali hints (বাংলা ইঙ্গিত) on the hard ones. Drill order for mocks: do Level 1–2 of all chapters first, then Level 3 of the HIGH chapters (03, 06, 07, 08, 11), then Level 4 everywhere.
Suggested Study Order¶
| Day | Topic | Chapter |
|---|---|---|
| 1 | Course intro + Linux philosophy | 01, 02 |
| 2 | Basic Linux + permissions | 03 |
| 3 | bashrc + SSH + remote workflow | 04 |
| 4 | Vim mastery (do vimtutor) |
05 |
| 5 | Regex + globbing (regex101.com) | 06 |
| 6 | grep / awk / sed / find / column | 07 |
| 7 | Shell scripting + backup-data.sh | 08 |
| 8 | Gnuplot + Bash automation | 09 |
| 9 | Git + GitLab + branching | 10 |
| 10 | C++ basics + Complex class | 11 |
| 11 | Compile / link / Make / CMake | 12 |
| 12 | gdb / valgrind / ASan | 13 |
| 13 | OpenMP / MPI / parallel scaling | 14 |
| 14 | SLURM / modules / cluster usage | 15 |
| 15 | Read HPC_Final_Exam_Revision.pdf + 4 practice sets | combined |
Chapter Index¶
| # | Chapter | Source PDFs | Code/Scripts | Exercise | Difficulty | Exam relevance |
|---|---|---|---|---|---|---|
| 01 | Course Introduction & HPC Overview | read.pdf 1-22, L01_Introduction_and_Linux.pdf 1-35 |
— | E01_WSL | Easy | Low–Medium |
| 02 | Unix / Linux Basics | L01_Introduction_and_Linux.pdf 35-80 |
— | — | Easy–Medium | Medium |
| 03 | Linux Commands & File Permissions | L01_Introduction_and_Linux.pdf 80-end |
find/, test.sh |
E02_Linux_commands | Medium | HIGH |
| 04 | bashrc, SSH, Remote Workflows | V02.1_Linux_SSH_bashrc_2025.pdf |
— | (in lecture) | Medium | High |
| 05 | Vim & Command-Line Editing | L03_Vim_2025.pdf |
test-1.zip files |
E03_Vim_2025 | Medium | Medium |
| 06 | Regex & Globbing | L04_Regexp.pdf |
E04_files/ |
E04_Regexp | Medium-Hard | HIGH |
| 07 | Linux Text Tools (find/grep/awk/sed/diff/column) | V05_Linux_tools.pdf |
V05_examples/, E05_Excercises/ |
E05_Linux_tools | Hard | HIGH |
| 08 | Shell Scripting | V06_shell_scripting.pdf |
lecture_scripts/example01-18.sh, backup-data.sh, task1_solution.sh, task2_solution.sh |
E06_shell_scripting | Hard | HIGH |
| 09 | Gnuplot Postprocessing | V07_gnuplot.pdf |
gnuplot_examples/, E07_gnuplot_exercise/ |
E07_gnuplot | Medium | Medium-High |
| 10 | Git Version Control | V08_Git.pdf |
(interactive) | E08_Git | Medium | High |
| 11 | C++ Basics for HPC | V09_Cpp_Basics.pdf |
examples_exercises/example01-10.cpp, task_01.cpp, task_02.cpp, exercises_solutions/*.cpp |
E09_Cpp_Basics | Hard | HIGH |
| 12 | Build Process: Compile, Link, Make, CMake | V10_buildProcess_compiling_linking.pdf |
demos/demo01_compiling/, demos/demo02_makefile/, demos/demo03_cmake/, class_Complex_task_solution.cpp |
E10_buildProcess | Hard | High |
| 13 | Debugging — gdb, valgrind, sanitizers | V11_debugging.pdf |
lecture_examples/debug01-06.cpp, task01.cpp |
E11_debugging | Hard | High |
| 14 | Parallelization (shared/distributed memory, OpenMP, MPI) | V12_Parallelization.pdf |
examples/example01.cpp, example02.cpp, example03_int.cpp, example03_Cstring.cpp |
(none) | Hard | Medium-High |
| 15 | HPC Cluster Usage (SLURM, modules) | V13_HPC_cluster.pdf |
(cluster-specific) | (none) | Medium | Medium |
Important Commands by Chapter¶
| Chapter | Top commands |
|---|---|
| 03 | ls -lh, chmod 755, chmod 4755, chown user:group, cp -rpv, rm -rf, umask 022, >, >>, 2>&1, \|, wc -l |
| 04 | ssh-keygen -t ed25519 -b 4096 -f ~/.ssh/k, ssh-copy-id, ~/.ssh/config, scp -r, rsync -avzP --delete, sshfs, ssh -L, nohup … 2>&1 &, tmux new -s |
| 05 | i a o I A O Esc, :wq :q!, dd 5dd yy p, /pat n N *, :%s/old/new/gc, qa…q @a, :sp :vsp gt |
| 06 | *.txt, {a,b}/*.{c,h}, [a-z], [[:alpha:]], \<word\>, ^abc$, ls dir-{1,3}/*[0-9].h |
| 07 | find -regex … -exec chmod +w {} \;, grep -E -nA 2, sed -E -i.bak 's/…/…/g', awk -F, '{...}', column -t -s ":", diff -u |
| 08 | #!/bin/bash, set -euo pipefail, [ -f f ], [[ "$x" =~ pat ]], (( a+b )), case x in …;; esac, for/while/until, getopts ":vs", shift $((OPTIND-1)) |
| 09 | plot 'd' u 1:2 w lp, set logscale y, set multiplot layout 2,2, fit f(x) 'd' via a,b,c, set terminal png; set output; replot |
| 10 | git config --global user.{name,email}, git init, git add, git commit -m, git switch -c, git merge, git push -u origin main, git tag v1.0 |
| 11 | g++ -O2 -std=c++17 -Wall src.cpp -o exe, int*p=&a;, int& r=a;, void f(int&), class C{private:…;public:…;}; |
| 12 | g++ -E/-S/-c, #ifndef … #define … #endif, g++ -fPIC -shared -o libx.so x.cpp, Makefile target: deps \n\trecipe, cmake -B build |
| 13 | g++ -O0 -g, gdb ./prog, break run next step print backtrace watch continue, valgrind --leak-check=full, -fsanitize=address |
| 14 | mpic++ -O2, mpirun -n N, MPI_Init/Comm_rank/Comm_size/Send/Recv/Finalize, #pragma omp parallel for reduction(+:sum) |
| 15 | module purge, module load gcc/12 openmpi/4.1, sbatch run.sbatch, squeue -u $USER, scancel ID, srun --pty bash |
High-Probability Written-Exam Questions¶
| Topic | Likely question |
|---|---|
| Linux | Translate -rwxr-xr-- ↔ chmod numeric. Predict redirection output. |
| SSH | Describe passwordless auth setup. Compare scp/rsync/sftp/sshfs. |
| Vim | Write keystrokes for :%s global replace. Record + apply a macro. |
| Regex | Email/phone/IP regex. Glob a multi-pattern listing. |
| Tools | Predict awk/sed output. Pipeline grep + awk. |
| Bash | Walk through backup-data.sh. Write a parameter sweep. |
| Gnuplot | Multi-curve plot, fit, multiplot, PNG output. |
| Git | Setup + first commit + branch + merge + push to GitLab. |
| C++ | Pointer/reference, swap, Complex class. |
| Build | Pipeline diagram, header guard, Makefile, CMake. |
| Debug | Find off-by-one with gdb. Detect leak with valgrind. |
| Parallel | OpenMP vs MPI, Amdahl, MPI hello, halo exchange. |
| Cluster | Write a SBATCH script, module commands, sinfo/squeue/scancel. |
Prerequisites Map¶
01,02 ── 03 ── 04 ── 05
└── 06 ── 07 ── 08 ── 09
└── 10
┌────────────────────── 11 ── 12 ── 13 ── 14 ── 15
└─ Ch 4 (SSH)
Read 01–08 in order; the rest can be parallel.
Files in D:\MyFiles\STUDY\SS25\hpc\HPC¶
Per-chapter:
Chapter_01_Course_Introduction_and_HPC_Overview.{md,pdf}Chapter_02_Unix_Linux_Basics.{md,pdf}Chapter_03_Linux_Commands_and_File_Permissions.{md,pdf}Chapter_04_Bashrc_SSH_and_Remote_Workflows.{md,pdf}Chapter_05_Vim_Command_Line_Editing.{md,pdf}Chapter_06_Regex_and_Globbing.{md,pdf}Chapter_07_Linux_Text_Tools_Find_Grep_Awk_Sed.{md,pdf}Chapter_08_Shell_Scripting.{md,pdf}Chapter_09_Gnuplot_Postprocessing.{md,pdf}Chapter_10_Git_Version_Control.{md,pdf}Chapter_11_Cpp_Basics_for_HPC.{md,pdf}Chapter_12_Build_Process_Compiling_Linking_Make_CMake.{md,pdf}Chapter_13_Debugging.{md,pdf}Chapter_14_Parallelization.{md,pdf}Chapter_15_HPC_Cluster_Usage.{md,pdf}
Combined:
HPC_Exam_Master_Index.{md,pdf}(this file)HPC_Final_Exam_Revision.{md,pdf}HPC_Deep_Question_Bank.{md,pdf}HPC_Coding_Command_Practice.{md,pdf}HPC_Written_Exam_Preparation.{md,pdf}HPC_Final_Cheat_Sheets.{md,pdf}
Strategy for the day before the exam: Re-read HPC_Final_Cheat_Sheets.pdf and HPC_Final_Exam_Revision.pdf only. Don't open the long chapters again — trust the work you did during the term.
End of master index.