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. In C/C++ this is quite simple, however in python these things are a little harder as we don’t have the same data types. For our example we are going to use a single integer value called pixel to store our RGBA values but we will need to encode them using some logic.
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. Getting Started We are now going to create a new labs folder based on our GitHub classroom (you would have been sent an invite).
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. This theory, proposed by T.A. Witten Jr. and L.M. Sander in 1981,[1] is applicable to aggregation in any system where diffusion is the primary means of transport in the system. DLA can be observed in many systems such as electrodeposition, Hele-Shaw flow, mineral deposits, and dielectric breakdown.
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
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. It has gone through many iteration in that time and most of the recent history can bee seen in the GitHub history.
gnuplot gnuplot is a tool that allows us to very quickly visualise data, it can be very useful for testing program output without having to generate complex graphical interface code, the following labs is going to use gnuplot to help visualise the output of several sample programs.
What is Computational Thinking? The idea of computational thinking is allow us to look at problems and determine the best way for a computer to solve this (and related problems). This is basically a way of re-framing the problem / domain so it can be computationally processed.
Introduction In Lab1 we introduced the PyEnv tool to allow us to install various versions of python either locally or globally.
In the following examples we will explore how we can setup and install specific ML libraries into a Virtual Environment using the global PyEnv python.