What's included
4 live meetings
4 in-class hoursHomework
1-2 hours per week. Each week students will need to do about an hour of work on their game, to make sure they are ready for the next class.Class Experience
Welcome to Intermediate Python Programming - Text Based Adventure Game Edition, an exciting four-week course that builds captivating text-based adventure games using Python. This course will cover various topics and concepts to enhance your Python skills while creating interactive and immersive gaming experiences. The best part is that your game can be tailored to your preferences, whether it's an adventure, mystery, or a story about everyday life. If you already have experience with Python, including variables, lists, and loops, and you're ready for the next level, this adventure awaits you. Throughout the four classes, we will explore new elements of Python and how they can be applied to your text-based adventure games. We will dive into functions, which allow us to navigate our programs and create interactive stories. Additionally, we will build a game map, create mini-games, craft a compelling storyline, and incorporate various Python elements such as JSON, dictionaries, user choices, objects, and items. Moreover, we will learn how to save and load game progress and implement high score tables for a competitive edge. Let's break down what we'll cover in each class, considering the progress of students with their Python text-based adventure games. Our progress will depend on how student games are coming along, but we will try to stick to this schedule for our classes: Class 1: Introduction to Functions and Interactive Storytelling In this class, we will begin by revisiting the basics of Python, including variables, lists, and loops. We will then explore the power of functions and how they can enhance interactivity in our games. By leveraging functions, we'll enable players to make choices that influence the storyline, creating a dynamic and engaging experience. You'll also learn how to create a game map to visualize the game world. Example breakdown: Reviewing variables, lists, and loops in Python Introducing functions and their significance in game development Understanding function parameters and return values Implementing interactive storytelling through function jumps Creating a game map to depict the game world Class 2: Mini Games, Game Mechanics, and Objects In this class, we'll delve into the creation of mini-games within your text-based adventure. These games will add depth and excitement to your storyline, challenging players and rewarding their progress. We'll explore various game mechanics and learn how to integrate them seamlessly into your adventure. Additionally, we'll introduce objects and items that players can interact with, adding complexity and depth to the gameplay. Example breakdown: Designing mini-games that align with your adventure's theme Exploring game mechanics like puzzles, challenges, and rewards Implementing game logic and conditions for success or failure Introducing objects and items for player interaction Testing and refining mini-games and game mechanics Class 3: Crafting an Engaging Storyline, User Choices, and JSON In this class, we'll focus on the art of storytelling. A compelling narrative will captivate players and immerse them in your game. We'll discuss techniques for creating engaging characters, intriguing plotlines, and memorable settings. Additionally, we'll incorporate user choices into the gameplay, allowing players to influence the story's direction. Furthermore, we'll introduce the usage of JSON to store game data, enabling players to save their progress and resume later. Example breakdown: Understanding the key elements of a compelling story: characters, plot, and setting Developing interesting and relatable characters for your game Creating branching plotlines based on user choices Incorporating consequences of player decisions into the storyline Implementing JSON for saving and loading game progress Class 4: Advanced Features, Customization, and High Score Tables In the final class, we'll explore advanced features and customization options to elevate your game further. We'll delve into the usage of advanced Python elements like dictionaries to manage game data efficiently. Moreover, we'll learn how to implement high score tables to introduce competitiveness and replay value. You'll have the opportunity to personalize the game code and exchange ideas with fellow students to further develop your games. Example breakdown: Utilizing dictionaries for efficient data management in the game Enhancing player experience with personalized customization options Implementing high score tables to introduce competitiveness Fine-tuning game mechanics and user interface based on feedback Sharing and exchanging ideas with fellow students for game improvement Throughout the course, each week will focus on different aspects of game development, allowing you to gradually build a captivating text-based adventure game. By the end of the four weeks, you'll have a fully functional game with interactive storytelling, mini-games, engaging characters, user choices, saved progress, and high score tables. Get ready to unleash your creativity and embark on this thrilling journey in Python game development!
Learning Goals
Students are going to expand their knowledge of basic Python variables, loops, and lists with a project that involves functions We will cover if statements, create some simulated chat characters, and use random elements and numbers to build the game.
Other Details
Parental Guidance
In this class, students will have the opportunity to utilize popular online platforms such as PythonAnywhere, repl.it, YouTube, and Loom. These platforms have been carefully selected to enhance the learning experience and provide a seamless programming environment for students to practice their Python skills.
Supply List
We will be programming everything collaboratively, no software is needed. The code will be shared in the classroom following the class. The programs needed for programming are all free and available online (like pythonanywhere.com) or by downloading python and an IDE (like Sublime Text or Geany).
External Resources
In addition to the Outschool classroom, this class uses:
Teacher expertise and credentials
I love teaching programming using fun and interesting examples because it helps students go farther than learning hard-to-contextualize concepts. Understanding what we are doing and why means that students will be able to apply algebraic concepts (like x + y) having understood examples like (red bike + blue bike) in a way that has context and meaning.
With a PhD in social network analytics and a background as an Professor of Data Analytics, I bring a wealth of knowledge and experience to my teaching. I have designed and delivered courses that integrate real-world applications with theoretical concepts, making learning both engaging and practical. My experience in business analytics, data science, and computer science allows me to present programming in a way that is accessible and relevant to students.
In my courses, I emphasize hands-on learning and real-world problem-solving. For example, I use Python to teach data manipulation and visualization, allowing students to see the immediate impact of their code. This approach not only makes learning more enjoyable but also demonstrates the practical utility of programming skills.
I aim to create a supportive and collaborative learning environment where students feel encouraged to explore, ask questions, and work together. By providing context and meaning to abstract concepts, I help students build a strong foundation in programming that they can apply in various fields, from business to science and beyond.
Reviews
Live Group Class
$64
for 4 classes1x per week, 4 weeks
60 min
Completed by 24 learners
Live video meetings
Ages: 13-18
1-6 learners per class