This textbook follows a few basic teaching paradigms, which are as follows:
Constructivism – the premise that learning occurs through the physical building (construction) of solutions. Therefore, this is a project-based approach. Throughout this textbook, there are two primary subplots.
- During what would be considered the first semester of study (Chapters 1 to 9), learners are presented with a series of interludes that show the progression of building a game from text-based beginnings to graphical form.
- During the second semester of study (Chapters 9 to 18), learners are presented with a series of interludes that show the progression of building a text-based interactive fiction game. The idea is to demonstrate the use of complex data structures and the underpinnings of interpreted languages through lexical and preliminary syntax analysis along with fictional world abstraction.
Situated learning – the premise that learning best occurs in an environment as close as possible to where learners will eventually be employed. Therefore, selecting an integrated development environment (IDE) should be enhanced by exercising the pre-training principle of the Cognitive Theory of Multimedia Learning (Clark & Mayer, 2011). Learners must be shown how to use the tools, whether traditional, hybrid, or online, without wasting precious classroom time. Consider developing pre-training videos and further applying the segmentation principle with formative assessments. This, combined with a form of adaptive release in a Learning Management System (LMS), can go a long way in helping learners be successful.
Metacognition – learners must be aware of their cognition and encouraged to reflect on their accomplishments and setbacks equally. Consider implementing a reflective journal that allows learners to write about their experiences. In future journal entries, they may reflect on previous entries to assess whether their position has changed, their understanding has improved, and other insights into their learning process.
Academic rigor is impressed throughout. Academic rigor is not about piling on project after project until the learner relents, nor is it terrifying undergraduate learners with graduate-level content. Rather, it is about challenging them in new ways. It is about taking what they have learned and pushing it to new limits, applying it in new and interesting ways. When introducing this book’s topics, instructors should think about how these concepts can be reintroduced in new ways to challenge learners when combined with future concepts and the projects assigned. The constructivism-based interludes are provided as ideas to move learners forward through the instructional material by putting the concepts to work while showing learners precisely the kind of critical thinking, problem identification, and solutions expected by instructors and employers alike.
There are also a few other general tenets. They are as follows:
Segmentation Principle – From the Cognitive Theory of Multimedia Learning, where appropriate, there is adherence to the segmentation principle. Breaking problems down into more digestible pieces is just as crucial in applying problem-solving as it is to a video clip. Learners need to understand why the problem is broken down in a particular way. The interludes follow this principle by only providing fully functional partial solutions based on the knowledge provided during a given interval. This means we only solve the current problems (as far as possible) using the recently attained knowledge. Subsequent interludes build upon the previous while applying new concepts.
Idiomatic Examples – When topics are presented in the text, the examples provided follow idiomatic conventions. This means the constructs are created as they would be in the actual software. While elegant solutions have their place, this book focuses on how to write proper code. Some examples will not be the most efficient version. This is intentional and is part of the learning process.
Show, Don’t Tell – Many textbooks waste learners’ time with needless narrative asides, extraneous tips, vague negations, and passing anecdotal notations. You will not find those here. If something is worth noting, it will be accompanied by complete coding examples with details of why something is (not) done a particular way.
Your time is precious – As with Show, Don’t Tell, your time will not be needlessly wasted. A conversational yet minimalist approach is applied to each section. Getting to the heart of the matter is an essential aspect of learning. Learners and educators alike are encouraged to utilize the many examples provided and then adapt them in new ways to solve new problems.