We may earn an affiliate commission when you visit our partners.
Course image
Susan Davidson

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.

Read more

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.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Pillars of Computational Thinking
Computational thinking is an approach to solving problems using concepts and ideas from computer science, and expressing solutions to those problems so that they can be run on a computer. As computing becomes more and more prevalent in all aspects of modern society -- not just in software development and engineering, but in business, the humanities, and even everyday life -- understanding how to use computational thinking to solve real-world problems is a key skill in the 21st century. Computational thinking is built on four pillars: decomposition, pattern recognition, data representation and abstraction, and algorithms. This module introduces you to the four pillars of computational thinking and shows how they can be applied as part of the problem solving process.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores computational thinking as foundational knowledge for real-world problem-solving
Emphasizes how computational thinking can positively affect society if applied
Provides learners who are unfamiliar with coding the opportunity to develop foundational knowledge
Covers the fundamental operations of modern computers, which is useful knowledge for learners of all levels
Taught by Susan Davidson, who has extensive experience in computational thinking

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Intro to computational thinking and python

According to learners, this course offers a strong foundation in computational thinking, breaking down complex concepts into manageable parts. Students appreciate the clear explanations of core principles like decomposition, pattern recognition, and algorithms. The introduction to Python programming is frequently mentioned as a valuable practical component, allowing students to apply theoretical knowledge. While some find the pace suitable for beginners, others with prior experience might find the initial Python modules too basic. Overall, it's seen as a highly engaging and practical course for developing problem-solving skills using a computational approach.
Pace suitable for beginners, potentially slow for others.
"As someone new to this field, I found the pace manageable and not overwhelming."
"The course moves at a good speed for true beginners in both CT and programming."
"I have some programming background, and the initial Python parts felt a bit slow."
"Might be too basic if you already have a solid grasp of programming fundamentals."
Engaging instructors and clear delivery.
"The instructors were excellent and explained things very clearly."
"Lectures were well-structured and kept me engaged throughout the modules."
"I appreciated the instructor's ability to simplify complex ideas."
"The video quality and presentation style were professional and easy to follow."
Helpful assignments reinforce learning.
"The assignments were well-designed and really made me think about applying the concepts."
"I found the exercises challenging but rewarding, helping solidify my understanding."
"The problem sets provided excellent practice in breaking down problems."
"Working through the coding problems was the most valuable part for me."
Practical application of CT using Python.
"The Python module was a great way to see how the theoretical concepts translate into code."
"Learning basic Python alongside CT was incredibly useful and well integrated."
"The programming exercises reinforced the computational thinking process effectively."
"I had no prior Python experience, and this course gave me a solid starting point for using it."
Excellent explanation of computational thinking basics.
"This course provides a very clear and easy-to-understand introduction to computational thinking."
"The way the pillars of CT were explained was insightful and practical for problem-solving."
"I feel like I finally grasp the core concepts of decomposition, pattern recognition, and abstraction."
"It really helped me understand how to approach problems from a computational perspective."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Computational Thinking for Problem Solving with these activities:
Read 'A Mind for Numbers' by Barbara Oakley
Understand how your brain learns and how to use this knowledge to become a more effective learner of computational thinking.
Show steps
  • Obtain and read the book paying particular attention to the sections corresponding to the course
Review Python syntax and semantics
Review the basics of Python syntax and semantics to refresh your memory and strengthen your foundation for the course.
Browse courses on Python
Show steps
  • Read through Python tutorial or documentation
  • Complete online Python exercises or coding challenges
  • Work through simple Python projects
Read 'Algorithms to Live By' by Thomas Cormen
Discover how to approach problems with computational thinking and use algorithms to solve them.
Show steps
  • Obtain and read the book paying particular attention to the sections corresponding to the course
Five other activities
Expand to see all activities and additional details
Show all eight activities
Join a study group with other students in the course
Collaborate with peers to discuss course concepts, solve problems, and support each other's learning.
Browse courses on Computational Thinking
Show steps
  • Find other students in the course who are interested in forming a study group
  • Meet regularly to discuss the course material, work on assignments, and provide support
Solve practice problems on LeetCode or HackerRank
Reinforce your understanding of algorithms and practice writing Python code to solve computational problems.
Browse courses on Algorithms
Show steps
  • Register for a LeetCode or HackerRank account
  • Select problems tagged with topics covered in the course
  • Solve problems and review solutions
Follow tutorials on Coursera or edX
Supplement the course materials with additional tutorials to deepen your understanding of Python and computational thinking concepts.
Browse courses on Python
Show steps
  • Identify tutorials on Coursera or edX related to the topics covered in the course
  • Follow along with the tutorials, completing all exercises and assignments
Create a blog post or video explaining a computational thinking concept
Solidify your understanding of computational thinking by explaining a concept to others.
Browse courses on Computational Thinking
Show steps
  • Choose a computational thinking concept to explain
  • Create a blog post, video, or other content explaining the concept
  • Share your content with others and get their feedback
Develop a Python program to solve a real-world problem
Apply your computational thinking skills to a real-world problem and build a Python program to solve it.
Browse courses on Python
Show steps
  • Identify a real-world problem that can be solved using computational thinking
  • Design and implement a Python program to solve the problem
  • Test and iterate on your program to improve its efficiency and accuracy

Career center

Learners who complete Computational Thinking for Problem Solving will develop knowledge and skills that may be useful to these careers:
Data Analyst
Data Analysts use computational thinking to solve problems related to data. They analyze data to identify patterns and trends, and develop algorithms to solve problems related to data. This course can help you build a foundation in computational thinking and data analysis, which are essential skills for Data Analysts.
Software Engineer
Software Engineers use computational thinking to design, develop, and maintain software applications. They use algorithms to solve problems and develop efficient software solutions. This course can help you build a foundation in computational thinking and software development, which are essential skills for Software Engineers.
Quantitative Analyst
Quantitative Analysts use computational thinking to solve problems related to finance and economics. They use algorithms to develop models for financial analysis and risk management. This course can help you build a foundation in computational thinking and quantitative analysis, which are essential skills for Quantitative Analysts.
Data Scientist
Data Scientists use computational thinking to solve problems related to data. They use algorithms to analyze data and develop models for prediction and decision-making. This course can help you build a foundation in computational thinking and data science, which are essential skills for Data Scientists.
Machine Learning Engineer
Machine Learning Engineers use computational thinking to develop and deploy machine learning models. They use algorithms to train models and optimize their performance. This course can help you build a foundation in computational thinking and machine learning, which are essential skills for Machine Learning Engineers.
Computer Scientist
Computer Scientists use computational thinking to solve problems related to computer science. They use algorithms to design and develop computer systems and software. This course can help you build a foundation in computational thinking and computer science, which are essential skills for Computer Scientists.
Systems Analyst
Systems Analysts use computational thinking to design and implement computer systems. They use algorithms to develop solutions for business problems. This course can help you build a foundation in computational thinking and systems analysis, which are essential skills for Systems Analysts.
Business Analyst
Business Analysts use computational thinking to solve problems related to business. They use algorithms to develop models for business analysis and decision-making. This course can help you build a foundation in computational thinking and business analysis, which are essential skills for Business Analysts.
Project Manager
Project Managers use computational thinking to manage projects. They use algorithms to develop project plans and schedules. This course can help you build a foundation in computational thinking and project management, which are essential skills for Project Managers.
Operations Research Analyst
Operations Research Analysts use computational thinking to solve problems related to operations research. They use algorithms to develop models for optimizing operations. This course can help you build a foundation in computational thinking and operations research, which are essential skills for Operations Research Analysts.
Financial Analyst
Financial Analysts use computational thinking to solve problems related to finance. They use algorithms to develop models for financial analysis and risk management. This course can help you build a foundation in computational thinking and financial analysis, which are essential skills for Financial Analysts.
Market Researcher
Market Researchers use computational thinking to solve problems related to marketing. They use algorithms to develop models for market analysis and forecasting. This course can help you build a foundation in computational thinking and market research, which are essential skills for Market Researchers.
Actuary
Actuaries use computational thinking to solve problems related to insurance and finance. They use algorithms to develop models for insurance pricing and risk management. This course can help you build a foundation in computational thinking and actuarial science, which are essential skills for Actuaries.
Statistician
Statisticians use computational thinking to solve problems related to statistics. They use algorithms to develop models for statistical analysis and inference. This course can help you build a foundation in computational thinking and statistics, which are essential skills for Statisticians.
Economist
Economists use computational thinking to solve problems related to economics. They use algorithms to develop models for economic analysis and forecasting. This course may help you build a foundation in computational thinking and economics, which are essential skills for Economists.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Computational Thinking for Problem Solving.
Provides a comprehensive introduction to deep learning. It great resource for students who want to learn more about the theory and practice of deep learning.
This classic textbook provides a thorough introduction to algorithms, covering a wide range of topics from basic data structures to advanced graph algorithms. It valuable resource for students who want to learn more about the design and analysis of algorithms.
Provides a comprehensive introduction to reinforcement learning. It great resource for students who want to learn more about the theory and practice of reinforcement learning.
Provides a comprehensive introduction to computer vision. It great resource for students who want to learn more about the theory and practice of computer vision.
Provides a comprehensive introduction to natural language processing. It great resource for students who want to learn more about the theory and practice of natural language processing.
Provides a fun and engaging introduction to computational thinking. It great resource for students who want to learn more about the way computers think.
Provides a comprehensive introduction to the Python programming language. It great resource for students who want to learn more about Python and how to use it to solve problems.
This textbook provides a gentle introduction to computer science using the Python programming language. It great resource for students who are new to programming and want to learn the basics of computer science.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser