VOOZH about

URL: https://www.coursera.org/learn/computational-thinking-problem-solving

⇱ Computational Thinking for Problem Solving | Coursera


Computational Thinking for Problem Solving

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Computational Thinking for Problem Solving

133,273 already enrolled

Included with

Gain insight into a topic and learn the fundamentals.
4.7

1,432 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
4.7

1,432 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace

There are 4 modules in this course

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.

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.

What's included

6 videos1 reading5 assignments2 peer reviews4 discussion prompts

6 videosTotal 44 minutes
  • 1.1 Introduction5 minutes
  • 1.2 Decomposition6 minutes
  • 1.3 Pattern Recognition6 minutes
  • 1.4 Data Representation and Abstraction8 minutes
  • 1.5 Algorithms9 minutes
  • 1.6 Case Studies11 minutes
1 readingTotal 1 minute
  • Opt-in to Penn Engineering Online Communications1 minute
5 assignmentsTotal 80 minutes
  • 1.2 Decomposition10 minutes
  • 1.3 Pattern Recognition10 minutes
  • 1.4 Data Representation and Abstraction15 minutes
  • 1.5 Algorithms15 minutes
  • Learning Style Preference Survey30 minutes
2 peer reviewsTotal 60 minutes
  • Applying Computational Thinking in Your Life30 minutes
  • Project Part 1: Applying the Pillars of Computational Thinking30 minutes
4 discussion promptsTotal 40 minutes
  • Applying Decomposition in Your Life10 minutes
  • Applying Pattern Recognition in Your Life10 minutes
  • Applying Data Representation and Abstraction in Your Life10 minutes
  • Applying Algorithms in Your Life10 minutes

When we use computational thinking to solve a problem, what we’re really doing is developing an algorithm: a step-by-step series of instructions. Whether it’s a small task like scheduling meetings, or a large task like mapping the planet, the ability to develop and describe algorithms is crucial to the problem-solving process based on computational thinking. This module will introduce you to some common algorithms, as well as some general approaches to developing algorithms yourself. These approaches will be useful when you're looking not just for any answer to a problem, but the best answer. After completing this module, you will be able to evaluate an algorithm and analyze how its performance is affected by the size of the input so that you can choose the best algorithm for the problem you’re trying to solve.

What's included

7 videos6 assignments4 peer reviews

7 videosTotal 69 minutes
  • 2.1 Finding the Largest Value9 minutes
  • 2.2 Linear Search5 minutes
  • 2.3 Algorithmic Complexity8 minutes
  • 2.4 Binary Search12 minutes
  • 2.5 Brute Force Algorithms13 minutes
  • 2.6 Greedy Algorithms9 minutes
  • 2.7 Case Studies12 minutes
6 assignmentsTotal 65 minutes
  • 2.1 Finding the Largest Value10 minutes
  • 2.2 Linear Search 10 minutes
  • 2.3 Algorithmic Complexity10 minutes
  • 2.4 Binary Search10 minutes
  • 2.5 Brute Force Algorithms15 minutes
  • 2.6 Greedy Algorithms10 minutes
4 peer reviewsTotal 115 minutes
  • Finding Minimum Values30 minutes
  • Binary Search30 minutes
  • Greedy vs. Brute Force Algorithms30 minutes
  • Project Part 2: Describing Algorithms Using a Flowchart25 minutes

Computational thinking is a problem-solving process in which the last step is expressing the solution so that it can be executed on a computer. However, before we are able to write a program to implement an algorithm, we must understand what the computer is capable of doing -- in particular, how it executes instructions and how it uses data. This module describes the inner workings of a modern computer and its fundamental operations. Then it introduces you to a way of expressing algorithms known as pseudocode, which will help you implement your solution using a programming language.

What's included

6 videos5 assignments5 peer reviews

6 videosTotal 46 minutes
  • 3.1 A History of the Computer8 minutes
  • 3.2 Intro to the von Neumann Architecture8 minutes
  • 3.3 von Neumann Architecture Data6 minutes
  • 3.4 von Neumann Architecture Control Flow6 minutes
  • 3.5 Expressing Algorithms in Pseudocode8 minutes
  • 3.6 Case Studies10 minutes
5 assignmentsTotal 50 minutes
  • 3.1 A History of the Computer10 minutes
  • 3.2 Intro to the von Neumann Architecture10 minutes
  • 3.3 von Neumann Architecture Data10 minutes
  • 3.4 von Neumann Architecture Control Flow10 minutes
  • 3.5 Expressing Algorithms in Pseudocode10 minutes
5 peer reviewsTotal 120 minutes
  • von Neumann Architecture Data & Instructions30 minutes
  • Reading & Writing Pseudocode25 minutes
  • Project Part 3: Writing Pseudocode25 minutes
  • (Optional) von Neumann Architecture Control Instructions20 minutes
  • (Optional) Understanding Pseudocode20 minutes

Writing a program is the last step of the computational thinking process. It’s the act of expressing an algorithm using a syntax that the computer can understand. This module introduces you to the Python programming language and its core features. Even if you have never written a program before -- or never even considered it -- after completing this module, you will be able to write simple Python programs that allow you to express your algorithms to a computer as part of a problem-solving process based on computational thinking.

What's included

9 videos13 readings12 assignments

9 videosTotal 91 minutes
  • 4.1 Introduction to Python6 minutes
  • 4.2 Variables14 minutes
  • 4.3 Conditional Statements9 minutes
  • 4.4 Lists7 minutes
  • 4.5 Iteration14 minutes
  • 4.6 Functions11 minutes
  • 4.7 Classes and Objects9 minutes
  • 4.8 Case Studies12 minutes
  • 4.9 Course Conclusion8 minutes
13 readingsTotal 126 minutes
  • Programming on the Coursera Platform10 minutes
  • Python Playground0 minutes
  • Opt-in to Penn Engineering Online Communications1 minute
  • Variables Programming Activity20 minutes
  • Solution to Variables Programming Activity10 minutes
  • Conditionals Programming Activity20 minutes
  • Solution to Conditionals Programming Activity10 minutes
  • Solution to Lists Programming Assignment5 minutes
  • Solution to Loops Programming Assignment10 minutes
  • Solution to Functions Programming Assignment10 minutes
  • Solution to Challenge Programming Assignment10 minutes
  • Solution to Classes and Objects Programming Assignment10 minutes
  • Solution to Project Part 410 minutes
12 assignmentsTotal 185 minutes
  • (Optional) Challenge Programming Assignment20 minutes
  • 4.2 Variables10 minutes
  • 4.3 Conditional Statements5 minutes
  • 4.4 Lists10 minutes
  • Lists Programming Assignment15 minutes
  • 4.5 Iteration10 minutes
  • Loops Programming Assignment30 minutes
  • 4.6 Functions10 minutes
  • Functions Programming Assignment20 minutes
  • 4.7 Classes and Objects10 minutes
  • Classes and Objects Programming Assignment20 minutes
  • Project Part 4: Implementing the Solution in Python25 minutes

Instructor

Instructor ratings
4.8 (446 ratings)
University of Pennsylvania
4 Courses133,565 learners

Explore more from Algorithms

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    80.37%

  • 4 stars

    13.19%

  • 3 stars

    3.42%

  • 2 stars

    1.25%

  • 1 star

    1.74%

Showing 3 of 1432

GT
·

Reviewed on Oct 1, 2019

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
·

Reviewed on Nov 21, 2021

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!

FK
·

Reviewed on Dec 23, 2019

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.

Frequently asked questions

No, definitely not! This course is intended for anyone who has an interest in approaching problems more systematically, developing more efficient solutions, and understanding how computers can be used in the problem solving process. No prior computer science or programming experience is required.

Some parts of the course assume familiarity with basic algebra, trigonometry, mathematical functions, exponents, and logarithms. If you don’t remember those concepts or never learned them, don’t worry! As long as you’re comfortable with multiplication, you should still be able to follow along. For everything else, we’ll provide links to references that you can use as a refresher or as supplemental material.

This course will help you discover whether you have an aptitude for computational thinking and give you some beginner-level experience with online learning. In this course you will learn several introductory concepts from MCIT instructors produced by the same team that brought the MCIT degree online.

If you have a bachelor's degree and are interested in learning more about computational thinking, we encourage you to apply to MCIT On-campus (http://www.cis.upenn.edu/prospective-students/graduate/mcit.php) or MCIT Online (https://www.coursera.org/degrees/mcit-penn). Please mention that you have completed this course in the application.

Use these links to learn more about MCIT:

MCIT On-campus: http://www.cis.upenn.edu/prospective-students/graduate/mcit.php

MCIT Online: https://www.coursera.org/degrees/mcit-penn

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,

¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.