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

University of Alberta

Problem Solving, Python Programming, and Video Games

University of Alberta via Coursera


This course is an introduction to computer science and programming in Python. Upon successful completion of this course, you will be able to:

1. Take a new computational problem and solve it, using several problem solving techniques including abstraction and problem decomposition.
2. Follow a design creation process that includes: descriptions, test plans, and algorithms.
3. Code, test, and debug a program in Python, based on your design.

Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout.

This course uses problem-based learning. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. The instructional videos present Python using a conceptual framework that can be used to understand any programming language. This framework is based on several general programming language concepts that you will learn during the course including: lexics, syntax, and semantics.

Other approaches to programming may be quicker, but are more focused on a single programming language, or on a few of the simplest aspects of programming languages. The approach used in this course may take more time, but you will gain a deeper understanding of programming languages. After completing the course, in addition to learning Python programming, you will be able to apply the knowledge and skills you acquired to: non-game problems, other programming languages, and other computer science courses.

You do not need any previous programming, Python, or video game experience. However, several basic skills are needed: computer use (e.g., mouse, keyboard, document editing), elementary mathematics, attention to detail (as with many technical subjects), and a “just give it a try” spirit will be keys to your success. Despite the use of video games for the main programming project, PVG is not about computer games. For each new programming concept, PVG uses non-game examples to provide a basic understanding of computational principles, before applying these programming concepts to video games.

The interactive learning objects (ILO) of the course provide automatic, context-specific guidance and feedback, like a virtual teaching assistant, as you develop problem descriptions, functional test plans, and algorithms. The course forums are supported by knowledgeable University of Alberta personnel, to help you succeed.

All videos, assessments, and ILOs are available free of charge. There is an optional Coursera certificate available for a fee.

Taught by

Duane Szafron and Paul Lu


4.0 rating, based on 4 Class Central reviews

Start your review of Problem Solving, Python Programming, and Video Games

  • Anonymous
    As a complete newbie, I made extensive use of the generous and available tutoring. The responses to my queries were promptly answered and helpful.
  • Anonymous

    Anonymous completed this course.

    A great introduction to concepts in coding. I now feel much more confident in my ability to solve coding problems, even if the way forward isn't immediately obvious.

    I felt that the learning materials were well presented and put together, and that the instructor feedback in the forums was vary helpful. I also thought that the exercises were well designed in teaching you not just the syntax of python, but in getting the learner to solve problems and read the language documentation on their own. It is one thing to be shown how to solve a problem, an other to be given the tools to do so on your own.
  • Anonymous
    The program should have a main menu, through which the user can choose whether he wants

    to encrypt a text or decrypt it.
  • Anonymous
    I am very disappointed. They are mixing a parsing class, a beginner python class and a video game course.

    It is not at all needed. Those who are writing video games are probably not going deep into theory of computer science.

    They discuss assignment statements and creating a graphics based game in the same lesson! I think they mix up too much into one course.

Never Stop Learning.

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