Advertisement
amigojapan

reasons for m-programmer

Mar 19th, 2017
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.51 KB | None | 0 0
  1. reason0 “learn to think like a computer"
  2.  
  3. I am currently trying to train a teacher on how to program.
  4. I ran into some problems when plaint the programming game called
  5. Code Commander™ , the setting was that there were many enemies
  6. and some enemies were far away but did not move.
  7. he wrote a program that was as follows:
  8.  
  9. ken lesson
  10. I was playing a programming game with someone in a lesson, and he wrote something like this: 
  11.  
  12. while(true){
  13. if(enemy_is_close()){
  14. attack();point_to_enemy();move_towards_enemy();
  15. }
  16.  
  17. I told him he had to change it to 
  18.  
  19. while(true){
  20. point_to_enemy();move_towards_enemy();
  21. if(enemy_is_close()){
  22. attack();
  23. }
  24. }
  25.  
  26. the enemies were far away and they were not moving, and the player had to move towards the enemies to solve the puzzle, but the way he had it, it would not move twords the enemies cause the enemies were not close.
  27.  
  28. the only way I could think of explaining this is to step thru the program and show him the actions of the program…  but code commander does not have a debugger or any way to step thru the code. so instead of that I decided to make him evaluate(execute) the code in his mind, I wrote the programs in the following way:
  29.  
  30. Mistaken:
  31. repeat forever {
  32. If the distance of the enemy is close {
  33. Attack
  34. Turn a hero to the nearest enemy
  35. Hero advances forward
  36. }
  37. }
  38.  
  39. correct:
  40. repeat forever {
  41. Turn a hero to the nearest enemy
  42. Hero advances forward
  43. If the distance of the enemy is close {
  44. Attack
  45. }
  46. }
  47.  
  48. I and I used a chess board to  simulate what the characters were, I used a queen for the hero and two bishops for the enemies
  49. figure 1:
  50. https://lichess.org/editor/1b6/8/8/8/5Q2/8/7b/8_w_KQkq_-
  51.  
  52. this seemed like a good idea, because there are many programs like Scratch and Code Commander which tell you how to make a program, but I don’t know of any other(easy to understand) resource that teaches “how to think like a computer"
  53.  
  54. reason2 “people can learn how to program with ought access to a computer”
  55. in many developing countries and also in normal classrooms as it is at this date, 
  56. there are usually no computers to teach programming with.
  57. In such environments, a tool like this could be used to learn not only how a computer thinks but also Logical thinking, which
  58. will develop after learning what boolean algebra has to teach, and being able to follow a set of instructions perfectly
  59. Since I have made this in the 3 languages I know, and hopefully eventually someone will translate it to even more languages, and it can be taught at schools like any other subject it taught.
  60.  
  61. reason 3 "you will understand how to write your own programs”
  62. try to solve the problems with ought looking at the solutions… but if making your own programs is too difficult for your as of yet, I suggest just trying to 
  63. evaluate(execute) the programs that are provided and you can learn what a computer thinks like , and then hopefully you will understand how to write your own programs 
  64.  
  65. reason4 "seems like fun"
  66. seems like fun anyway, like a board game, it can be played by a few people over a coffee table , rolling the dice , doing the calculations, I think that may be fun, and if you are into it, making your own new programs besides the ones provided in the problems. 
  67.  
  68. reason5 “Learn how to program all the way from thinking how a computer works, to programming with blocks to writing programs in text, then learn everything  you learned in python"
  69. I am into making programming languages and stuff In the past I have developer 3dpl, a programming language designed for people that have just graduated from programming blocks which abstracts aways many complicated things and allows you to make 3d games in Mincraft™-style voxels. you can design  your models in an eviroment similar to Mincraft™ and then manipulate them thru programming, another feature of 3dpl is it’s "real time interpreter” which allows you to see the results of your code immediately as you type it, this should help people transition from blocks to text programming more smoothly. I recently used 3dpl to participate in the global game jam 2017, this is the link to my blog post http://amigojapan.github.io/Global_Game_Jam_2017_blog_post.html about that event.
  70. I am currently working on a second programming language called s-found for “solid foundation”, which is designed to take people from block programming into text programming. it is based on the Google’s blockly™ library which is itself based con Scratch, in my s-found you can write programs similar to scratch, altho I tried to keep it closer to real programming, because I think scratch over-simplifies many things, and this may be one reason why adults are averted to even try something like scratch at all. after you wrote your program(or even while you are writing it(or building it using blocks)) you can always take a look at the javascript area on the bottom which displays the code that will be generated while you stack your blocks. also same as 3dpl, s-found has a real time interpreter, so everything you do, you can see the results right away in the game view. finally while I was going all of this, I ended up coming up with the idea of m-programmer, and I think it all ties up together pretty well. when I finish all my programming languages I intend to give a transition course from my languages into python. so I think a new programmer should follow my entire course which will be: m-programmer->s-found->3dpl->python taking you from no knowledge of programming at all, to being able to program in an w actual useful programming language (those being Javascript(if you learn the DOM) and python. it is a big project, but I have made quite a bit of progress in this, so I am pretty confident I will be able to make this a reality.
  71.  
  72. reason6 “it makes me able to talk about programming with normal people(non-programmers)”
  73. I am also currently giving Spanish lessons every Saturday night at a conversation cafe called Mickey House in Tokyo. and I always want to talk about computers and programming which are my passion with ordinary people that a re not programmers. fortunately I decided to make m-programmer in the 3 languages I am fluent in (English Spanish and Japanese) and well, that means it should be pretty good for the students too because it is written in both Spanish and Japanese, and this is a really good opportunity for me to test the ideas with those people and have a programming topic to talk about with just about anybody.
  74.  
  75.  
  76.  
  77.  
  78.  
  79. reason7 “to give people more clear instructions on how to do things”
  80. I once worked at a hamburger shop/restaurant and we used to get recipes and procedures on how to make the food, but a lot of it was open to interpretation, I think this language could give more concise instructions on how to do things like that or any kind of procedure that people actually do
  81. I am sure no 2 restaurants of that chain made the same food
  82.  
  83. reason8 “to teach programming to my son”
  84. I have tried teaching programming to my son before but he does not want to learn…. I think something like m-programmer will be easier for him to get into like a board game not a difficult school subject.
  85. I grew up playing board games like snakes and ladders, the game of life and monopoly. I think I can make this into something as easy to play(or as hard to play as you want(if you take a look t the RND card, it can be either really easy, medium or really hard, this can provide more challenges for the people who play it)) and also some of the programs require 2 players so would it not be great to break out a game that we all do around a coffee table again? :) 
  86.  
  87. reason8 “it could serve as an explanation as to basic questions like, what are numbers? and what are mathematics”
  88. I am hoping to include possibly in this text a set of codes that can go the a project me and my friends  
  89.  
  90. reason9 people are just consumers of the computer industry nowadays, they really have no idea how computers work even tho they are part of their daily lives, hopefully a book like this will help them understand more about this very important technology that they use
  91.  
  92. I dedicate this text to George Bool and Claude Shannon and Denis Richie which thanks to their efforts computers as we know them today exist! and also to my friends Greg Cox andPatrick Robotham who always kindly help me with my projects and are so friendly all the time!
  93.  
  94. also thanks to dapinkone, Fenderbassist and beacky from the #anime channel on freenode for looking over my stuff
  95.  
  96. kindly by:
  97. Author/Creator and Programmer Usmar A. Padow (amigojapan)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement