-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
280 lines (256 loc) · 8.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
---
layout: bootcamp
root: .
venue: Imperial College London
address: Room 1.51, Royal School of Mines (RSM) Building, South Kensington Campus, Imperial College London, London.
country: United-Kingdom
humandate: Sep 16-17, 2014
humantime: 10:00 am - 5:00 pm
startdate: 2014-09-16
enddate: 2014-09-17
latlng: 51.499471,-0.176400
registration: open
instructor: ["Mike Jackson", "Arno Proeme"]
contact: support@archer.ac.uk
---
<h2>
Software Carpentry bootcamp
</h2>
<p>
<a href="http://www.archer.ac.uk">ARCHER</a>, the UK's new national
supercomputing service, offers training in software development and
high-performance computing to scientists and researchers across the
UK. As part of our training service we are running a 2 day Software
Carpentry bootcamp.
</p>
<p>
<a href="http://software-carpentry.org">Software Carpentry</a> boot
camps help researchers become more productive by teaching software
development skills that enable more to be done, in less time, and with
less pain. We will cover skills including version control, task
automation, good programming practice and automated testing. These are
skills that, in an ideal world, researchers would master before
tackling anything with "cloud" or "peta" or "HPC" in their name, skills
that enable researchers to optimise their time and provide them with a
secure basis to optimise and parallelise their code.
</p>
<p>
This course is being run by <a
href="http://www.epcc.ed.ac.uk">EPCC</a>, as part of ARCHER, and <a
href="http://www3.imperial.ac.uk/">Imperial College London</a>. The course
is in collaboration with Software Carpentry, a <a
href="https://wiki.mozilla.org/ScienceLab">Mozilla Science Lab</a>
initiative.
</p>
<!-- This block displays the instructors' names. -->
{% if page.instructor %}
<p>
<strong>Instructors:</strong>
{{page.instructor | join: ', ' %}}
</p>
{% endif %}
<p>
<strong>Who:</strong>
The course is aimed at graduate students, post-docs and other
researchers. You must have some experience of writing code or scripts
and be familiar with programming concepts including conditionals,
loops, arrays and functions. You should also be comfortable with using
the bash shell. For an introduction to the shell, please see, for
example, Software Carpentry's lessons on <a
href="http://software-carpentry.org/v5/novice/shell/">The Unix
Shell</a>.
</p>
<!-- This block displays the address and links to a map showing directions. -->
{% if page.latlng %}
<p>
<strong>Where:</strong>
{{ page.address }}.
<ul>
<li>
Get directions with
<a href="http://www.openstreetmap.org/?mlat={{ page.latlng | replace:',','&mlon=' }}&zoom=16">OpenStreetMap</a>
or
<a href="http://maps.google.com/maps?q={{ page.latlng }}">Google Maps</a>.
</li>
<li>
<a href="http://www3.imperial.ac.uk/campusinfo/southkensington">How to find Imperial College London South Kensington campus</a>
</li>
<li>
The RSM Building is building 9 on the Imperial College London South Kensington <a href="https://workspace.imperial.ac.uk/campusinfo/Public/sthkencampus.pdf">campus map</a> (PDF).
</li>
<li>
The nearest London Underground station is South Kensington.
</li>
</ul>
</p>
{% endif %}
<p>
<strong>Requirements:</strong>
The course will be hands-on, and you will need to bring your own
laptop (you'll be asked to install some software before you
arrive).
</p>
<!--
This block automatically inserts a contact email address if one has
been specified for the page.
If one hasn't, this block inserts the generic contact address for
Software Carpentry.
Leave this commented out - contacts can go via the ARCHER training page.
<p>
<strong>Contact</strong>:
Please mail
{% if page.contact %}
<a href='mailto:{{page.contact}}'>{{page.contact}}</a>
{% else %}
<a href='mailto:{{site.contact}}'>{{site.contact}}</a>
{% endif %}
for more information.
</p>
-->
<hr/>
<h2>Registration</h2>
<p>
To register, or to get more information, please, visit the <a
href="http://www.archer.ac.uk/training/">ARCHER training page</a>.
</p>
<hr/>
<h2>Schedule</h2>
<p>
Tuesday 16th September:
</p>
<ul>
<li>09:45 - 10:15 Registration and software set-up</li>
<li>10:15 - 10:45 Welcome</li>
<li>10:45 - 11:45 Shell refresher, hints and tips</li>
<li>11:45 - 12:30 Using version control (Git) to manage and share information</li>
<li>12:30 - 13:30 LUNCH</li>
<li>13:30 - 15:15 Using version control (Git) to manage and share information</li>
<li>15:15 - 15:45 BREAK</li>
<li>15:45 - 17:30 Automation and make</li>
</ul>
Wednesday 17th September:
<ul>
<li>09:30 - 10:30 Good programming practice and Python</li>
<li>10:30 - 11:00 BREAK</li>
<li>11:00 - 12:30 Good programming practice and Python</li>
<li>12:30 - 13:30 LUNCH</li>
<li>13:30 - 15:30 How (and how much) to test programs</li>
<li>15:30 - 16:00 BREAK</li>
<li>16:30 - 17:00 Pulling everything together - best practices for scientific computing</li>
</ul>
<hr/>
<h2>Setup</h2>
<p>
To participate in the bootcamp, you will need working copies of the
software described below. Please make sure to install everything (or
at least to download the installers) <em>before</em> the start of your
bootcamp.
</p>
{% include setup.html %}
<hr/>
<h2>Check your setup</h2>
<p>
To test you have everything, download the following Python scripts and
run them within your bash shell:
</p>
<ul>
<li><a href="./setup/swc-installation-test-1.py">swc-installation-test-1.py</a>- checks Python version
<li><a href="./setup/swc-installation-test-2.py">swc-installation-test-2.py</a>- checks Python and shell packages
</ul>
<p>
For example
</p>
<pre>
python swc-installation-test-1.py
python swc-installation-test-2.py
</pre>
<hr/>
<h2>Useful links</h2>
<ul>
<li>
<a href="novice/ref/05-prompts-exits.html">Recognising prompts and how to exit</a>
</li>
</ul>
<p>
Course materials:
</p>
<ul>
<li>
Bootcamp student <a href="http://github.com/hpcarcher/2014-09-16-imperial-students">slides, sample code and scripts</a>
</li>
</ul>
<p>
Software Carpentry online lessions:
</p>
<ul>
<li><a href="novice/shell/index.html">The Unix Shell</a></li>
<li><a href="novice/git/index.html">Version Control with Git</a></li>
<li><a href="novice/python/index.html">Programming with Python</a></li>
<li><a href="http://software-carpentry.org/v4/make/index.html">Make</a></li>
<li><a href="http://software-carpentry.org/v4/test/index.html">Testing</a></li>
</ul>
<p>
Git:
</p>
<ul>
<li>
GitHub <a href="https://try.github.io/levels/1/challenges/1">interactive Git tutorials</a>
</li>
<li>
<a href="http://justinhileman.info/article/git-pretty/">Git pretty</a> - a flowchart about how to recover from mistakes.
</li>
<a href="https://presentate.com/bobthecow/talks/changing-history">Changing History, or How to Git pretty</a> - slides relating to the above.
</li>
</ul>
<p>
Python:
</p>
<ul>
<li>
<a href="http://matplotlib.org/gallery.html">matplotlib examples gallery</a> - includes source code.
</li>
<li>
<a href="http://wiki.scipy.org/Cookbook">SciPy Cookbook</a> - examples of how to do useful stuff using numpy, scipy, matplotlib, interfacing, etc.
</li>
<li>
Scientific Python <a href="http://scipy-lectures.github.io/">lecture notes</a></li>
</ul>
<p>
Training:
</p>
<ul>
<li>
<a href="http://www.archer.ac.uk/training/">ARCHER Training</a> - free HPC training all over the UK.
</li>
<li>
<a href="http://www.codecademy.com/">Code Academy</a> - free online programming courses</a>
</li>
</ul>
<p>
Papers:
</p>
<p>
Wilson G, Aruliah DA, Brown CT, Chue Hong NP, Davis M, et al. (2014)
Best Practices for Scientific Computing. PLoS Biol 12(1): e1001745. <a
href="http://dx.doi.org/10.1371/journal.pbio.1001745">doi:10.1371/journal.pbio.1001745</a>.
</p>
<p>
Sandve GK, Nekrutenko A, Taylor J, Hovig E (2013) Ten Simple Rules for
Reproducible Computational Research. PLoS Comput Biol 9(10): e1003285.
<a
href="http://dx.doi.org/10.1371/journal.pcbi.1003285">doi:10.1371/journal.pcbi.1003285</a>.
</p>
<p>
Noble WS (2009) A Quick Guide to Organizing Computational Biology
Projects. PLoS Comput Biol 5(7): e1000424. <a
href="http://dx.doi.org/10.1371/journal.pcbi.1000424">doi:10.1371/journal.pcbi.1000424</a>.
</p>
<p>
Ram K (2013) "git can facilitate greater reproducibility and increased
transparency in science", Source Code for Biology and Medicine 2013,
8:7 <a
href="http://dx.doi.org/10.1186/1751-0473-8-7">doi:10.1186/1751-0473-8-7</a>.
</p>
<p>
Glass, R. (2002) Facts and Fallacies of Software Engineering, Addison-Wesley, 2002. (<a href="http://ff.tu-sofia.bg/~bogi/France/SoftEng/books/Addison%20Wesley%20-%20Robert%20L%20Glass%20-%20Facts%20and%20Fallacies%20of%20Software%20Engineering.pdf">PDF</a>).
</p>