Skip to content

Commit 27e6155

Browse files
committed
Update README.md for essentials course at JLab
1 parent 711632a commit 27e6155

File tree

1 file changed

+60
-45
lines changed

1 file changed

+60
-45
lines changed

code/README.md

Lines changed: 60 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
1-
Exercises HowTo
1+
Exercises: HowTo
22
===============
33

4-
- List of exercises per day, with preferred order and solution overview.
5-
- Each exercise is in its own directory and referred to in the following by the name of the directory
6-
- We tried to provide more material than many participants can finish during the sessions. That's not a problem, as additional exercises can also be done later.
7-
- For each day, the exercises are given in order in which they should be done.
4+
- Each exercise is in its own directory and referred to in the following by the name of the directory.
5+
- Almost each exercise contains a solution.
6+
- We tried to provide more material than many participants can finish during the sessions. Participants are welcome to finish the more complicated ones in
7+
self study, but questions regarding the solutions are welcome in the lecture and especially during the following hands-on sessions.
8+
- For each day, the exercises are given in order in which they should be done in
9+
- Essentials: [`ExerciseSchedule_EssentialCourse.md`](ExerciseSchedule_EssentialCourse.md)
10+
- Advanced: [`ExerciseSchedule_AdvancedCourse.md`](ExerciseSchedule_AdvancedCourse.md)
811

9-
Setup requirements
10-
------------------
12+
Getting the code
13+
----------------
14+
15+
```bash
16+
git clone https://github.com/hsf-training/cpluspluscourse.git
17+
cd cpluspluscourse/code
18+
```
19+
20+
Recommended setup
21+
-----------------
1122

1223
### Required
1324

@@ -39,18 +50,38 @@ Setup requirements
3950
```
4051
- and just take the first number (real time)
4152

42-
Getting exercises’ code
43-
-----------------------
53+
54+
How to test your setup
55+
----------------------
56+
- **Please run [`check_setup.sh`](check_setup.sh) to check your setup on Linux / Mac.**
57+
- go to [`code/hello`](hello)
58+
- follow the `README.md`
59+
60+
### How to compile and run?
4461

4562
```bash
46-
git clone https://github.com/hsf-training/cpluspluscourse.git
47-
cd cpluspluscourse/code
63+
cd code/hello
64+
make
65+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.
66+
./hello
4867
```
4968

69+
### Optionally: check for valgrind/cppcheck
70+
71+
- `valgrind --tool=callgrind ./hello; kcachegrind`
72+
- `cppcheck .`
73+
74+
5075
Anatomy of an exercise
5176
----------------------
5277

53-
Each exercise is in a subdirectory with mainly 3 sets of files
78+
Each exercise is in a subdirectory with mainly 4 sets of files
79+
80+
### Instructions
81+
82+
- Each exercise comes with a set of instructions in the course slides
83+
- Most of them also with a `README.md` in the exercise subdir
84+
- And with instructions in the code
5485

5586
### *.hpp and *.cpp files
5687

@@ -61,50 +92,27 @@ Each exercise is in a subdirectory with mainly 3 sets of files
6192

6293
- prepared Makefile for easy compilation
6394
- `make` and `make clean` are available
64-
- CMake is also supported
95+
- CMake is also supported:
96+
- Create a build directory such as `mkdir build`
97+
- `cd build`
98+
- Configure using `cmake ..`
99+
- Compile e.g. using `make`
65100

66101
### solution subdirectory
67102

68103
- the solution to the exercise (`make solution`)
69104
- please do not use before trying!
70105

71-
Just follow the instructions
72-
----------------------------
73106

74-
- each exercise comes with a set of instructions in the course
75-
- also present in exercise subdir in markdown format
76-
- very practical to read on github
77-
78-
How to test your setup
79-
----------------------
80-
81-
### Just use hello exercise
82-
83-
- go to [`code/hello`](hello)
84-
- follow the `README.md`
85-
86-
### How to compile ?
87-
88-
```bash
89-
cd code/hello
90-
make
91-
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.
92-
./hello
93-
```
94-
95-
### Practically for valgrind/cppcheck
96-
97-
- `valgrind --tool=callgrind ./hello; kcachegrind`
98-
- `cppcheck .`
107+
Examples of working environments
108+
================================
99109

100110
Using lxplus
101111
------------
102112

103-
- lxplus is perfectly suitable for the exercises
113+
- lxplus9 at CERN is perfectly suitable for the exercises
104114
- it has all the needed compilers/tools
105-
106-
### Practically on lxplus9
107-
115+
- run e.g.
108116
```bash
109117
ssh lxplus9.cern.ch
110118
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.
@@ -114,6 +122,13 @@ make
114122
./hello
115123
```
116124

125+
Using OS/X
126+
----------
127+
- Install xcode and the command line tools
128+
- Compiling, running, debugging will work, but a few tools such as valgrind are not available
129+
130+
131+
117132
Using Windows
118133
-------------
119134

@@ -181,7 +196,7 @@ Verify that the tools are there by running:
181196
You can install an editor inside the WSL system itself,
182197
but we recommend to use [VS Code](#visual-studio-code) in Windows natively.
183198

184-
### lxplus
199+
### Connect to lxplus from Windows
185200

186201
Recent versions of Windows 10 (version 1809 or higher) come with an ssh client.
187202
If that does not work, you can install a third-party ssh client for Windows.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy