This part of the module consists of student-led workshops, introducing tools and topics relevant in software engineering and computational research. Students select a topic from a list of available topics and prepare and deliver one 90 minute workshop to introduce their topic to the other students (and anybody else who would like to attend the workshop). Completed workshops contribute an entry to

Timetabled workshop sessions

Weekly 2-hour sessions are scheduled for all weeks in Semester 2 on

  1. TW18-33: Monday 9:00 to 11:00 in 177 / 2011
  2. TW22-33: Tuesday 15:00 to 17:00 in 177 / 2011

You will need to bring a laptop with VirtualBox installed to take part in the exercises.

Allocation and schedule of workshops

The schedule of presentations is as follows:

Weeks # Date Topics
TW 18 1 Mon, 29 January 2018 Introduction, House keeping
TW 19 1 Mon, 5 February 2018 Topic selection
TW 20 1 Mon, 12 February 2018 VirtualBox
TW 21 1 Mon, 19 February 2018 Pelican
TW 22 1 Mon, 26 February 2018  
  2 Tue, 27 February 2018 Keras
TW 23 1 Mon, 5 March 2018 Vim
  2 Tue, 6 March 2018 Processing (Visual programming language)
TW 24 1 Mon, 12 March 2018 R
  2 Tue, 13 March 2018 OpenCV
TW 29 1 Mon, 16 April 2018 PyTorch
  2 Tue, 17 April 2018 Matlab Version Control / CI
TW 30 1 Mon, 23 April 2018 Cactus
  2 Tue, 24 April 2018 SQL
TW 31 1 Mon, 30 April 2018  
  2 Tue, 1 May 2018  
TW 32 1 Mon, 8 May 2018 Bank Holiday
  2 Mon, 9 May 2018  
TW 33 1 Mon, 14 May 2017  
  2 Tue, 15 May 2017  

Note: We will utilise the Monday and Thursday lecture slot if there are two topics per week.

Student topics

Topics will discussed in lecture one and finalised in lecture twp on Mon, 5 February 2018. A selection of suggestions can be found on the FEEG6003 Trello Board . In preparation for this, have a look at the available topic areas and select a few that you consider interesting.

> Note that you will need to use your Southampton email address on Trello to make changes to the board.

Workshop Duration

The presentation at the beginning should be between 15 and 45 minutes. The practical exercise should immediately follow the presentation. Exercise and presentation together should take between 60 and 90 minutes. If you prefer, you can mix presentation and exercises as you see fit best for your topic.

Your whole workshop should not take longer than 90 minutes.

Expected materials to prepare and deliver

For your workshop, we expect you to produce/do the following:

  1. Find a topic, discuss your plans how to present this with your topic partner and the module lecturers.
  2. Create an announcement of the workshop on CMG events, including a summary, some image and suitable caption. Tick at least the 'NGCM' tag towards the bottom of the page, and if approriate other tags. Complete this 2 weeks before your workshop, and let the lecturers know that you have done so. (You can update the text later.)
  3. Create a Linux virtual machine on which you have installed the tool(s) you introduce or provide an environment as required for your workshop. Make this virtual disk image available (see Computing environment: virtual machines).
  4. Provide installation instructions for this virtual machine, including some steps that students can take to check that the virtual machine works for them. Make this available as a first part of your teaching materials on (Our workshop in week 3 will tell you how to do that.) Complete this 8 days before your workshop starts.
  5. Develop slides, notebooks, self-paced instructions and/or whatever medium you think is most appropriate as teaching material for (i) the presentation and (ii) the training session in the second half of your workshop.
  6. Deliver the workshop.
  7. Make the taught materials available online in a form that others (from Southampton and elsewhere) can benefit from the material (within one week after your workshop) by extending your entry at You can do this before you deliver the workshop, and use the online materials during the workshop if you wish.
  8. Produce some (confidential) reflective notes on how the delivery went, what went well, what worked differently from what you expected, what could be changed/improved (within one week after your workshop). Send those [as plain text] to and CC the module coordinator (Denis Kramer).
  9. Produce a short summary of the work shop to be published on the NGCM blog, pointing to the detailed teaching materials at See Creation of public teaching material.
  10. Gather everything you have produced and make it available to the module lecturers (within one week after your workshop) via the module leader. A tar file would be appropriate. If the file is too large, contact the module leader, otherwise email to and CC to the module coordinator.

Guidance for learning and teaching material selection and delivery

You cannot introduce any broad topic or tool to a significant depth within your workshop. Instead, you can and should focus on more modest aims, such as:

  • conveying the general idea: what is it used for, how does it fit into the ecosystem of tools/demands of a (computational) researcher, what are the benefits, ...
  • lower the barrier of people testing/using it by providing some hands-on exercises
  • giving attendees a better appreciation of the tool/technique through a practical exercise
  • giving students confidence in a particular way of using a tool, maybe with examples that they can re-use directly (for presentations, report writing etc).

Not always is the most complex example you can come up with the most appropriate one to address the aims listed above.

Bear also in mind that your audience is two-fold: those attending your workshop and those studying/using your teaching materials online (at a later point). You cannot deliver perfect versions for both groups, but you can try to provide something that is usable for both groups.

So what material and learning method should I produce?

Be creative regarding the particular teaching materials you will deliver to best convey the topic: you can use static slides, IPython/Jupyter Notebooks, the black/white board, self-paced exercises, instructions hosted on a webpage, github/bitbucket repository, on paper/pdf, in a notebook, produce videos to announce the topic (1 minute?) or record a video of your workshop and make it available online, create blog entries, electronic books or a dedicated Twitter account -- there is a lot of choice. Feel free to seek advice from the lecturers if you like feedback on your planning.

Computing environment: virtual machines

To provide a uniform computing environment, workshop presenters will provide virtual machines for participants to use during the workshops.

  • To provide all participants of your workshop with the same pre-installed computing environment, we ask you to create a virtual machine with the tool/software/package installed that you are going to introduce. We recommend to use virtualbox.
  • There is an introduction into creating virtual machines available at (the proposed image uses 32bit (instead of 64bit) to be more portable, in particular for 32bit laptops.)
  • The virtual machine image can be stored on the account Please choose a sensible name for the virtual machine and copy the image using scp into the folder /home/ngcmbits/public_html/virtualmachines which maps onto, where all workshop participants can download the image. The account password is available from the lecturers on request.

Upload your disk image

To upload your VM to, you need to send it to the module coordinator well before the workshop:

  1. Use the University drop-off service to deposit your VM, and
  2. Email the module coodinator to make sure your VM is moved into place
  3. Once we have put your file in place, make sure that it is world readable and that links that point to it work as expected.

Creation of public teaching material

Workshop presenters need to create an entry at that provides learning material that can be used independently of the workshop by future students and others outside Southampton.

The webpages are created using pelican. There will be an introduction to pelican in week 4, and you can also refer to past training on the topic at:

Assessment guidance

Further guidance regarding assessment criteria is available on a separate page.