CIS software workshop

In this software workshop you will learn to use effective tools to building research software.

After an introduction to key aspects of programming, the workshop will cover version control and testing, licensing and open source software, and a one-to-one support session to solve specific issues and errors in your software. Bring your code along!

Target audience: students and researchers without prior professional or team experience in software development.



Programme

Location: FB 1.15a, Francis Bancroft building, Mile End Campus, Queen Mary University of London


28 April - Thursday
9:30-10:00 Registration
10:00-10:30 Myths and truths of software development

Software development is a complex and ill-understood activity. This talk will quickly survey some studies about the process of collaborative software development and discuss what we actually know about it, exploding a few myths along the way.

[slides]
Chris Cannam Chris Cannam
10:30-14:30
Version control systems

Version control is an essential part of modern software development.
Tools such as git and subversion allow programmers to develop their ideas along multiple tracks, combining what works. This leads to a more robust yet free-form way of working, and the avoiding of situations when you do not remember what was changed in the software or why the code no longer works.
Such tools have another major benefit; team work. Ideas and code need not come from a single programmer but the same tools that allow for backups, branches and versions also allows for easy collaboration.
In these sessions we will introduce you to Git, Github and the various support tools that can help you build beautiful code.

[Git exercise]

Coffee break: 11:00-11:30

Break: 12:30-14:00

Benjamin Blumdell Benjamin Blundell
14:30-15:30
Testing your software

Testing is one of the most important parts of software development. During this session, you will learn how to properly structure your code to make it testable and which are the most common tools for software testing.

[slides]

Mustafa Bozkurt
Mustafa Bozkurt
15:30-16:00 Coffee break
16:00-16:30
Licensing and open source

During this talk we will explore what licensing is and the meaning of open source software, the regulations and restrictions attached to a piece of code, and which codes can and cannot be integrated in your own software. Some hints on the trade-off between open source and IP protection will also be discussed along with code ownership and how to cite or refer to someone else’s code.

Noam Shemtov
Noam Shemtov
16:30-17:00
Your programming issues

Experts will provide help in solving your programming issues. Participants can take and show their code and projects to the experts in one-to-one sessions.