A Sudoku web app in React

Affiliation: University of Thessaly
Resolution: Individual | Duration: Two to four hours

Overview


Goals

The goal of sudoku is to fill each nine-square row, each nine-square column and each nine-square box with the numbers 1 through 9, with each number used once and only once in each section. It's the interaction between the rows, columns and boxes that tells you where the numbers need to go. This project aims to highlight the use of React to build a game and also maintaining state in one place. By having a 'Single Source of Truth', it becomes easier to keep updating the different parts of the UI based on state changes! By building this game students use the React Js. By solving the problem students will become familiar with the use of React Js, students will get new ones knowledge of it and programming.

Learning Objectives

Students who will be involved in problem solving will develop their skills in object-oriented programming, they will understand its basic concepts will learn the methodology of the React JS language and become familiar with the use of it. In the end of solving the problem they will be able to explain to the others students of React JS methods and will be able to program others like these problems. React allows developers to create large web applications that can change data, without reloading the page. The main purpose of React is to be fast, scalable, and simple. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM.

Context

This work is intended for post-graduated computer science students who want to work with programming and more specifically with declarative and component-based programming. Through the solution to the problem will learn the basic concepts of declarative and component-based will develop their critical thinking skills and develop them their problem-solving skills through the creation of a game. It aims to teach new programmers the basic concepts of programming and to reinforce their critical thinking and problem solving skills while doing that in a fun way.