SPA Conference session: Tests in the GPU | |||
One-line description: | Program your shaders in GLSL, driven by tests | ||
Session format: | Tutorial (75 minutes) [read about the different session types] | ||
Abstract: | Test-Driven Development is desperately simple. Simple, because it takes about five minutes to understand the principles. Desperately, because real-life contexts seem always harder than case studies used for training -- at least by forty-two orders of magnitude. Just for laughs, we'll aim this time at doing the opposite (to practice TDD in a more difficult context than the typical workplace) and we'll show how we can use TDD to build a non-trivial shader in GLSL (OpenGL Shading Language). This tutorial is intended to push the limits of what is considered doable with TDD. By doing so, we hope to make the audience realize that if it's possible to test-drive code in GLSL, it should be possible to do so in virtually any TDD-resistant environment. This is a performative programming session: the audience will watch a performer programming for its (the audience's) benefit some non-trivial piece of code from A to Z. In the spirit of the Brechtian theatre, the audience is encouraged to laugh at the misery of the programmer on the stage, to be critical of their (the programmer's) successes, to cheer and to boo, to smoke and to eat, and to think about what they'd do (better) if they were in the same position. | ||
Audience background: | This session is intended for developers of all confessions, aspiring developers of all ages and professionals of all trades who wish they were still developers. The audience should have at least some theoretical understanding of what TDD is, and a practical experience at programming software. Knowledge of non-aristotelian drama theory isn't required. | ||
Benefits of participating: | This session is intended for developers of all confessions, aspiring developers of all ages and professionals of all trades who wish they were still developers. The audience should have at least some theoretical understanding of what TDD is, and a practical experience at programming software. Knowledge of non-aristotelian drama theory isn't required. | ||
Materials provided: | Pointers to GLSL guides | ||
Process: | This is a performative programming session: the audience will watch a performer programming for its (the audience's) benefit some non-trivial piece of code from A to Z - in this case, the programming of a shader in GLSL, driven by tests. | ||
Detailed timetable: | - 00:00 - 00:05 / presentation of problem context: what to do when needing to program in a TDD-resistant environment? - 00:05 - 00:25 / live-coding demonstration, part 1: writing a basic TDD framework in GLSL - 00:25 - 00:60 / live-coding demonstration, part 2: test-drive the programming of a Conway's Game of Life shader - 00:60 - 00:70 / audience shares what was their experience watching this - 00:70 - 00:75 / wrap-up | ||
Outputs: | The produced code will be published on Github. | ||
History: | This session has no previous history. | ||
Presenters | |||
1. Emmanuel Gaillot /ut7 |
2. | 3. |