-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschedule.html
More file actions
210 lines (165 loc) · 8.09 KB
/
schedule.html
File metadata and controls
210 lines (165 loc) · 8.09 KB
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
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<title> Software Carpentry Workshop Agenda </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="css/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="css/bootstrap/bootstrap-responsive.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="css/swc.css" />
<link rel="alternate" type="application/rss+xml" title="The Software Sustainability Institute Blog" href="http://software.ac.uk/blog"/>
<style>
#schedule td{
border-collapse: collapse;
border-left: none;
border-right: none;
}
</style>
</head>
<body class="workshop">
<div class="container card">
<div class="banner">
<a href="http://software-carpentry.org" title="Software Carpentry">
<img alt="Software Carpentry banner" src="http://software-carpentry.org/img/software-carpentry-banner.png" />
</a>
</div>
<article>
<div class="row-fluid">
<div class="span10 offset1">
<h2>Introduction to Shell, Python, Version Control and Testing: Agenda</h2>
<p><a href="http://data.southampton.ac.uk/room/32-3077.html" >Room 3077</a>, Building 32, Highfield Campus</p>
<p>The following agenda outlines what will be taught on the course. Additional notes on the teaching materials will be made available shortly after the course.
</p>
<p>The software prerequisites for the lessons can be found <a href="prerequisites.html">here</a>.
</p>
<p> <h3> Day 1: September 17 </h3></p>
<table class="table table-striped" id="schedule" rules="none">
<tr>
<td border="0 !important" width="15%">09:00 - 09:30</td> <td width="85%"> <strong> Arrival, Welcome and Setup </strong> </td>
</tr>
<tr>
<td border="0 !important" width="15%">09:30 - 10:00</td> <td width="85%"> <strong> Introduction</strong> </td>
</tr>
<tr>
<td border="0 !important" width="15%">10:00 - 11:00</td> <td width="85%" align="justify"> <strong> Automating tasks with the Unix shell</a> </strong> <br/>
The Unix shell is a power tool that allows you to do complex things with just few keystrokes by helping you in combining existing programs in new ways and automate repetitive tasks.
This session guides you through the basics of file system and the shell and will start you on the path towards using powerful tools and computing resources.
The following topics will be covered: <br/>
<br/>
<ul>
<li>Introducing the shell</li>
<li>Files and Directories</li>
<li>Creating things</li>
<li>Pipes and Filters</li>
<li>Loops</li>
<li>Shell Scripts</li>
<li>Finding Things</li>
</ul>
</td>
</tr>
<tr>
<td border="0 !important" width="15%">11:00 - 11:30</td> <td width="85%"> <strong> Break </strong> <br/> </td>
</tr>
<tr>
<td border="0 !important" width="15%">11:30 - 12:00</td> <td width="85%" align="justify"> <strong> Shell: Examples and practice</strong> <br/>
</td>
</tr>
<tr>
<td border="0 !important" width="15%">12:00 - 13:00</td> <td width="85%" align="justify"> <strong> Break (Lunch not provided)</strong> <br/> </td>
</tr>
<tr>
<td border="0 !important" width="15%">13:00 - 14:30</td> <td width="85%" align="justify"> <strong>Python basics</strong> <br/>
In this session, you'll learn good programming practices with an introduction to the fundamentals of Python.
The following topics will be covered: <br/>
<br/>
<ul>
<li>Basics - e.g. Starting Python, using variables</li>
<li>Working with arrays and lists</li>
<li>Using libraries</li>
<li>Reading and plotting data</li>
</ul>
</td>
</tr>
<tr>
<td border="0 !important" width="15%">14:30 - 15:00</td> <td width="85%"> <strong> Break</strong> <br/> </td>
</tr>
<tr>
<td border="0 !important" width="15%">15:00 - 16:00</td> <td width="85%"> <strong> Building programs with Python</strong> <br/>
This session will teach you how to design and build programs more productively and the tools and techniques that you can adopt to produce better code.
The following topics will be covered: <br/>
<br/>
<ul>
<li>Basic program control - loops and conditionals</li>
<li>Creating and using functions</li>
<li>Using Python from the command line</li>
</ul>
</td>
</tr>
<tr>
<td border="0 !important" width="15%">16:00 - 16:30</td> <td width="85%"> <strong> Wrap-up of Day 1</strong> <br/> </td>
</tr>
</table>
<p> <h3> Day 2: September 18 </h3></p>
<table class="table table-striped" id="schedule" rules="none">
<tr>
<td border="0 !important" width="15%">09:30 - 11:00</td> <td width="85%"> <strong> Version control with Git </strong> <br/>
This session will teach you how to track and manage changes within your code, how to collaborate with other developers through a shared code repository, and generally improve the reproducibility of your research.
The following topics will be covered: <br/>
<br/>
<ul>
<li>Creating and cloning repositories</li>
<li>Committing changes to files: <code>add</code>, <code>commit</code>, ...</li>
<li>Viewing changes: <code>status</code>, <code>diff</code>, ...</li>
<li>Working with remote repositories, e.g. through GitHub: <code>clone</code>, <code>pull</code>, <code>push</code>, ...</li>
<li>Resolving conflicts</li>
</ul>
</td>
</tr>
<tr>
<td border="0 !important" width="15%">11:00 - 11:30</td> <td width="85%"> <strong> Break </strong> </td>
</tr>
<tr>
<td border="0 !important" width="15%">11:30 - 12:00</td> <td width="85%"> <strong> Git: Examples and practice</strong> </td>
</tr>
<tr>
<td border="0 !important" width="15%">12:00 - 13:00</td> <td width="85%"> <strong> Break (Lunch not provided)</strong> </td>
</tr>
<tr>
<td border="0 !important" width="15%">13:00 - 14:30</td> <td width="85%"> <strong> Writing robust code and unit testing with Python</strong> <br/>
Does the code developed by you work the way it should do? Can you (or others) verify these assertions for themselves? And perhaps most importantly, to what extent are you confident of the accuracy of results that appear in publications?
This session will teach you techniques of developing robust code and good unit tests to improve the predictability of a change, make development more productive and produce code that works as expected and produces desired results.
The following topics will be covered: <br/>
<br/>
<ul>
<li>Introduction to Nose testing framework</li>
<li>Writing and executing unit tests</li>
<li>Defensive programming</li>
<li>Handling exceptions</li>
<li>Test-Driven development</li>
</ul>
</td>
</tr>
<tr>
<td border="0 !important" width="15%">14:30 - 15:00</td> <td width="85%"> <strong>Break</strong> </td>
</tr>
<tr>
<td border="0 !important" width="15%">15:00 - 15:30</td> <td width="85%"> <strong> Unit testing: Examples and practice</strong> </td>
</tr>
<tr>
<td border="0 !important" width="15%">15:30 - 16:00</td> <td width="85%"> <strong> Wrap-up and Feedback</strong> <br/> </td>
</tr>
</table>
</div>
</div>
</article>
<div class="footer">
This work is derived from prior works that are Copyright © <a href="http://software-carpentry.org">Software Carpentry</a>
<a class="label swc-blue-bg" href="LICENSE.html">License</a>
<a class="label swc-blue-bg" href="https://github.com/Southampton-RSG/2015-09-17-southampton">Source</a>
</div>
<!-- Javascript placed at the end of the document so the pages load faster. -->
<script src="{{site.swc_site}}/js/jquery-1.9.1.min.js"></script>
<script src="{{site.swc_site}}/js/bootstrap/bootstrap.min.js"></script>
</body>
</html>