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 Version Control Setup Test Setup Test Driven Design of a Simple RGBA class Storing Pixels It is common to store image pixel data using a single unsigned int32_t data type.
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.
Why do I need it? Life is too short to tidy up code by hand. Black is an opinionated python formatter. By using it, you agree to cede control over minutiae of hand-formatting.
Why do I need it? numpy is “The fundamental package for scientific computing with Python”. In particular it gives us fast and efficient array types which can be used with C/C++ types as well.
Why do I need it? These two co-related modules will make your command line tools better. “Rich is a Python library for rich text and beautiful formatting in the terminal”, “Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.
This thesis report documents the terrain generation, the research on different methods and techniques possible to generate a terrain as well as the implementation of it in this project.
This project presents a modular rigging pipeline that enables user to create rigs using either Python API directly or via node-based interface. The system aims to be extensible, allowing rigger to add new custom rig components or extend already existing ones. In order to be tool-oriented this pipeline utilizes metadata concept and component to Python class bindings which leads to consistent functionality for any additional tools.
Vulkan is a low-level graphics and compute API which aims to provide users with faster draw speeds by removing overhead from the driver. The user is expected to explicitly provide the details previously generated by the driver. The resulting extra code can be difficult to understand and taxing to write for beginners, leading to the need for a helper library.