lunjielee / sorting_algorithm_game

Sorting algorithm educational game

Home Page:https://sorting-algorithm-game.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sorting Algorithm Educational Game

Create an educational game in a web or mobile application that helps undergraduate students understand sorting algorithm(s) according to the following requirements description.

The algorithms (Must Have)

  • We can start with the MergeSort as the only algorithm; however, the system should be designed to allow other algorithms to be added later.

  • Merge Sort

  • Bubble Sort

Levels

  • Level 1: (Must Have)

    • A set of 10 numbers are randomly generated out of the range (1-20) (updated on Jan. 24th at 09:40 am)
    • The steps of the algorithm would be executed as visual animation accompanied with explanation texts e.g., mergesortAV (this link is provided as an example of the idea and is not to be blindly replicated)
    • The animation should also be interactive in order to keep the user engaged. (clarification updated on Feb. 14th at 10:18 am)
    • The merging steps are important to understand the algorithm so the user should see them done step by step which also applies to the rest of the levels. (clarification updated on Feb. 14th at 10:18 am)
  • Level 2: (Must Have)

    • A set of 10 numbers are randomly generated out of the range (1-20) (updated on Jan. 24th at 09:40 am)

    • The steps of the algorithm are displayed in the text allowing the user to move the numbers according to the current step.

    • Feedback should be provided at each step (updated on Jan. 24th at 09:40 am)

      • Positive feedback (visual and audio) when the step is correct
      • Negative feedback (visual and audio) when the step is incorrect
  • Level 3: (Must Have)

    • A set of 10 numbers are randomly generated out of the range (1-20)

    • The user is to decide what needs to be done at every step

    • Feedback should be provided at each step

      • Positive feedback (visual and audio) when the step is correct
      • Negative feedback (visual and audio) when the step is incorrect
  • Level 4: (Should Have)

    • A set of 20 numbers are randomly generated out of the range (1-50)

    • The user is to decide what needs to be done at every step

    • Feedback should be provided at each step

      • Positive feedback (visual and audio) when the step is correct
      • Negative feedback (visual and audio) when the step is incorrect
  • Level 5: (Should Have)

    • A set of 50 numbers are randomly generated out of the range (1-100)

    • The user is to decide what needs to be done at every step

    • Feedback should be provided at each step

      • Positive feedback (visual and audio) when the step is correct
      • Negative feedback (visual and audio) when the step is incorrect
  • Custom Level: (Nice to Have)

    • The user the number of numbers (i.e. the length of the array) and the range to select from

    • The user is to decide what needs to be done at every step

    • Feedback should be provided at each step

      • Positive feedback (visual and audio) when the step is correct
      • Negative feedback (visual and audio) when the step is incorrect

Attempts (Should Have)

  • The user is allowed to make up to 3 mistakes at each level.

  • If a user makes 3 mistakes, they’re giving the following options

    • restart the same level
    • go back to any of the previous levels
    • switch to the latest level with another algorithm (updated on Jan. 11th at 10:45 am)
    • or quit the game

Timeout (Should Have) (updated on Jan. 24th at 09:40 am)

  • A timer should be displayed in the interface to inform the user of how long they spent on each level.
  • After 5 minutes of inactivity, the session should time out and go back to the home page

Logging Activities (Should Have)

  • (Should have) User actions need time spent at each level should be logged for later analysis (updated on Jan. 11th at 10:45 am)
  • (Nice to Have) An admin can view visual analytics of the logged data (updated on Jan. 11th at 10:45 am)

References

A. Yohannis and Y. Prabowo, "Sort Attack: Visualization and Gamification of Sorting Algorithm Learning," 2015 7th International Conference on Games and Virtual Worlds for Serious Applications (VS-Games), 2015, pp. 1-8, doi: 10.1109/VS-GAMES.2015.7295785.

About

Sorting algorithm educational game

https://sorting-algorithm-game.vercel.app


Languages

Language:JavaScript 88.0%Language:CSS 10.1%Language:HTML 1.8%