Chevron Left
Back to Problem Solving, Python Programming, and Video Games

Learner Reviews & Feedback for Problem Solving, Python Programming, and Video Games by University of Alberta

223 ratings

About the Course

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....

Top reviews


Invalid date

Very a amazing work! But Sometime of them is misunderstand by using typo, and some confusion reading but Amazing Video and Content Grade!


Invalid date

Very Informative by helping you learn programming long term!

Filter by:

1 - 25 of 76 Reviews for Problem Solving, Python Programming, and Video Games

By jared k

Oct 21, 2019

The lexical, syntactic and semantic quizzes in this course created more confusion than clarity. Also PyGame doesn't work in a number of GUI's (including IDLE), making the course significantly more difficult to complete.

By Joel S

Aug 6, 2019

I really enjoyed this as an introduction to Python course, mostly because it went beyond the confines of the specific programming language and addressed the problem-solving and design process at a more fundamental level. This seems really important as the approach is ultimately more important than the specific tool used to do the job. I feel this gave me a nice grounding in the workings of the Python interpreter and I have a good idea about how to go about approaching different types of programming challenges.

I did encounter some challenges along the way with some of the testing items, especially toward the end of the course. In some of the programming hurdles, I found it difficult to figure out what exactly the input of the program would be, so it was hard for me to prepare the class or function to handle. That led to some situations where my version of the program worked as directed, but I kept getting rejected by the test version. This got frustrating but I muddled through. The help of one of the staff (Jullienne) was so helpful in finally getting through one of these issues.

I also must say that some of the most challenge I faced was in the algorithm builder. Those are just so hard to get right. Something about it is just not intuitive and the hints are sometimes oddly misleading. The builder does use embedding well, but something about it is not quite obvious. I feel like if I could see the whole thing broken down as on one page (like an x-bar diagram in linguistics), it would all be obvious. But since you can't see all the parts at the same time, it's hard to remember the other variables that are going on off-screen. The frustration level was high with those exercises.

I really enjoyed the presentations by the teaching team. It's quite analytical delivery (which I like) and I often found myself replaying the videos multiple times to ensure that I got things correct. Many thanks to the team for their effort in designing and delivering the course. Your care for your craft is very apparent and I appreciate that level of dedication.

I must confess that in the last few versions of Poke the Dots, I couldn't get my version to function properly and I had to just push forward to force the solution. I think I have a handle of the general idea and I understand how they reached the solution in the last two versions, but I just couldn't quite make it happen in my version. I'm pretty disappointed in myself for that, but I guess I will just have to accept it.

Anyway, thank you so much and please feel free to contact me with any follow up questions on my experience.

By Quan C

Dec 13, 2019

If you want to learn Python in a practical way, don't choose this course. Too many quits ask you to analysis Semantics problems of stupid codes- Who cares?

By keesari s

Sep 19, 2019

As a postgraduate student, I find this course very interesting. I like their way of conveying. Thank you coursera.

By Juan I R E

Mar 12, 2020

The course is very boring. Hard to stay awake

By Daniel W

Jun 3, 2020

Could cut 2/3 of the content of this course and get the same result

By Liau K S

Feb 28, 2020

I have learnt a lot from this course and it is what i need as well. I do really appreciate that you guys allow me to have this course thank you so much.

By Sandy H

Sep 26, 2019

Very Informative by helping you learn programming long term!

By Aaron L

May 24, 2020

This is an excellent course, for both absolute beginners and those with a basic programming background. I feel like I learned a lot of the principles of program design and problem solving. However, the algorithm building exercises are a headache and led me to more frustration than actual learning!

By Ben S

Sep 27, 2019

it's a bit boring

By John C

Dec 29, 2020

More than just a python tutorial, the course develops a correct approach to the whole programming process. (Really) frustrating at times, when your answers do not match the automatic assessment, but rewarding when you correctly interpret the task and provide the expected solution.

I was surprised at how many topics the course covered. There are omissions, but as a vehicle to take the student from little Python knowledge to someone who can attempt to write a reasonable program, it works.

The videos are well done, some required rewatching several times to understand the subtlety or density of the topic. The interpreting and programming exercises were very enjoyable; less so the lexical, syntactic and semantic exercises. I particularly remember failing a 26 question exercise to correctly sequence all semantic steps for a small piece of code. Personally, I didn't find all the answers were in the course material. I found other help online to complete the course programming quizzes.

This course took a fair amount of effort, (I'm not a programmer), but it was an effective use of time whilst engaged in a Covid isolation after returning from a trip abroad, followed by a later lock-down.

Thank you to all involved.

By Brandon P

Sep 3, 2020

A great course for introduction to Python and Video Games. I took this course to get more insights on Python since I learned a little before college started and now, I got a feel of this new type of skill. Taking this course kept me busy during these tough times and I am glad that I found this course and other courses to keep me moving forward with a new type of knowledge that I will use for my career. Thank you! It was a little difficult at the end of both games creation and a few programming assignments seem very overwhelming to complete so make sure you are understanding the lecture videos, researching your issues and ask questions on the forum.

By Allyson R

Oct 21, 2020

Great course! I learned a lot and it gave me a good feel for programming.

By Marvin T

May 16, 2020

Explanations were good but when it comes to how assessments are presented, it needs to be modified for a learner to follow.

By Rita B

Jul 23, 2020

I have done everything to download the VirtualBox. I have followed directions and read the Q & A and it does not work and i cannot proceed. I am unenrolling.

By Saad A M

May 31, 2020

Has too many issues in setting up the environment and the staff just left my issue unresolved I dont know if on purpose or by mistake

By Mititiuc E

Jul 9, 2022

Thank you very much to University of Alberta's team for this excellent course. I really enjoyed it. I learnt a lot of new and useful things which will help me a lot in my career. Even if I had an experience in programming before starting this course, thanks to it I could understand how a programming language works. Anyway, I recongnize that the course wasn't easy. Sometimes It was really difficult to understand some concepts, but If you work hard, you will understand everything. I recommend this course to everyone.

By Yung-Chuan C

Jun 6, 2020

Great class with detailed lecture and wisely designed assignment. The syntax analysis and semantic analysis sections are a bit beyond the programing prospective but more like the languange development. Some people may appreciate it if they are interested in the mechanism behind Python, but I'm not really in to it.

By Silvia T

May 14, 2020

Great course for learning or revising problem-solving and python programming. The course offers step by step exercises and projects. The discussion in the forum also provides additional support. Highly recommended!

By Abishek N

Oct 3, 2021

excellent course. The syntax analysis was rather hard at times but it gave a more systematic approach to programming. What gained over programming skills is actually efficiency in programming.

By Itamar P

Dec 22, 2019

Great course, teaches you all you need to know. Recommended.

By Viktor K

Aug 31, 2020

At times, I found the quizzes expected responses that didn't match the questions, i.e removing the ":" from the end of the line being requested or the word "if" that would have you pulling your hair out, because you KNEW the answer being provided is correct. The best parts of the course (for me) were the coding quizzes that didn't actually involve the hacking game or poke the dots, because the code was essentially being built from scratch. In the case of the game files, we were using a pre-built module and getting help via videos to a point where I did not feel like it was ME who completed the task. There's an overabundance of syntax and semantic diagram quizzes to a point of feeling overwhelmed by typing text diagrams rather than exposure to typing out and interacting with code that exemplified the lesson being taught. Relatively complicated concepts in object oriented programming (OOP) were more or less glossed over in what felt like a hurry by focusing on name spaces, etc. rather than a more humanistic explanation of why I would want to use OOP over functional programming. OOP is not necessary more readable than functional programming and seems to result in a greater number of side effects to keep in mind. I am just a beginner, but found myself performing the tasks.. getting the OOP code to work relatively easily yet still having this odd feeling as though I didn't understand my own code on the same level that I did with functional programming. It was also a bit odd to skip over dictionaries and slicing entirely before jumping right into OOP. You WILL learn a fair bit from this course, but it seems to fall a little bit short on providing uses for args and Kwargs which would be great considering how many directions python can go in and how vital it is to confidently understand args and kwargs.

By Manfred D

Jun 13, 2021

I liked the programming parts and of the explanations. The Quizes were mostly tedius and for my opinion to theoretical. More programming would have been much better than writing down <fc <ae or trieng to get through the editors for testplans and algorythms.

But maybe thats just me :-)

BUt i learned a lot in this course so everythings fine :)

By Adison L

Oct 23, 2020

Started off well but with no pervious knowledge in code, I feel this was not a good first step to take


Jul 30, 2020

too much exam