University of Alberta

More Problem Solving, Python Programming, and Video Games

Save on skills that make you shine with 40% off 3 months of Coursera Plus. Save now

University of Alberta

More Problem Solving, Python Programming, and Video Games

Duane Szafron
Paul Lu

Instructors: Duane Szafron

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

6 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

6 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

May 2026

Assessments

42 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 10 modules in this course

In this module, you will discover the python programming language features that will be discussed in this course.

What's included

1 video1 assignment

In this module, you will re-explore the game creation process that was used in the PVG course and that will be used in this course. You will use this game creation process to design and code a game called the Generic Interactive Game. You will use a powerful new design tool called a state diagram to model interactions between the user and the game. To create your design for the Generic Interactive Game, you will use three interactive learning objects that you used in the PVG course: the description builder, functional test plan builder, and algorithm builder. You will write the code for the Generic Interactive Game using python language features you learned in the PVG course.

What's included

10 videos14 readings4 assignments

In this module, you will be introduced to the Sliding Puzzle Game. This game will be used throughout the remainder of the course, to introduce the new python programming language features that will be discussed. You will play the complete game and then create and design an implementation of Version 1 of the game. This version will require one new python programming language feature: default parameter values. Although this new language feature is relatively simple, it requires syntax diagrams and semantic rules that are generalizations of the ones you used in PVG. Therefore, this module will reacquaint you with using syntax diagrams and semantic rules, which will be used extensively throughout the rest of this course to introduce more complex python language features. In addition, this module will also reinforce your knowledge of state diagrams and the design and coding process used throughout this course.

What's included

9 videos10 readings7 assignments

In this module, you will be add more states to the Sliding Puzzle Game's state diagram, and use the Interactive Learning Objects (ILOs) to create a textual description, a functional test plan and an algorithm for Sliding Puzzle Version 2. You will write the code for Sliding Puzzle Version 2 and use the debugger to trace the code to better understand how events are used to write programs with interactive graphical user interfaces. You will also learn how reflection can lead to modifications in an algorithm and its code that facilitate future versions of an application, even though the perceived behaviour of the current version of the program doesn't change.

What's included

9 videos13 readings6 assignments

In this module, you will use the Interactive Learning Objects (ILOs) to create a textual description, a functional test plan and an algorithm for Sliding Puzzle Version 3. You will learn how some design patterns can be used to perform common computations using sequences. Finally, you will write the code for Sliding Puzzle Version 3, and use the debugger to trace the code to better understand how multiple classes can work together to solve a problem.

What's included

5 videos9 readings3 assignments

In this module, you will use the Interactive Learning Objects (ILOs) to create a textual description, a functional test plan and an algorithm for Sliding Puzzle Version 4. Before writing the code for Sliding Puzzle Version 4, you will learn a new programming language feature: multi-dimensional sequences. You will the use this new feature to write the code for Sliding Puzzle Version 4, and use the debugger to trace the code to better understand how multi-dimensional sequences are used to solve problems.

What's included

7 videos9 readings4 assignments

In this module, you will use the Algorithm Builder (ILO) to create an algorithm for Sliding Puzzle Version 4.5. Before writing the code for Sliding Puzzle Version 4.5, you will learn two new programming language features: Class Attribute and Class Method. You will then use these new features to write the code for Sliding Puzzle Version 4.5, and use the debugger to trace the code to better understand how Class Attributes and Class Methods are used to solve problems.

What's included

5 videos5 readings5 assignments

In this module, you will use the Interactive Learning Objects (ILOs) to create a textual description, a functional test plan and an algorithm for Sliding Puzzle Version 5. Before writing the code for Sliding Puzzle Version 5, you will learn a new python programming language feature called a File. You will then use Files to write the code for Sliding Puzzle Version 5, and use the debugger to trace the code to better understand how Files are used to solve problems.

What's included

7 videos10 readings5 assignments

In this module, you will use the Algorithm Builder (ILO) to create an algorithm for Sliding Puzzle Version 5.5. Before writing the code for Sliding Puzzle Version 5.5, you will learn a new programming language feature, Dictionary. You will then use this new features to write the code for Sliding Puzzle Version 5.5, and use the debugger to trace the code to better understand how Dictionaries are used to solve problems.

What's included

4 videos4 readings3 assignments

In this module, you will use the Interactive Learning Objects (ILOs) to create a textual description, a functional test plan and an algorithm for Sliding Puzzle Version 6. Before writing the code for Sliding Puzzle Version 6, you will learn a new python programming language feature called exceptions. You will then use exceptions to write the code for Sliding Puzzle Version 6, and use the debugger to trace the code to better understand how exceptions are used to solve problems.

What's included

8 videos9 readings4 assignments

Instructors

Duane Szafron
University of Alberta
2 Courses81,108 learners
Paul Lu
University of Alberta
2 Courses81,108 learners

Offered by

Why people choose Coursera for their career

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Coursera Plus

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions