Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Game Development, Data Science, and Machine Learning

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. In this comprehensive course, you’ll gain hands-on experience with creating games using Pygame, delve into data science concepts with NumPy and Pandas, and explore machine learning techniques using Scikit-learn. You’ll start by building simple games, like a shooter game, and learn how to implement interactivity using Python. By integrating object-oriented programming, you will refactor game code for efficiency and scalability. Next, you’ll dive into data science, starting with the essentials of Jupyter Notebook and Jupyter Lab for data analysis. You’ll master key data manipulation skills with Pandas and NumPy, from handling arrays to working with CSV files. As you progress, you’ll learn how to visualize data with Matplotlib and refine machine learning models using real-world data. This course is designed to give you the practical knowledge and skills to apply game development techniques, data science methods, and machine learning strategies to real-world problems. Whether you're interested in building games or developing predictive models, this course will guide you through every step. The course is ideal for aspiring game developers, data scientists, and anyone interested in exploring Python-based programming applications. A basic understanding of Python programming is recommended.

Syllabus

  • Creating Games with Pygame
    • In this module, we will explore how to set up the Pygame library and create the initial game window. We will also learn how to modify the game background, display simple objects like rectangles, and allow user interaction by moving these objects using the keyboard. Finally, we'll implement boundaries to keep objects within the game window.
  • Creating a Shooter Game with Pygame
    • In this module, we will dive into the process of creating a shooter game, starting with an overview of the game’s core features and mechanics. We will load and display images for the fighter and projectiles, enabling smooth movement and shooting mechanics. Additionally, we will add enemies like aliens and animate their movements to enhance the gameplay experience.
  • Interaction of the Elements in the Pygame
    • In this module, we will focus on the interaction between game elements, starting with implementing a collision detection system to trigger a game-over when the fighter and alien collide. We will also create mechanics for detecting when the ball hits the alien and introduce a hit counter to track success. Additionally, we will increase the alien's speed after each hit, adding a layer of difficulty to the game.
  • Game Refactoring using Classes and OOP
    • In this module, we will refactor the shooter game by applying object-oriented programming principles. We’ll begin by creating separate classes for the fighter, alien, and ball, and adding specific methods to encapsulate their behaviors. Additionally, we will centralize the game's logic and management into a Game class, ensuring better organization and performance. Finally, we will demonstrate the improved game functionality and review the overall refactoring process.
  • Jupyter Notebook
    • In this module, we will cover the essentials of using Jupyter Notebook, starting with installation and basic editing features. We will explore the execution order of cells and its significance in managing workflows. Additionally, you’ll learn how to use Markdown to add notes and save/load notebooks for easy access and collaboration.
  • Jupyter Lab
    • In this module, we will walk through the installation of Jupyter Lab and its advanced notebook editing features. You will also explore the powerful tools and functionalities Jupyter Lab offers for a more efficient coding experience. Additionally, we’ll demonstrate how to install third-party packages to enhance your workflow within the environment.
  • NumPy - Creating Arrays
    • In this module, we will introduce NumPy, starting with how to create one-dimensional arrays and progressing to two-dimensional arrays. We will delve into the concept of axes and how they affect array operations. Additionally, we will cover basic arithmetic operations on arrays and demonstrate how to concatenate arrays for more complex data handling.
  • NumPy – Random Values
    • In this module, we will focus on working with random values in NumPy. You will learn how to initialize arrays with predefined values like zeroes and ones, as well as generate random numbers. We will also explore how to control randomization using a seed for reproducibility, and finish by discussing methods like arange, reshape, and flatten to manipulate array structures.
  • NumPy – Examples
    • In this module, we will apply NumPy concepts through a series of practical examples. Starting with one-dimensional arrays, we'll cover basic operations and progress to advanced slicing and transformations. We’ll then move into two-dimensional arrays to explore matrix operations and conclude by introducing three-dimensional arrays, helping you visualize and manipulate data in 3D. Finally, we will wrap up with a comprehensive summary of all key NumPy functions covered.
  • Pandas – Working with DataFrames and Series
    • In this module, we will dive into the powerful Pandas library, starting with creating DataFrames and Series from various data sources, such as Python dictionaries. You will explore essential tasks like filtering data, sorting, and selecting specific portions of your dataset. We will also address handling missing values, managing datetime information, and refining your DataFrame manipulation skills by adding/removing columns and combining multiple DataFrames.
  • Pandas – Random Data Working with CSV
    • In this module, we will explore generating random data for DataFrames, providing a great way to test and simulate various data analysis scenarios. We’ll also cover how to save and load data between DataFrames and CSV files, ensuring your work is secure and easily transferable. Additionally, you’ll learn how to save DataFrames in Excel and JSON formats, broadening the scope of data storage options.
  • Pandas – Analysing CSV- Loaded DataFrames
    • In this module, we will focus on analyzing DataFrames that have been loaded from CSV files. You’ll learn how to group data for aggregation and pattern identification. We will also explore how to visualize Series data with Matplotlib, creating compelling plots to present your findings. Finally, we will summarize everything learned in the context of random CSV data, ensuring you have a solid foundation for real-world data analysis.
  • Matplotlib – Creating Charts
    • In this module, we will delve into the fundamentals of data visualization using Matplotlib, starting with basic line plots and scatter diagrams. We will expand into advanced techniques like using subplots for side-by-side comparisons and creating various chart types including boxplots, area plots, and pie charts. Additionally, you'll learn to generate compelling heatmaps and apply these techniques to real-world data for clear, insightful visual narratives.
  • Scikit – Learn - Machine Learning
    • In this module, we will introduce you to Scikit-Learn, a leading Python library for machine learning. Starting with installation and data analysis, we will guide you through essential preprocessing tasks like handling missing values and encoding non-numeric data. You’ll then create and train a predictive model, visualize decision trees, and evaluate model accuracy. By the end of the module, you’ll be able to use machine learning to solve real-world problems and make data-driven predictions.
  • Machine Learning Model for Real Data
    • In this module, we will work with a real-world dataset on airline passenger satisfaction. You will learn how to load, clean, and preprocess the data by handling missing values and encoding categorical variables. After preparing the dataset, you will build and train a machine learning model using the DecisionTreeClassifier, and evaluate its accuracy to ensure reliable predictions.
  • Making Machine Learning Model More Real
    • In this module, we will focus on refining your machine learning model by eliminating biased features like passenger votes. You will also learn how to save your trained model for future use, ensuring it can be easily deployed without needing to retrain. Finally, we will summarize the key steps taken to build a realistic and effective passenger satisfaction prediction model.

Taught by

Packt - Course Instructors

Reviews

Start your review of Game Development, Data Science, and Machine Learning

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.