What is “Computational Thinking for Problem Solving”?
It’s a relatively short course introducing students from all backgrounds on how to systematically solve a problem and then expressing that solution in a way a computer can understand it. This program primarily focuses on problem solving approaches based on the four pillars of computational thinking: decomposition, pattern recognition, data abstraction, and algorithms. The course then concludes with applying these pillars for solving problems using basic Python.
Why enroll in this course?
This course is created by the University of Pennsylvania and distributed through the Coursera platform. I took (and completed!) this course to first and foremost test myself on a) if I’m disciplined enough to take and complete an online course and b) to see if I’ll enjoy problem solving and coding. I happened to really enjoy this course and it has what prompted me to apply for the MCIT Online Program at UPenn, which is a Masters in Computer Science meant for students with non-Computer Science backgrounds.
How can you benefit from this course?
I think there are 2 main benefits for taking this course:
- Whether you are interested in computer science or not, the problem-solving methods you learn about in this course are essential since it can be applied to any aspect in work and life, so in terms of practicality and relevancy this is way up there! In fact, I used these approaches to solve a take-home assignment for an interview (one of those questions where there isn’t a right answer, but rather it assesses how you think and reason through a problem) and I think the hiring manager was impressed because I eventually got the job! (more on that later)
- It is a great “litmus test” to see if you would be interested in pursuing more technical studies and get into computer science. In fact, it may inspire you to enroll in a degree program like me!
What are next steps after completion?
The last module of this course concludes with several basic Python exercises, so I highly recommend continuing your study of Python via online courses on Udemy, Coursera, or Udacity or interactive e-learning sites like freeCodeCamp or Codecademy. I am by no means an expert yet, but I find the language human-friendly and great for beginners like me to dip their toes in the water with programming.
Course Details:
Course link: Coursera
Curriculum Outline: Topics by Week
More on Computational Thinking, specifically
Link to Viewpoint here
Favorite parts of the curriculum:
- Flexibility to do the program on your time – for me personally, I wanted to complete this course before I apply for UPenn’s MCIT Online program as a way to test myself and get a feel for the class format overall.
- Approachable instructors and fun case studies that provided real-life context to the problems
- Peer-graded assignments made finishing this course on time much easier. Also the TAs were super helpful and responsive whenever I came across issues with the programming assignments. Plenty of activity in the course discussion forums as well so good student community overall.
Next Steps
For me, this course really opened my eyes to how fun Python can be. To date, I’ve mostly been self-taught in the basics of HTML, CSS, and Javascript from learning on-the-job but I’ll be looking forward to reading and studying “Problem Solving with Algorithms and Data Structures using Python (2nd Edition)” by Bradley N Miller and David Ranum as well to continue my studies in Python (this book was a wonderfully strange and random Christmas present I got last year!)
In short, as a result of taking this course I have been:
- inspired to take problem solving approaches further
- motivated to continue practicing the logical and systematic breakdown of problems into solutions
- looking forward to preparing for next course of study in computer science
Exciting times ahead.