skip to navigation skip to content
Thu 2 Mar 2017
14:15 - 17:00

Venue: Hopkinson Lecture Theatre

Provided by: University Information Services


Booking

Bookings cannot be made on this event (Event is in the past).


Other dates:

No more events

[ Show past events ]



Register interest
Register your interest - if you would be interested in additional dates being scheduled.


Booking / availability

Program Design: How to Help Programs Debug Themselves
Prerequisites

Thu 2 Mar 2017

Description

This course is part of the Scientific Computing series.

This course is intended for serious programmers who need to develop large or complex codes, or to write applications that will be used and worked on by other people or over a long time (years). It will describe some of the design and coding techniques that can make debugging easier (sometimes even semi-automatic), and reduce the overall development and maintenance effort by spending a bit more time during design and coding.

It is applicable to any conventional language, from Python to Fortran to Java to C++ and even assembler, and will describe the techniques in generic terms. It should be regarded as part of the practical end of software engineering - everything covered will be something that the speaker has found to be useful in practice.

Prerequisites

Significant experience with a conventional language; it is assumed that the audience has written at least a 1,000 line program or done comparable modifications to an existing program, and is working or planning to work on a bigger one. Users with less experience may benefit from the course, or they may get confused.

Sessions

Number of sessions: 1

# Date Time Venue Trainer
1 Thu 2 Mar 2017   14:15 - 17:00 14:15 - 17:00 Hopkinson Lecture Theatre N.M. Maclaren
Topics covered
  • The development cycle, as practiced in academia and research.
  • Some relevant experience from the IT industry.
  • Documentation as a debugging technique.
  • Designing interfaces for debuggability.
  • Writing checks to help code detect its own errors.
  • How and when to write and use validation primitives.
  • Efficient and comprehensible tracing of control and data flow.
  • Using the above together with debugging tools.
  • Use with test suites and regression testing.
Format

A presentation, with questions at any point.

Duration

One half day session

Themes

Booking / availability

Override user: