Computational Modelling Group

Workshop  28th September 2016 9 a.m.  Rutherford Appleton Laboratory

Practical Software Development @ EPCC at RAL

Web page
https://events.prace-ri.eu/event/551/
Submitter
Luke Goater

ARCHER, the UK's 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 will be running a 2 day ?Practical Software Development? training session.

Writing code is just part of developing effective software - how do you get the best from working with others as part of a software team, incorporating existing work into your own, contributing back and producing code and software suites for others?

Details

Software development comprises a range of activities including writing code, requirements analysis, testing and product evaluation. This course introduces how software development projects can be approached to achieve high-quality software products. Introducing important ideas for both academic and industrial development such software sustainability, testing, adapting processes and communications. The course will introduce practical skills important for use in developing software for research and industrial purposes.

Outline

Day 1:

Structured Development: Process, Teams and Communications

Design Issues and Requirements

Planning and Risks

Prototyping and Usability

Day 2:

Testing

Code Work: Analysis and Re-engineering

Looking back and Learning

Issues affecting Software Development

This course is free to all academics.

Intended learning outcomes

On completion of this course students should be able to:

Assess and articulate issues with design and code

Evaluate and propose risk management for a project

Estimate and justify a schedule for a project

Create a testing process and articulate the reasoning for the types of tests

Evaluate and critique a software project

Structure

The course will be delivered over two days in person. The course will interleave practical exercises, including teamwork, with short lectures and discussions.

Pre-requisites

There are no strict pre-requisites for this course, though familiarity with a programming language and concepts will be beneficial.