Skip to content

An educational data structures and algorithms platform with an integrated visualiser, quiz and CMS.

License

Notifications You must be signed in to change notification settings

Kluvens/UNSW-Structs.sh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Structs.sh 💻

Visit Structs.sh | Structs.sh Confluence

See the Structs.sh Confluence workspace for documentation, setup instructions, deployment instructions, milestones and project management!

About Structs.sh

Structs.sh is an interactive data structure and algorithm visualiser and educational platform for computer science students.

Features:

  • Algorithm visualisation
    • Interactive animation player for visualising fundamental operations on classic data structures such as linked lists, binary search trees, graphs, etc.
    • Control the visualiser through an integrated terminal
  • Hub for educational computer science content and teaching resources
    • Lessons, videos, reference implementations in specific programming languages, all in one place
  • Content management system
    • Create new topics, source code snippets, lessons and quizzes

Why Structs.sh Exists

Structs.sh is a project that aims to be a comprehensive educational resource for data structures and algorithms, developed by passionate computer science and engineering students at UNSW. Structs.sh was inspired by a previous project, Tactile-DS, an earlier project developed in 2020 as a tutoring tool and reference implementation for students to use in COMP2521.

Structs.sh exists to help bridge the gap between a student's high-level understanding of computer science concepts and how real code would accomplish a certain task. The project was started by students who felt there was a lack in tools/resources that focus on helping people develop a proper visual intuition for algorithmic thinking.

Running Structs.sh

Prerequisites

Ensure you have the following software:

  • git
  • Node.js (v18 or later)
    • nvm is recommended to easily manage and install versions of node
  • yarn, an alternative package manager to npm (Can be installed with sudo npm install --global yarn)
  • (Optional) Docker and Docker-compose

Setup

Clone the repository using the commmand: git clone [email protected]:csesoc/structs.sh.git

Running the frontend without Docker

  1. cd into the client directory
  2. Run yarn install to install node modules
  3. Run yarn start to start the server. The frontend should be accessible at localhost:3000

Running the app with Docker

  1. cd into the project root directory
  2. Run docker-compose up --build. The frontend should be accesible at localhost:3000

Documentation

For everything architecture, endpoints documentation, style guide, etc. see our Confluence workspace!

About

An educational data structures and algorithms platform with an integrated visualiser, quiz and CMS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 91.4%
  • SCSS 7.8%
  • Other 0.8%