FK
Really great course about Computational Thinking and how to solve problems. Recommended for anyone interested in learning more about Computer Science and how computers can help us solve problems.

Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer. But you don't need to be a computer scientist to think like a computer scientist! In fact, we encourage students from any field of study to take this course. Many quantitative and data-centric problems can be solved using computational thinking and an understanding of computational thinking will give you a foundation for solving problems that have real-world, social impact. In this course, you will learn about the pillars of computational thinking, how computer scientists develop and analyze algorithms, and how solutions can be realized on a computer using the Python programming language. By the end of the course, you will be able to develop an algorithm and express it to the computer by writing a simple Python program. This course will introduce you to people from diverse professions who use computational thinking to solve problems. You will engage with a unique community of analytical thinkers and be encouraged to consider how you can make a positive social impact through computational thinking.

FK
Really great course about Computational Thinking and how to solve problems. Recommended for anyone interested in learning more about Computer Science and how computers can help us solve problems.
GT
It was amazing program to learn the computational thinking and the basic of python programming. Some tests were difficult for me, but it was good training to learn the programming.
CP
The last week of the course was challenging, but I learned a lot! It was a great introductory course. I would use this to gauge your interest in this field. Worthwhile and you can't beat the cost!
LS
Useful course taught at an adequate rate. I recommend it for people who are interested in learning the basics of computational thinking, i.e. a systematic approach to problem-solving.
JL
Great course - the non-programming parts (making flow charts etc) were actually more difficult than the programming (simple Python programming - my first time programming in python)
JR
The course is great. I learned a lot. The support for the course is SUPER slow. It's hard to get any direct help for any questions or issues that you are having. Beware of assignment 4.7!
AW
The course is very well-designed and it helped me develop understand how to apply computational thinking in solving various types of problems as well as acquire basic skills of programming in Python.
RK
Course content is good, graded assignments are good, I just had problems with my assignments in week 4 as I easily became confused with the implementation of all the lessons combined.
AK
I recommend this course to everyone who wants to learn about Computation Thinking in an effortless manner. I am delighted with this course. Thanks to UPenn and Coursera for giving me this opportunity.
DT
Very comprehensive course. As a chemist who is interested in doing a course in programming I was quite uncertain if I'd be able to pick it up however this course has helped me understand the basics.
GS
Well taught with good examples and exercises that require thinking but still approachable. Very well laid out and taught. Definitely sparked an interest to go learn more.
MM
Thoroughly enjoyed the course. If you are new to computer science or need a refresher of the basic concepts you learned in high school / college, this is the perfect course
Showing: 20 of 469
Disappointing, frustrating course. The professors are likeable and engaging and the videos are well done, but I found this to be an unpleasant learning experience for the following reasons: 1. The videos are very brief and rush through details without enough background explanation or elaboration. 2. The quizzes test you on things that were mentioned in one sentence or less in the video, and seem designed just to trip you up rather than help you learn by quizzing you on the main points in the lecture. 3. The peer review projects don't always correspond to the lecture. All of a sudden you are doing an assembly language project, for example, with no prior instruction. And unlike peer-review projects in other online courses, the rubric and grading instructions are very picky: You need to not just demonstrate that you understand the concepts, you need to do the project perfectly, in the way a computer scientist professor with years of experience would. There are too many of these projects, too. 4. The Python module/week tries to cover in one week the material that beginning Python courses would cover over many weeks or months, and it is all done from the vantage point of an experienced, advance programmer. (If you want to learn Python, start with Dr. Chuck!)
I suspect that the fundamental problem with this course is "the Curse of Knowledge." The creators of the course have been doing this for so long, at such a high level, that they truly don't understand the perspective of a beginner. The concepts are so basic, so obvious to them. The math so self-explanatory. So the material is delivered in a rush, with the assumption that it will be equally obvious and clear to everyone.
The first 3 weeks of the course were great. It really helped change my way of thinking to solve large complex problems. I can use this in my role as a Business Analyst.
The lecturers presented the materials in a clear manner, with real life examples to help the understanding.
Then, came the python coding. The first few modules of the Python section were fine. Then came section 4.7 It was a lot more difficult than the others, and I found that the helpdesk was slow to respond. It took longer than it should have to complete that section, but I pressed on.
Then, there was the final test. Section 4.8. There were some concepts in this exam that were not included in the lecture material. The online help was non-existent. It took DAYS to get a response from the TA in the discussion group. Even then, the response was not particularly helpful. We were then told to send a problem flag to review the code (since we were not allowed to share the code in the discussion group.) I submitted a problem ticket a week ago, and still have not received a response. Keep in mind that I'm not a developer.
I found help in other places, and was finally able to complete the assignment. It's a shame that the problems with the last section of the course seemed to take away from what was otherwise an excellent course.
The course is generally good. However, the assignment content and the lecture are not really getting along, especially the Python part. I suggest more "bridging" materials.
This course surprised me. As a programmer by trade these are my thoughts...
Week 1 (Problem Solving) - Good for beginners (and scatter brained intermediates).
Week 2 (Algorithms) - This was interesting and professionally useful. Algorithms include: Linear, binary, greedy, and brute force.
Week 3 (Computer Architecture) - Basic outline of how the cpu deals with information and a brief history of computing. Overall not professionally useful, but interesting.
Week 4 (Python Programming) - Brief intro to python and applying what you have learned by writing python scripts. This was the easiest module for me (and probably for anyone with coding experience).
Everyone will not be able to complete this since it does not offer additional resources that are relevant to the assignments. I tried and will not finish as it has become to time-consuming. I am learning however, there are not examples or help for you if you do not understand the instructions.
The course is very well-designed and it helped me develop understand how to apply computational thinking in solving various types of problems as well as acquire basic skills of programming in Python.
I thought this course was excellent except for a few small things. I've done a handful of online "learn to code" courses and this was by far the best one to help understand the foundations and actually what you are doing when you code. The videos were really helpful as well as the assignments which I thought were a good balance of challenging but not too challenging. There were two specific things I didn't like as much, particularly the quizzes at the end of each lecture and the format of the delivery of the assignments. I thought that the quizzes were so short that they didn't deliver a ton of value. With respect to the assignments, I thought that the assignments themselves were excellent but the long multi-page PDFs for each coding assignment were overwhelming and often had details buried within them that were really important. I'd recommend a short bulleted summary of requirements up at the top or something to make it clearer. Other than that, I thought this was an excellent course!
Very comprehensive course. As a chemist who is interested in doing a course in programming I was quite uncertain if I'd be able to pick it up however this course has helped me understand the basics.
Really great course. The professors do an amazing job teaching the fundamentals that can be transferred across all of computer science. Instead of learning one programming language, they instead teach you how to think like a computer scientist, which is far more valuable because it will enable you to "connect the dots" from one language to the next.
Impossible to get any feedback. Very hard to follow what the requirements are at the end.
Thank you, Susan and Chris, for making this course! I took this course for free so I didn't have access to things like quiz grades or have the ability to submit assignments. I still did the quizzes and I made sure the code worked on the assignments so I think you don't need to pay for this course if you just want to learn. I appreciate that the instructors progressed from easy to gradually harder material until I was making complex algorithms (well, complex compared to what we started with). This course gave me an appreciation for computational thinking and I'm entirely convinced that this will be an important skill that everyone should have for humans to progress. I already have ideas to use computational thinking to improve my job as a kitchen cleaner for myself and others who take this job after I'm done with it. I plan to learn more about coding so that I can solve more problems. Thanks again for making this course available online for free.
Great course. Good mixture of video lectures, quizzes, and peer graded assignments. Four stars because in some of the assignments it was unclear as to what was being asked or required until you saw the rubric for the first time. I think some items that were asked for in the rubrics were not obvious/inferable from the prompts.
Overall, great. However, I think the programming assignments were too hard to just do right off of the lectures. Needed extra research.
This course has been extremely practical and useful for true in-depth understanding of how code logic works. I'm a beginner with no prior Computer Science background and I believe I will utilize the practical knowledge that I've obtained from this course into real life problems and code solving practices. This course is very well-structured and teaches about the real structure behind how the code works through algorithm-charts and gives you practical and logical ways to achieve solid solutions to code problems. It gives you insight on how to think critically, computationally and helps you understand how computers work and assess commands. Another thing I love about this course is that it pushes you to actually put what you learn into practice and use your creativity to come up with solutions to the assignments they give. I'd like to personally shout out to Susan Davidson and especially Chris Murphy for explaining everything with such great examples. For the first time in my life, I've learnt how permutations work and I actually started enjoying Math after this course. I really appreciate both of you for delivering such an amazing course for students like me who can't possibly access good quality, well explained education otherwise. I 500% recommend everyone to take this course, especially if you want to get into the IT field.
Excellent course for beginners with enough depth, programming and computational theory to increase their computer science knowledge to a higher level. It builds a good foundation of how computers work
The last week of the course was challenging, but I learned a lot! It was a great introductory course. I would use this to gauge your interest in this field. Worthwhile and you can't beat the cost!
Very well thought out. This course covers simple concepts while still being engaging and challenging. Examples from varying disciplines help illustrate concepts in a real-life context.
Course material was useful, though the peer-grading process could use some improvement. For example, absent posting a "Please review mine, I'll review yours" thread in the forums, there seemed to be no way to ensure that a submission would be reviewed. In addition, there seems to be no quality control. For example, there were a few instances where I was docked a few points even where my solution matched the rubric. In the assignment involving comparing binary and linear search in a list of 15 cities, my grader (sincerely, I'm sure) noted that he "believed" I had included extra cities in my responses, even though I had plainly given the correct answer as stated in the rubric, almost verbatim. And there was no way to direct message that grader to clear up the confusion - the only way to correct the error would have been to resubmit the assignment in hopes that someone else would grade it.
I really enjoy the online session. It gives a preview of what MCIT would look like. Having said that, I would suggest to extend the week 4 session to two-week long and explain Python in greater detail. Since most students are new to coding, people are struggling including myself.
I loved this course on computational thinking. Unlike other courses which focused only on a specific programming language (such as Python), this course gave me a deep dive into computational thinking, a foundation learning, behind any types of programming. Not having a computer science background, but having done some Python experience, I lacked the basic concepts of computational thinking. This course provided just that! It covered pillars of computational thinking, simple algorithms, flowcharts, pseudocode, memory usage in CPU as it relates to programming concepts, and introduction to Python. The course includes several quizzes, but most importantly, great assignments that helped me solidify my understanding of the course material. A highly recommend this course even if you have not worked with any programming languages before!
P.S. If you have never worked with Python before, I would recommend keeping aside some extra time during Week 4.