Learning to program does not simply require the use of a language that the computer can understand to create a “dialogue”, but also the cultivation of critical thinking and improvement in the ability to creatively solve problems through communication with the computer.
Vanke Meisha Academy offers a number of programming-related courses. The Programming with Electronics taught by Eric Lei has received a lot of attention due to an interesting classroom presentation. VMAA, CCO, and other VMA faculty and staff also joined to function as a Board Audience. This project also has an interesting name: “Hamster Project”.
PART 1: The “Whac-a-mole” game without hamsters
The words “hamster project” might easily call to mind those wheel-spinning fluffy meat balls. But the materials for this experiment came from the VMA STEAM lab. These materials included Arduino development boards, cables, LED lights, and other electronic components.
Why is the project named after hamsters? Mr. Lei asked his students to develop a game within two and a half weeks. This game had to achieve a specific human-machine interaction, “targets appear randomly-take actions-get score”, which is similar to a simple game of “Whac-a-mole”. This is a classic game which is easy to play but not so easy to make.
Mr. Lei hopes that students will consider four requirements when making their designs: stimuli to attract players, the randomness of firing, a loop structure, and a scoring mechanism.
Around these four requirements, he guided students to explore the answers to several questions that arise from them: What functions will most attract players? What hardware and software are needed? How might one connect these components? Which built-in functions will be used in the future? All these questions test students’ creativity, programming thinking, understanding of electro-physics, and function-related knowledge. They also need to consider the feasibility and logic of each step they take.
In the assembling process, Mr. Lei insisted on being “100% student-oriented” and provided technical guidance in practice. The design scheme may look ideal, but it is through practice that theory is put into use. Some students found that the buttons were out of order when testing the game. Some couldn’t trigger a score after actions were made. Even small details affect the presentation of the final work.
Every “hamster engineer” inevitably demanded a lot of time on testing and corrections. One of the students, Kevin Liu, said that his overall progress was affected because of a wrong wiring connection. Therefore it was suggested that the students who want to take this course in the future start with the simplest parts; otherwise, they may get half the result for twice the effort.
From design to testing, from repeated corrections to stable operation, in less than three weeks, the final works came to fruition.
PART 2: The great fun behind the mini-game
Communication between humans is usually contextual, and the biggest challenge that programming brings to learners is that computers cannot presuppose a position. We must use a language of logic that it can understand in order to disassemble the requirements step by step, and digitize our goals.
However, after in-depth study, learners will also benefit from programming thinking, and master the basic skill of “breaking problems into parts”, which will help them to solve many problems in life.
If there is a ranking list for VMA courses, “Programming with Electronics” may be shortlisted as one of the most "brain-racking” courses, as student Emily Pan joked that this course racked her brains. However, the sense of achievement felt after "brain burning" is incomparable.
Mr. Lei mentioned in the guidebook that he hopes his students will design games with the starting point of “making players feel happy”. On the other hand, he also hopes that students can experience the fun of developing programs from the design process. Some students said that similar games can be adopted on campus to relieve students’ stress. This serves to remind that the original purpose of developing computers was to make intelligence better serve humans.
Through these works, we can feel the students’ infinite curiosity for the programming world, and can even the kindness they show to our society. The phrase “Hello world!” is a tribute from human beings to computers, and also the best response to human beings by modern technology.