Aims The aim of this lab is to help setup and install python and various other tools
Using PyEnv for installation of python versions Using Pip to install packages Setup VSCode to edit and run python files Why do I need PyEnv?
Aims The aim of this lab is to introduce the C++ software build process, this will include.
Single file software build Using external libraries and package managers (vcpkg) Build Tools (make,cmake) Getting Started We will start this project in a new folder
Aims The aim of this lab is to setup a simple python project using the Turtle module and experiment with writing code and functions. By the end of the Lab we should be able to
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.
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.
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.
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.
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.
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).
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.
Type Hints were added to python 3.5 as a way of adding support for linters and 3rd party tools to check code for possible errors. These have no effect of the running of the code and are not mandatory, however they are good software engineering practice and we encourage their use throughout your code.
Aims We will investigate some modern python features and concepts by developing some small programs.
Type Hinting Type hints were added to python 3.5 as a way of adding support for linters and 3rd party tools to check code for possible errors.
Introduction In Lab3 we introduced the PyEnv tool to allow us to install various versions of python either locally or globally, and we installed the Anaconda distribution of python which includes many of the libraries we will be using in the course.
Aims We will investigate some modern python features and concepts by developing some small programs.
Type Hinting Type hints were added to python 3.5 as a way of adding support for linters and 3rd party tools to check code for possible errors.