RSE Introduction Dr James Grant HPC User Group 22nd November 2017

Slides:



Advertisements
Similar presentations
Achieve Benefit from IT Projects. Aim This presentation is prepared to support and give a general overview of the ‘How to Achieve Benefits from IT Projects’
Advertisements

Software Project Management
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
A Prototyping Lifecycle. The Waterefall Model and Prototyping 4 As early as the 1980’s the classic “Waterfall model” of software development was criticised.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Andy Nicholls – Head of Consultancy DevelopR – formalising R Development.
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Background The Encyclopedio of Life (EOL) is an ROR open source project to create a free, online reference source and database for every one of the 1.8.
ENGINEERING ECONOMY DR. MAISARA MOHYELDIN GASIM College of Engineering Engineering Economy (GE 4010) COURSE OUTLINES.
Course Introduction Software Engineering
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
(1) Test Driven Development Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
1 Introduction to Design I Presented by: Dr. Carla Zoltowski Find a partner for today’s lecture. Professional Development Series Lecture (Project Management:
Homework #1a Lifecycle Paper For each stage of the life cycle provide a list of items you think should be there. There should be at a minimum of five items.
JOSHUA WORLEY NOVEMBER 11, 2013 ITEC 7445 – FALL 2013 DR. GOETZEL EMERGING TECHNOLOGIES PROJECT GradeCam.
CMMI Certification - By Global Certification Consultancy.
Software Documentation in an Agile Environment
Practice focused learning:
Software Development.
Real Testing Scenario Strategy: A Real-life TestOps Environment
Provide instruction.
Continuous Delivery- Complete Guide
Task 2.6 Eric Delory PLOCAN
Version Control with Subversion
Developing a SDG Reporting Platform – UK perspective
Mindset Foresight Broad Scanning Strategic Resource Management
Presented by: Co-op 2.0 Project Team
Test Driven Development 1 November Agenda  What is TDD ?  Steps to start  Refactoring  TDD terminology  Benefits  JUnit  Mocktio  Continuous.
Overview of VAdata Virginia’s Sexual and Domestic Violence Data Collection System.
Programme Board 6th Meeting May 2017 Craig Larlee
System Development Life Cycle (SDLC)
A451 Theory – 7 Programming 7A, B - Algorithms.
One tool to rule them all? Integration or survival of the fittest
Auditing in an Agile Environment
Computational Chemistry Seminar
Internal collaboration
System Development Life Cycle (SDLC)
17F4-final-presentation
Graduation Project Kick-off presentation - SET
XSEDE’s Campus Bridging Project
Writing a Technical Report
Introduction to Software Testing
Project tracking system for the structure solution software pipeline
How an RSE can benefit your projects:
Testing and Test-Driven Development CSC 4700 Software Engineering
One tool to rule them all? Integration or survival of the fittest
Continuous Delivery good & bad 4/20/2012
Chapt 2 Iterative Evolutionary Agile.
The essentials of Learning, E-learning and ISD
Collaborative Research: Making Software Engineering Work for Computational Science & Engineering: An Integrated Approach Jeffrey Carver and George K. Thiruvathukal.
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Software engineering -1
System Development Life Cycle (SDLC)
GitHub A Tool for software collaboration James Skon
Our session this morning…
#GCDigital Design System
Delivering Business Value Faster
CLAIMS CLassification Automated InforMation System
Rapid software development
Visual Studio 2010 和 .NET Framework 4 培训研讨会
Topic 1: Introduction to the Module and an Overview of Agile
SPR-B Research Coordination Webinar
Libraries & the LIT Programs
Computational Environment Management
Presentation transcript:

RSE Introduction Dr James Grant HPC User Group 22nd November 2017 Hi, I’m me

Computational Chemistry focus Validating/Benchmarking VASP: Isambard – GW4 Tier 2 HPC: Computational Chemistry focus Validating/Benchmarking VASP: Phase 1 - x86/GPU/Phi Phase 1 – Arm prototype Phase 2 – arriving 2018 Your favourite codes? Isambard

Co-ordinate group training Assist development/code review Within Bath: Co-ordinate group training Assist development/code review One-to-one training Collaborate on grant applications and projects Other

Short term aims Conduct Research Software Survey. Identify training needs. Meet with Research (Computing) Leads Describe RSE “support catalogue”

Medium term aims Develop collaborations across University. RS skills training with DC/CLT by 2018/19 Develop material to highlight benefits of RS best practise. Respond to feedback, need identified through RS survey.

Useful Links https://software-carpentry.org/ https://software.ac.uk/ http://rse.ac.uk Best practises for scientific computing: http://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745 Good enough practises in scientific computing: http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005510 The book: Effective Computation in Physics: Field Guide to Research with Python http://shop.oreilly.com/product/0636920033424.do (Don’t be put off the title, for physics read research) http://people.bath.ac.uk/rjg20

Testing/validating code Version Control Design Testing/validating code Documentation Development tools Best practise in software development Taking time to think about Design, modularisation of code. Don’t just jump in, design code. Difference between coder/programmer and software engineer Version control, particularly with multiple-developers, multi-site development, git github, bitbucket services – used with DLMONTE, -> benefits are backups version history, see when bugs are introduced, recover a working version. Not full test driven development, gaining favour in industry, but at minimum validation cases, demonstrate code works on simple tests cases/ comparison with literature/analytic results introduced to DLMONTE Dev tools: debugging, profiling, Allinea, CrayPAT/ programming environment – without these tools debugging is printf, you are reduced to guess work on performance. || code the problem is much more difficult still, I pushed for during the Balena acquisition. Continuous integration: Automated VC and testing suite, rejects changes which break code, won’t necessarily apply to most project but useful for larger dev/remote developers, Jenkins, travis Documentation: Coding guides – consistent code Software documentation – ease of lead-in time for new developers, some industry say tdd should deprecate documentation. Auto production tools. User manual – Essential to describe functionality and useability if you want others in the community to use it. Continuous Integration