We may earn an affiliate commission when you visit our partners.
Course image
Sachin Kafle

Have you ever wanted to build a games with a graphical interface but didn't know how to?

May be you even know how to create tools on a command line but have no idea how to convert it into a graphical interface that people can click on. In this course we will be learning Python GUI Programming + other advanced python modules to build graphical user interfaces (GUI) and games from scratch. 

Games You will make throughout course:

  1. Complete Mario Game

  2. Space Adventure (2D platform Game)

Read more

Have you ever wanted to build a games with a graphical interface but didn't know how to?

May be you even know how to create tools on a command line but have no idea how to convert it into a graphical interface that people can click on. In this course we will be learning Python GUI Programming + other advanced python modules to build graphical user interfaces (GUI) and games from scratch. 

Games You will make throughout course:

  1. Complete Mario Game

  2. Space Adventure (2D platform Game)

We will learn from basics of Python i.e. variables, slicing, string, some module, arithmetic and logical operations, looping, functions, object oriented programming.

After that we will learn the basics and advanced stuff of Game Development with pygame:

  • A main character with its movement

  • Collectibles such as coins, extra lives & extra health

  • Different types of enemies to combat

  • Dangers such as Spikes, Saws & moving platforms

  • User Interface with interactive menus

This course is for you if you want to:

- build the skills you need to get your first Python programming jobs/game developer jobs

- learn basic to advance programming paradigm

- get started with some domain of Python such as Machine Learning, Artificial Intelligence, Cryptography and so on

- Learn as a self taught programmer who want to freelance

…then you need a solid foundation in Python programming. And this course is designed to give you those core skills, fast.

This course is aimed at complete beginners who have never programmed before, as well as existing programmers who want to increase their career options by learning Python.

FAQ's|| Must Read before Enrolling:

Is Python A Good First Programming Language To Learn?

Even though it has not yet been adopted as a first language by many computer science programs, Python is widely seen by industry experts as a great first programming language when learning to code and its extensive use in SpaceX to automate and handle technologies to launch rockets, Instagram, Google to support their backends and Many companies to support and execute ML and Deep Learning Algorithms; Its undoubtedly No.1 Programming Language to learn.

For starters, the syntax of Python is simpler than that of most other major programming languages, with fewer exceptions and special cases. It also tends to use plain English keywords in place of the system of punctuation that has to be memorized in other languages, making it easier to learn to code. Given these conventions, Python code tends to appear as less of a "jumble" to newcomers than it does in comparable languages.

Another great feature of Python is the ubiquity of its use. While Python is optimized for development on Linux and Unix systems, interpreters are available for just about every major operating system. All implementations of Python are supported by an excellent standard library, which means that new students can very quickly move on to creating actual functional programs that are useful. Additionally, the standard implementation of Python, CPython, is free and open-source.

What Type Of Jobs Are Available To Python Programmers?

In the job market, if you observe the trends; Python is often looked like a strong language to support some primary language that is more broadly used like C or Java. But Lately, with the evolution of ML and Deep Learning Algorithms; it is highly demanded skill to have in 2020 and later. There are a variety of jobs that one can get focusing exclusively on Python development, however. Many of these jobs will be in building and improving the internal tools that a company uses to create its finished marketable products, rather than working on the finished product itself.

One specific economic sector where the presence of Python programming is particularly strong is the geospatial industry. This is a critical industry that deals with navigational tools such as GPS, radar, and light measurements.

If you're interested in web applications, Python is a better choice for development (working with the back-end or server-side) rather than design (creating the actually finished front-end that site visitors interact with). As mentioned previously, Google employed Python for many components of its search engine, and it is quite widely used in the data mining industry.

Finally, Python can also be used for game development. Some famous examples of games developed either entirely or in large part with Python include EVE Online, Civilization IV, the Battlefield game series, and the Mount & Blade games. The popular development environment Blender is written in Python.

Ready to get started, My

Enroll now using the “Add to Cart” button on the right, and get started on your way to creative, advanced Python brilliance. Or, take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.

See you in the class.

Just give it a try, you won't regret.

Enroll now

What's inside

Learning objectives

  • Learn python, most paid and used programming language of 2024
  • Understand the basic and advanced game programming with python and pygame
  • Learn how object oriented programming works in practice.
  • Learn python by creating two major games: mario and adventure game
  • Learn how to make best gui games with python

Syllabus

Introduction
Introduction to the course
Getting Started
What is Python?
Read more

Both file should be downloaded and extracted to use the same map I am using in the videos

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a solid foundation in Python programming, covering variables, data structures, loops, functions, and object-oriented programming, which are essential for building games and other applications
Teaches the basics and advanced concepts of game development using Pygame, including character movement, collectibles, enemies, dangers, and user interfaces, which are fundamental for creating engaging games
Explores Python GUI programming, enabling learners to build graphical user interfaces and convert command-line tools into interactive applications, which is valuable for creating user-friendly software
Involves creating two complete games, Mario and a 2D platform adventure, providing hands-on experience and tangible projects to showcase skills, which is beneficial for job applications and freelancing
Offers a foundation in Python that can be applied to other domains such as machine learning, artificial intelligence, and cryptography, which is useful for learners with diverse interests
Includes instruction on using the Tiled Map Editor to add properties to sprites, but requires learners to download and extract files to use the same map as the instructor, which may be inconvenient

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Python coding through game projects

According to students, this course provides a highly engaging and practical way to learn Python fundamentals by building complete games like Mario and Space Adventure. Learners particularly appreciate the hands-on, project-driven approach, which helps solidify concepts beyond theoretical understanding. While the course offers a solid introduction to Python basics and Pygame, some reviews suggest that more advanced topics or the complexities within the game projects might require supplementary resources or prior exposure to coding. Setting up the necessary development environment, including VS Code and Pygame, is sometimes cited as a potential initial hurdle. Overall, it's seen as an excellent fit for beginners motivated by creating interactive applications.
Solid introduction to the Pygame library.
"Learning the Pygame coordinate system and drawing shapes was a good first step."
"The skeleton code example was helpful to see how a Pygame project is structured."
"Moving sprites and handling basic animation was explained reasonably well."
Good foundation for absolute Python beginners.
"Coming from no coding background, the initial Python lessons were clear enough for me."
"It covers variables, loops, and functions well, which is crucial for a start."
"I appreciate that it starts from the absolute basics of Python before diving into games."
Learn through building fun, complete games.
"Building the Mario game was incredibly motivating and made learning feel practical."
"I really enjoyed the hands-on approach; it's much better than just watching lectures."
"Making actual games helped concepts click in a way theory alone wouldn't."
"The projects are the highlight; they make the learning process very engaging."
Initial setup can be a challenge.
"Getting Pygame and VS Code configured took me longer than expected."
"I ran into issues installing the necessary libraries and getting the resources to work."
"Wish there was more detailed troubleshooting for the initial setup steps for different OS."
Advanced topics or large projects need more depth.
"OOP concepts felt a bit rushed; I had to look up more resources elsewhere."
"Collision detection theory was confusing in the video; I needed external articles."
"As the projects got bigger, the code became harder to follow without deeper explanation."
"Could use more explanation on structuring larger game projects effectively."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn To Code By Making Games in Python with these activities:
Review Python Basics
Solidify your understanding of Python fundamentals before diving into game development. This will make learning Pygame and game logic easier.
Browse courses on Python Basics
Show steps
  • Review data types, variables, and operators in Python.
  • Practice writing simple Python scripts.
  • Complete online Python tutorials or exercises.
Review 'Python Crash Course'
Gain a strong foundation in Python programming before starting the course. This book offers a hands-on approach to learning Python.
Show steps
  • Read the first half of the book covering Python basics.
  • Complete the exercises at the end of each chapter.
  • Try to implement some of the examples on your own.
Practice Pygame Shape Drawing
Reinforce your understanding of Pygame's shape drawing functions. This will be essential for creating game elements.
Show steps
  • Experiment with different Pygame shape drawing functions.
  • Create simple shapes and figures using Pygame.
  • Modify the color, size, and position of the shapes.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Simple Game Mockup
Apply your knowledge by creating a basic game mockup using Pygame. This will help you understand how different elements work together.
Show steps
  • Design a simple game concept with basic elements.
  • Implement the game elements using Pygame.
  • Add basic movement and interaction to the game.
Review 'Game Programming with Python'
Expand your knowledge of game programming concepts and techniques. This book provides a deeper dive into game development with Python.
Show steps
  • Read chapters related to game design and mechanics.
  • Study the examples and try to implement them on your own.
  • Experiment with different game programming techniques.
Expand Mario Game with New Features
Deepen your understanding by adding new features to the Mario game you created in the course. This will challenge you to apply your knowledge and problem-solving skills.
Show steps
  • Choose a new feature to add to the Mario game.
  • Implement the feature using Pygame and Python.
  • Test and debug the feature to ensure it works correctly.
Create a Game Portfolio
Showcase your game development skills by creating a portfolio of your projects. This will be valuable for future job applications or freelance work.
Show steps
  • Select your best game projects to include in the portfolio.
  • Write a description of each project, highlighting your contributions.
  • Create a website or online platform to host your portfolio.

Career center

Learners who complete Learn To Code By Making Games in Python will develop knowledge and skills that may be useful to these careers:
Game Developer
A game developer brings video game concepts to life, writing code to implement game mechanics, artificial intelligence, and user interfaces. This course helps build a foundation by focusing on creating games with Python and Pygame. The course's hands-on projects, such as building a complete Mario game and a space adventure platformer, mirror the practical tasks a game developer undertakes. Learning to handle character movement, collectibles, enemies, and user interfaces translates directly into the skills needed. This course is a great way to start a portfolio.
Python Developer
A Python developer uses the Python programming language to build software applications, web services, and other tools. This course helps build a foundation in Python, covering the fundamentals like variables, loops, and object-oriented programming. The course emphasizes practical skills by guiding learners through building graphical user interfaces and games. This course helps build proficiency and prepares you for Python development roles. The course includes the basics of Python along with more complex modules.
Software Engineer
A software engineer designs, develops, and tests software applications. This course helps build a foundation in Python programming, focusing on game development with graphical interfaces. The course covers object-oriented programming, data structures, and fundamental programming concepts. The skills acquired are transferable to software engineering projects. This course may be useful to those who want to use Python in a professional setting. The course also includes instruction in the VS Code development environment.
GUI Developer
A graphical user interface developer creates interactive elements for software applications. This course provides direct experience in Python GUI programming. The course uses practical examples of game development, such as creating interactive menus and user interfaces. Learning the advanced Python modules equips you with the tools necessary for GUI development. This course may be useful if you want to build interfaces for desktop or web applications. The course provides hands-on experience making actual menu interfaces.
Software Developer
A software developer builds and maintains applications. This course helps build a foundation in Python, coupled with hands-on experience in game development. The course covers basic to advanced programming concepts, including object-oriented programming and data structures. Working through the projects in the course provides practical coding experience. This course may be useful to those who want to expand their programming skillset.
Application Developer
An application developer designs, codes, and tests apps for various platforms. This course may be useful because it introduces you to Python programming by building graphical user interfaces. The course includes learning object-oriented programming, which is used in app development. Creating games like Mario and Adventure Game provides experience in application design. You gain useful skills by understanding the main character movement, collectibles, and interactive menus from this course.
Web Developer
A web developer creates and maintains websites and web applications. This course may be useful by providing a foundation in Python. While the course focuses on game development, the underlying programming principles are applicable to web development. Understanding data types, variables, and control structures proves useful in web development tasks. This course may be useful for backend web development using frameworks like Django or Flask.
Data Scientist
A data scientist analyzes large datasets to extract insights and inform decisions. This course may be useful because it offers a solid foundation in Python, which is extensively used in data science. The course covers fundamental programming concepts and data structures and, therefore, may be useful even though its focus is on game development. The course also includes basic Python skills that are also used in data science scripts and tools.
Automation Engineer
An automation engineer designs and implements automated systems and processes, often using scripting languages. This course may be useful for beginning automation engineers. The course teaches basic to advanced Python programming, and the games offer real-world applications of the language. You gain skills in creating and debugging code that are valuable in automation. This course may be useful for those who want to automate tasks in software development or IT operations.
Software Tester
A software tester evaluates software to identify defects and ensure quality. This course may be useful for testers who want to automate test cases. The course provides a solid foundation in Python programming. You gain skills in writing scripts to interact with software interfaces and validate functionality. Although the course focuses on game development, the Python skills are directly transferable to test automation. The course may be useful for those who want to use Python to write test automation scripts.
Machine Learning Engineer
A machine learning engineer develops algorithms that allow computers to learn from data. This course may be useful because it provides a strong foundation in Python. The course focuses on creating games, but the underlying Python skills are transferable. The course also includes basic Python skills that are used in machine learning libraries. Machine learning roles typically require an advanced degree.
Robotics Programmer
A robotics programmer writes code to control and coordinate the actions of robots. This course may be useful by providing a solid foundation in Python programming. Python is often used in robotics for tasks such as controlling robot movement. The course covers fundamental programming concepts and object-oriented programming. The skills will be useful in more sophisticated robotics applications. Robotics programming roles may require an advanced degree.
Data Analyst
A data analyst examines data to identify trends, patterns, and insights that can help organizations make better decisions. This course helps build a foundational understanding of Python. The course includes the basics of Python, such as data types and arithmetic. This helps you learn basic coding skills. The course may be useful to those who want to improve their data analysis skills. A data analyst role may require a master's degree.
IT Support Specialist
An IT support specialist provides technical assistance and support to computer users. This course may be useful for those looking to automate common IT tasks. The course helps build a foundation in Python. You learn how to write scripts to automate software installation, configuration, application management, and system maintenance. The course may be useful for those who want to expand their skills in IT support.
Technical Writer
A technical writer creates documentation for complex technical products and services. This course may be useful because basic programming knowledge can help a technical writer better understand the technology they are documenting. The course is an introduction to Python, one of the most popular programming languages. The course helps build a foundation in Python programming, which may be helpful for understanding and documenting software development processes.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn To Code By Making Games in Python.
Provides a solid foundation in Python programming, covering essential concepts and syntax. It's particularly useful for beginners or those looking to refresh their Python skills before diving into game development. The project-based approach helps solidify understanding through practical application. It is commonly used as a textbook for introductory Python courses.
Provides a more in-depth look at game programming using Python and Pygame. It covers topics such as game design, collision detection, and AI. It's a valuable resource for those looking to expand their game development skills beyond the basics. This book is more valuable as additional reading than it is as a current reference.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser