diff --git a/content/notes/university/year3/cs3072/cs3072-synopsis.md b/content/notes/university/year3/cs3072/cs3072-synopsis.md index 28519943a463..79a44b97d4a0 100644 --- a/content/notes/university/year3/cs3072/cs3072-synopsis.md +++ b/content/notes/university/year3/cs3072/cs3072-synopsis.md @@ -18,8 +18,21 @@ Something with "program visualisation" Understand the Rust borrow checker # Problem Definition +## "In this section, you should provide a brief description of the problem that you are attempting to address in your project. This should set the context for your project." + +The problem revolves around the intricacies of learning Rust, a programming language used widely due to its memory safety features, achieved without relying on a garbage collector. Rust's unique resource ownership and borrowing system, while powerful, can be a significant challenge for both novice and experienced programmers. Understanding this system is crucial for writing robust and efficient code in Rust. + +The primary issue is the complexity of Rust's ownership and borrowing system, which often needs mental tracking of events and state changes. This can negatively impact the learning process and slow down the development. + +To address this problem, I aim to introduce a visualisation tool. The tool will be designed to visually depict ownership and borrowing events within Rust code. By integrating these visualisations, I aim to make the static events and their impact more obvious and tangible for learners. Therefore, the objective is to enhance the learning experience for students, by providing them with a resource that accelerates their understanding of this powerful programming language. # Aims and Objectives +## Your aims and objectives should follow on from your problem description. The aim should crystallise, specifically what your project is trying to achieve, and objectives are the necessary and complete set of things which need to be done in order to achieve the aim. The aims and objectives will form the backbone of your project, and as such should be referred to regularly, and adjusted as appropriate. + +The aim of the project is to enhance the learning experience for individuals seeking to understand the Rust programming language by addressing the complexities of its ownership and borrowing system. This will be achieved through the introduction of a visualisation tool designed to make ownership and borrowing events in Rust code more comprehensible and accessible. + +The objectives are: +- Develop # Background Sources