Training: Software Development for Scientists
SORRY – THIS COURSE IS NOW FULLY BOOKED! Email firstname.lastname@example.org to join the waiting list and to find out about future dates for this course.
PLEASE RETURN TO THE MAIN TRAINING & DEVELOPMENT MENU FOR DETAILS OF OTHER IEA COURSES
What you will learn: Best practice programming techniques for engineers and scientists with hands-on learning through practical exercises.
Cost: £1,200 (£1,000 IEA Partners & universities. Accommodation is not included)
Closing date: Monday, July 4, 2016
Software engineering is a large and complex discipline and so this IEA short course will focus on the most important and relevant elements for scientists, crucial amongst which are usability, maintainability, accuracy, and readability.
These are the foundations of professional code development skills. We will teach and demonstrate the benefits of good initial design, thorough testing, algorithm re-use and code progression, the ideas of elegance, abstraction, performance and scalability.
The course is led by Jane Lewis, a very experienced software engineer who also has expertise in handling environmental data.
The course is aimed principally at PhD students, early career scientists and those who have been coding for less than a year. If you are interested the course but are not in this category please contact Vicky Lucas to discuss.
Topics will include:
- Revision of fundamentals (shells, syntax, concepts etc.)
- Basic design methodologies
- Simple data structures
- Version control
- Unit and integration testing
- Basic diagramming
- Commenting and coding standards
- Requirements capture
- Error handling and basic debugging
Course content (09.30 – 17.30 daily, 16.30 on Friday)
- Day 1: Commands & Shell; IDEs; Control Flow; Version Control
- Day 2: Simple Data Types; Requirements; NetCDF; Diagrams
- Day 3: Design; Modularity; Complex Data Types; Debugging
- Day 4: Standards & Reviews; Testing; Error Handling; Guest Speaker; Q&A session
- Day 5: Admin; Project work
From Wednesday, June 1, course content can be obtained by retrieving the list of files here using ‘SaveLinkAs’ from the right-click menu, this will usually save the file to your ‘Downloads’ folder. From the command line, navigate to the folder where you have saved the file and run:
wget -i content_file_list.txt
This will get all the files in the list and save them to the same folder.
Setting up the Virtual Machine (VM) (Please note links will be live from June 1, 2016)
Please ensure you have downloaded and installed the virtual machine before you arrive on Day 1. Also make sure that your network connection is working.
- Download and install Virtual Box: the VM manager may be downloaded from https://www.virtualbox.org/wiki/Downloads Select the version appropriate to your host OS.
- Copy the VM to your machine: the VM itself is here: save the 3Gb file to your machine. It is a 64-bit version and will only work on 64-bit host machines, a 32-bit version is also available here. You will need at least 4Gb of RAM of which the VM will take 2Gb.
- Launch Virtual Box, then choose File->Import Appliance and point to the VM copy you’ve just made, leave all the default settings. This will take a while to load.
- Click on the green arrow ‘Start’.
- The virtual machine will launch in full-screen mode, use “right_ctrl+F” to make it a window.
- If the screen locks, the password is ‘nerc’.
- Generally you will want to ‘save the machine state’ when you exit the VM.
Items included in the VM are:
Python with netcdf, matplotlib, numpy & scipy modules
ncview & ncdump
If you wish to install these items separately onto your machine without using the VM, then please be aware that we may not be able to fix problems you encounter. If using Windows (possibly Mac too) you will also need cygwin so that you are able to run Unix commands and shell scripts.
Data (Please note links will be live from June 1, 2016)
We will be making use of various data files during the exercises. If you are able to download them in advance, that will speed things up. Download the list of data files here using ‘SaveLinkAs’ from the right-click menu, this will usually save the file to your ‘Downloads’ folder. From the command line, navigate to the folder where you have saved the file and run:
wget -i data_file_list.txt
This will get all the files in the list and save them to the same folder. Note where this is so you can move the files to a more suitable location during the exercises.
Our final day will consist primarily of a project to put all the learning points into practice. We will provide data and a typical problem scenario. If you wish to bring your own data and/or amend the scenario to better reflect your particular situation, then we will support you as much as possible.
If you are not familiar with Python then we suggest doing some background reading and the following may be of use:
TutorialsPoint is a good starting point too.
If you would prefer to use an alternative language to do the course exercises, you are at liberty to do so but we may not be able to support you fully and some features may not be available to you.
We will start at 9.30am on Monday, July 11, 2016.