# Creation of an Algorithm to Sovle a 3×3 Rubik’s Cube

**Affiliation:**University of Thessaly

**Resolution:**Group |

**Duration:**More than four hours

## Overview

### Goals

This project will introduce students to an algorithmic way of thinking in order to solve a very popular puzzle known as the Rubik's Cube. This problem will also familiriaze them with the use of a programming language.

### Learning Objectives

By the end of this activity, students will be able to: • Understanding the mechanics of Rubik's Cube • Learn how to model a real life problem into Computer Code • Comprehend why Computer Science is used to solve everyday problems • Broaden their Programming Skills and their Algorithmic Thinking • Deepen their Mathematical Knowledge, Specifically in Combinatorics and Sets

### Context

This problem can be included into first year Programming, Discrete Mathematics and/or Algorithms courses. It is an introductory course for engineering education as well as computer science education because it enables freshmen college students to get a grasp on programming logic. This project will indicate the relation between mathematical notions and programming. Furthermore, it will enable the students to establish a link between abstract way of thinking and its translation to computer code. It challenges students to find a correct solution in the most efficient way the can come up with. Thus, it can be addressed as an optimization problem too.