Ase

Lab 2 Test Driven Development

Aims The aim of this lab is to introduce the process of TDD and develop some simple tests. Multi File Build and Project Setup Build Tools (cmake and make test) Using gtest and git Test Driven Design of a Simple RGBA structure Getting Started To start this project we are going to build a typical software project setup.

Lab 3 Test Driven Development

Aims The aim of this lab is to introduce the process of test driven development (TDD) and develop some simple tests, we will use the following steps. Project Setup Test Setup Test Driven Design of a Simple RGBA class using Version control Storing Pixels It is common to store image pixel data using a single unsigned int32_t data type.

Lab 3 An Image Class

Aims The aim of this lab is to continue our exploration of TDD in C++ by developing an Image Class Configure GitHub for labs. Developing a Simple Image Class Writing Images with OpenImageIO Some simple Image Algorithms.

Lab 3 Test Driven Development

Aims The aim of this lab is to introduce pytest and the process of Test Driven Development, we will do this in the following way. Use uv to set up a pytest Python environment.

Lab 4 Diffusion Limited Aggregation

Aims The aim of this lab is to continue our exploration of TDD in C++ by developing a simulation of diffusion limited aggregation Introduction to DLA simulations Understand C++ 11 Random number classes #include Creating Image Sequences Using Command Line Arguments Introduction to DLA Diffusion-limited aggregation (DLA) is the process whereby particles undergoing a random walk due to Brownian motion cluster together to form aggregates of such particles.

Lab 4 An Image Class

Aims The aim of this lab is to continue our exploration of TDD in python by developing an Image Class Configure GitHub for labs. Developing a Simple Image Class Understand and Use python packages and uv Develop some simple Image algorithms.

Lab 5 Introduction to Particle Systems

Aims The aim of this lab is to develop a simple particle system and write data to various file formats. We will then visualize the data using 3rd party tools

Lab 5 Diffusion Limited Aggregation

Aims The aim of this lab is to continue our exploration of TDD in C++ by developing a simulation of diffusion limited aggregation Introduction to DLA simulations Understand C++ 11 Random number classes #include Creating Image Sequences Using Command Line Arguments Introduction to DLA Diffusion-limited aggregation (DLA) is the process whereby particles undergoing a random walk due to Brownian motion cluster together to form aggregates of such particles.

Lab 6 NGL Installation

Aims The Aim of this lab is to install NGL and try some demos programs Introduction to NGL Building NGL Building Demo Other Operating Systems Introduction to NGL NGL is the NCCA Graphics Library which has been used for teaching programming and graphics since 2003.

Lab 6 Introduction to Particle Systems

Aims The aim of this lab is to develop a simple particle system and write data to various file formats. We will then visualize the data using 3rd party tools