By Dr. Michael Hsiao
Computational Thinking (CT) forms the backbone behind cybersecurity, autonomous systems, data sciences, and many of the tech jobs. Understanding CT instills in the learners the manner in which computer scientists and cyber professionals think about the problems at hand. Needless to say, the construction of modern-day digital artifacts is highly complex. The skill set needed to adequately create interesting programs (such as Pacman and other apps) using today’s programming languages often requires multiple years of computer science training. As we enter the world of smart homes and smart cities, the need to be able to think, reason, interact with, and program these digital devices is of paramount importance.
To address this challenge, we have developed a web-based platform, You Can Be A Game Changineer, such that everyone can learn CT and quickly build a digital artifact. The CT and the programming language are both in English. English sentences are written in such a way that express CT concepts behind the artifact. Artificial-intelligence (AI), together with natural-language processing (NLP) and compilation technology, are embedded within the system to automatically translate the English sentences into code and help the user debug any unclear sentences. In so doing, the learners practice "thinking like a computer scientist", while enjoying their own creation at the same time.
Unlike reading a traditional computer program, which can be tedious and difficult to follow and understand, Game Changineer is a free platform that allows users to read and write the programs in English. The result is a programing language that aligns with and is natural to students and teachers. In the process, learners discover the logic and critical thinking behind building complex systems. Not only do students understand and appreciate the logic, they also become creators and innovators of novel, custom, and sophisticated digital artifacts. Should learners wish to go deeper and learn conventional programming languages, we believe that the transition will also be simpler, since they have acquired the necessary skills to frame the problems.
To illustrate the idea behind this platform. Consider the following motivating example of a video game. Alice wishes to write a program involving a rabbit, fox, and carrots. She writes:
“Thirty carrots are scattered all over the field. There are two foxes and one rabbit. You control the rabbit with the keyboard. When the rabbit touches a carrot, the carrot is eaten. When a fox sees the rabbit, it starts chasing the rabbit. When the fox catches the rabbit, the game is over.”
After the raw text is parsed, analyzed and processed, the system automatically converts the English text into the corresponding game. Because natural languages like English can be imprecise, incomplete, and/or ambiguous, the system detects specific phrases in need of precision or modification and alerts the user. Where English text is erroneous or ambiguous, the embedded artificial intelligence (AI) system generates error messages as well as suggestions on how to modify the sentences to achieve desired outcomes.
Beyond coherent writing, there are many embedded CS concepts that can be learned through the system as well. First is the concept of objects. In the above example text, there are three types of objects: carrot, rabbit, and fox. By centering the description of a game plan on the interactions among objects, learners participate in an object-oriented design lesson (a critical programming concept). The sentences bind objects together with verbs, which readily translate into abstraction via functions and methods. For example, ‘the foxes chase the rabbit’ describes the action of the fox in relation to the rabbit. The low-level detail of how the fox chases the rabbit is abstracted away, allowing the programmer to focus on the big-picture semantics at the story level.
Next, the concept of decomposition is illustrated in this simple running example. The game is decomposed into the actions and interactions among the characters in the game. Such a decomposition allows the programmer to divide the overall task into smaller sub-problems, each of which is much simpler to solve. Next, learners examine the concept of attributes. For example, a learner might write, ‘When a yellow rabbit sees a fox that is not hungry, …’. Here, the adjectives ‘yellow’ and ‘hungry’ are attributes that describe the corresponding objects. Attributes play critical roles in object-oriented programs as they describe the state each object is in.
Finally, lessons on AI can be included as well. In all the games created the computer-controlled characters are examples of AI in action. Consider games such as Target Kick. The user plays the kicker and there is a goalie controlled by the computer. The game must describe the interaction of the goalie and the ball, which makes the goalie seem to exhibit intelligent behavior that tries to block the ball. There are many sample lessons already included in the platform that learners and teachers can use.
In addition to learning concepts of abstraction, decomposition, AI, etc., this platform allows learners to express their ideas creatively and see their result instantly. Because the size of English programs is significantly smaller than conventional programming language counterparts, finding bugs in the programs is easier. The learners learn to locate and fix bugs as directed by the error messages produced by the embedded AI.
The Game Changineer platform has been tested through numerous outreach activities, both at Virginia Tech as well as at a number of K-12 classrooms. One of the outreach programs is the Pre-College Initiative (PCI). The goal of this initiative is to bring African American teens and teachers to VT to learn about the platform and gain hands on experience. We have also worked with 4-H clubs in Mecklenburg County. There we trained high-school and other volunteer 4-H members to act as teachers to teach other 4-H members in the after-school club programs. Figure 2 shows an outreach event using Game Changineer at Virginia Tech.
Game Changineer offers a potential equalizing tool for CS education. Please use the link below to give it a try.
We invite you to try this free platform (https://gc.ece.vt.edu), at home and/or at school. Please also let us know what you think!