This is a project to help teach students in elementary school the basics of problem-solving.
Computer science is about solving problems, some important topics are optimization and counting possibilities. One of the most common ways to solve complex problems is through reduction. Reduction is when we take in input of the problem and rewrite it so that we can plug it into another already solved problem. We commonly reduce optimization and counting problems to a problem to a form of special graph, and a maze can be thought of as a restricted graph. In a way, teaching kids about mazes is an introduction to solving some of these complex problems. A common problem is to give the instructions on how to get from point A to point B in a maze. To solve this we need to create an algorithm to search all possibilities in a maze. When creating an algorithm, the logic has to be determined before trying to solve the maze. So our challenge to the kids is to give us a list of instructions to move a dot through a maze.
You are welcome to contribute in any way you see fit. Part of this project is to provide a learning experience for those interested in programming.
- Create a new directory under src/main/java/programs with your program name.
- Create a new class in your package with the same name as your package name.
- Create a
public static Program programFactory()
method in that class. You can customize the name and description of the program in your Program object. SeeProgramTemplate.java
for a good example. - Create a new class that will be your Program's main panel and have the
startProgram()
method in the program object create a new instance of it. - Now you should be able to run the program and see your program on the start menu.
- Create better maze algorithms
- Improve the UI
- Create other algorithm games:
- Higher or lower?
- Simple Programming games
- Puzzle games
Running the program with a .jar File:
- Run
./gradlew jar
- The jar should be in the
build/libs
directory - Run
java -jar build/libs/<Name>.jar
or right click and run in intellij