Robotics Game of Life introduction

Robotics Game of Life – that’s the name of our new scientific journey. We are organizing a 14-sessions course (1 session weekly). The idea of the course is to develop a solution to the Conway Game of Life where the robots would actually play the game. Students will construct the robots by instructions and lots of imagination. Initial programs will be provided by us and modified by students. 

  • #241
  • 28 Feb 2016
  • 5:28

The course is for students and classes of students. It is for Computer Science, Computer History, Robotics, Math.

Different programming languages will be used for after class activities and solutions to problems. Videos of the solutions will be uploaded by students to FLLCasts.com and they will participate in our Global competition on Robotics Game Of Life. The best solutions will be awarded.

You can ask live questions, post comments, listen to the recorded videos over and over again, experiment with the programs and get immediate and accurate feedback.

 

English

The current course is called Robotics Game of Life and what we noticed is that many students that have some experience with LEGO Mindstorms kind of stop at that and they participate in competitions and they don't get the chance to solve interesting problems and to really learn more about robotics. The other problem that we noticed is that because they stop they don't get introduced into other subjects of computer science and they don't do other programming languages and that's a problem that we would like to solve with the current course.

Game of Life is actually a very simple game with very simple rules. If we imagine all of these blocks as different cells, life organisms, we could have different rules about which of them live and which of them die. Conway as a mathematician came up with few rules that make the game very interesting and the rules are the following. If one cell has 0 or 1 neighbor, it dies at the next generation, because there is not enough life around it. If another cell has 3, 4 or more neighbors, it also dies. We have 4 neighbor for this cell so it will die. Similarly if we have only 2 or 3 neighbors, the cell continues to live. This cell here has 2 neighbor, so it will continue to the next generation. This is the same for this cell, but it has 3 neighbors. There's also one other rule, if cell has exactly 3 neighbors, then it lives again, so it is born. Currently this cell here, has 4 neighbors and this cell here has 4 neighbors so they both stay dead. At the next generation we'll have the following situation. We have this cell that stays alive, we have this cell that is dead, we also have this cell that's dead and we'll have this cell that has 3 neighbors, so it stays alive and we have this cell that has 3 neighbors and stays alive and this cell that has only 1 neighbor and it dies. That's the second generation of our initial seed and then we continue with this and would live fo the next generation actually the answer is pretty simple. The new generation would look like this. This is the second, then the third, then the fourth and so on. The idea is to build a robot that would actually move the different blocks according to the rule that Conway came up with. We think that this course will be pretty interesting because will do it in the following way. Not just the robot but because many of you are familiar with the EV3 language and can program EV3 robots we'll do part of the programs in EV3 and another part of the programs in JavaScript which is a nice interesting language and you don't have to know it. We just do some of the examples that you can run directly in your browser. We hope that you'll be able to do a parallel between the 2 languages, which is pretty interesting. Then we'll have a final program that plays the game on the bricks' screen by drawing some boxes, filling them, emptying, etc. Then we'll join the solutions so that we have a final solution where the robot actually moves and detects or inspect the field and move some of these blocks as they are different cells. This will be the final solutions and this will work both for if you have only one robot, or 10, or a 100 and of course, with a 100 robots, it will be much easier for a larger field. That's it for the course, we'll build most of the programs for EV3 and for JavaScript and they'll be ready so that you can just download and experiment with them and the same applies for JavaScript where for the more advanced of you, you'll be able to build the programs from scratch. The idea is again to make a parallel between the EV3 and the JavaScript to introduce you to another programming language that you can see that it's not that different from the EV3 and to solve a very interesting problem, the Robotics Game of Life.