Chevron Left
Back to Principles of Computing (Part 2)

Learner Reviews & Feedback for Principles of Computing (Part 2) by Rice University

357 ratings

About the Course

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games. In part 2 of this course, the programming portion of the class will focus on concepts such as recursion, assertions, and invariants. The mathematical portion of the class will focus on searching, sorting, and recursive data structures. Upon completing this course, you will have a solid foundation in the principles of computation and programming. This will prepare you for the next course in the specialization, which will begin to introduce a structured approach to developing and analyzing algorithms. Developing such algorithmic thinking skills will be critical to writing large scale software and solving real world computational problems....

Top reviews


Jun 11, 2017

Phew, this course was much harder than the preceding courses. Some assignments took many hours of work over several days. But it's doable, and well worth it.


Jun 29, 2020

Interesting, but challenging course. Some weeks might take longer than a week, but don't give up. If you pull through, you have accomplished quite a lot.

Filter by:

1 - 25 of 56 Reviews for Principles of Computing (Part 2)

By Alex M

Jan 12, 2017

If I wanted to learn programming from scratch, I'd take this specialization. They are great teachers and the recursion section was extremely helpful.

By Jordi C

Apr 14, 2017

I have passed now the 4 first courses of the Fundamentals of Computing Specialisation and I have to say that I am very grateful to the instructors for the amount of new knowledge I got from working on this courses.

At first I my aim on taking this courses was just to learn Python, but now I can see how much deeper the scope of this course is. I have learned so much more than just the syntax and grammar of a programming language. I have just started grasping the way information can be organised and searched.

I have to say the 2 parts course Principles of Computing is not easy. The difficulty escalates exponentially as we move forward. You will need time to pass the projects and tests. Take it with calmly and seriously. Its worth it.

A big thank you to the instructors for their efforts on making the learning way entertaining. Even just by trying to be funny you guys made it enjoyable.

Highly recommended.

By Jeremy L

Feb 23, 2018

I came to PoC Part 2 via Rice's IIPP courses and PoC Part 1. The PoC series is a step up in difficulty from IIPP. The homework assignments usually took me several hours to complete and the mini-projects all took around 10 hours (maybe more) to complete. If you have lots of programming experience, I expect the mini-project would take you less time, at least once you've conceptualized how to solve the problem/project. And it is this thinking - rather than programming - that is the main thing the instructors want students to take away from this course. In other words, this is not an intermediate Python course. But it is a great class. You'll get an introduction to searches, data structures, recursion, trees, and how to test your software. And like IIPP, the mini-projects are based a fun games.

By Daniel C K

Sep 15, 2017

A rigorous, but short, computer science course. The projects for this class took widely differing amounts of time to complete. Some, I could do in a few hours. The more difficult ones, like the final project, took me days of thinking and coding to do. I highly recommend it, though. By the end, you'll be a much better programmer.

By Max B

Mar 4, 2019

Great continuation of part 1, with a bit more "true" computer science techniques taught. Challenging (but fun) projects each week. Make sure you put some effort into the practice activities each week. These will help you understand the weekly material better and prepare you for both the homework and projects. two thumbs up!

By Ian B

Jun 12, 2017

Phew, this course was much harder than the preceding courses. Some assignments took many hours of work over several days. But it's doable, and well worth it.

By Evan S

Mar 21, 2020

Such a great course! Something to keep in mind here that Professor Scott Rixner outlines in the course is that this course is for learning computer science concepts, not just "programming." I personally took this course specifically for that reason as my degree was not in computer science and I didn't want to approach programming/coding without learning some level of computer science concepts.

I'll also say as someone who has historically been intimidated by math (and by extension more math-intensive work like computer science) - as long as you're willing to take the time to really understand the homework preceding the weekly project, you'll be just fine even if you're not super confident with math just yet.

By Aynur Z

Dec 28, 2017

Excellent course. I tried several similar courses on Edx and Coursera platforms and found this as the most efficient. The lectures are clearly stated and always accompanied by reading material, which makes it easy to repeat the material.

Practical tasks are very interesting and help to develop practical skills.

It is a wonderful opportunity to learn Python and fundamentals of computing. I highly recommend this course to everyone interested in this subject.

By Julian O

Mar 8, 2018

Another entertaining and great course in the series with really well-designed and engaging projects.

I am getting sad I'm running out of courses to take from Rixner, Warren, et al. They are superb.

CodeSkuptor and OwlTest are really easy to use and handy tools (although I've had some issues with OwlTest not working all of the time).

By Pavel O

Oct 14, 2022

Principles of Computing is another great step towards completing the Fundamentals of Computing Specialization. You can clearly feel, that the previous two courses were like a kinder garden, and these two are already much more challenging and demanding in terms of complexity.

Besides just writing a working piece of code, you also need to follow coding style conventions in order not to lose point in projects. The concepts that these courses leverage are very interesting, the most brain-breaking one being obviously a recursion, haha.

I want to thank Scott and Joe one more time for their dedication, and looking forward to start the next two courses in Algorithmic Thinking!

By Harshvardhan K

Sep 13, 2020

This was easily one of the hardest Programming courses I have taken, Part 1 focuses on introducing us to algorithms and mathematical concepts like Permutations, Monte-Carlo approximation and incorporate them into mini-games near perfectly. Part 2 continues this approach on tackling graphs, BFS, DFS and Minimax. The projects are carefully designed in that they don't hold their hand out while one writes the code. The final project requires you to independently think and write 200+ Lines of code easily. Completing the course has left me with a proud feeling.

By Santhosh C

Jun 4, 2021

Great Oppurtunity

Some of the projects were difficult and took a lot of time and effort. I have just begun to learn to code and this course has given me confidence. The projects have given me something to put on my resume. Students with some prior experience in programming would find it easier to complete this course. This course pushes you out of your comfort zone

By Tudor B

Jan 18, 2021

Often challenging, yet rewarding. This course helped me better understand recursion, trees, queues and stacks. While solving the mini-projects, but especially the last mini-project (The Fifteen Puzzle), I have developed a habit of building test cases which proves to be more efficient in developing software rather than I was used to before. Thank you.

By Hefu H

Jun 18, 2017

I think the content of the course is very good. But I also feel that the last homework is a bit of difficult as some crucial parts of guidance is not given. It took me too much time to figure out the tile-moving helper function.

By Hassan B

Jun 24, 2017

Although the hardness of the course compared to the precedent ones in the specialization but it was worth the effort , like the professors have said difficult but funny, five stars , keep the good materials.

Hassan Bouchaala

By Krishna S

Apr 29, 2017

Excellent course!!! Choice of mini projects to apply the concepts we learnt was awesome. Excellent course structure, instructors, materials and everything. Loved every part of this course. Thanks for such wonderful course.

By Roberto M

Mar 29, 2019

Great course! Each course is getting more challenging, and the way it is taught is simply great. It is easy to follow and still makes you think a lot. It is really rewarding finishing the mini-projects.

By Remo L

Jun 29, 2020

Interesting, but challenging course. Some weeks might take longer than a week, but don't give up. If you pull through, you have accomplished quite a lot.

By Rudy H

Feb 24, 2019

Great course, I hope for more of this kind of courses. Invaluable skills gained from this course. High praise to all the professors. Thank You Very Much.

By Andrew F

Dec 8, 2017

Another fantastic course from the team at Rice University. The coursework is interesting and challenging, and I really feel I have learned a lot.

By Arjun S

Oct 24, 2020

Helped me gain a lot of insight on Python coding. It was a great course to set up the basic to advanced journey for a coder.

By YehJin T

Jun 8, 2022

Very well taught. A lot of fun taking up this course. Hope there will be a 2nd season for this specialization course.

By sangil Y

Jun 10, 2018

projects are tough at least for me it was but once you finish all the project, that rewarding feeling is just awesome

By Adel F

Oct 17, 2017

Learned lots! One year down the line I was asked at a job interview about my past experience in python and gave this!


Apr 30, 2017

Very challenging projects and a very interesting way to learn about data structures. Lecturers are really great