We may earn an affiliate commission when you visit our partners.
Course image
Chris Quintana

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it."

Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

Read more

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it."

Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

The course includes an introduction to computational thinking and a broad definition of each concept, a series of real-world cases that illustrate how computational thinking can be used to solve complex problems, and a student project that asks you to apply what they are learning about Computational Thinking in a real-world situation. This project will be completed in stages (and milestones) and will also include a final disaster response plan you'll share with other learners like you.

This course is designed for anyone who is just beginning programming, is thinking about programming or simply wants to understand a new way of thinking about problems critically. No prior programming is needed. The examples in this course may feel particularly relevant to a High School audience and were designed to be understandable by anyone.

You will learn:

-To define Computational Thinking components including abstraction, problem identification, decomposition, pattern recognition, algorithms, and evaluating solutions

-To recognize Computational Thinking concepts in practice through a series of real-world case examples

-To develop solutions through the application of Computational Thinking concepts to real world problems

Enroll now

What's inside

Syllabus

Foundations of Computational Thinking
Case Study: Airport Surveillance and Image Analysis
Case Study: Epidemiology
Read more
Case Study: Human Trafficking
Final Project

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Geared toward learners just starting out with programming or who want to improve their problem-solving skills
Introduces the fundamentals of Computational Thinking, including abstraction, problem identification, decomposition, pattern recognition, algorithms, and evaluating solutions
Emphasizes the practical use of Computational Thinking through real-world case examples
Culminates in a student project that requires learners to apply Computational Thinking concepts to a real-world problem
Uses examples that may resonate particularly with a high school audience
Does not require prior programming experience

Save this course

Save Problem Solving Using Computational Thinking to your list so you can find it easily later:
Save

Reviews summary

Engaging computational problem-solving techniques

Learners say computational thinking skills are applicable in both professional and personal settings and can develop critical thinking. The ability to decompose a large problem into sub-problems and to identify solutions through algorithms is largely positive. Assignments such as quizzes, peer-reviewed graphical organizers, and a final project are given high marks for their practical nature. Instructors are praised for their engaging and clear delivery of concepts except in a few instances where instructors' speech quality was criticized. The use of real-world examples and case studies to demonstrate computational problem-solving in action is highly regarded.
The course is well-organized and presented in an accessible manner.
"This course is very dummy-proof."
"It makes you realize what a priority is and how to prioritize the information"
Most instructors are described as engaging and clear in their delivery of instruction.
"The instructors are top-notch and the learning is just amazing.highly recommended!"
"Very good course to learn the basics of how problems are solved through the use of computational logic."
The course is praised for using real-world examples and case studies.
"case studies helped by giving perspective on how Computational Thinking is used to solve complex problems."
"The real world implications are astounding and you will enjoy knowing the skills you learn here will help you provide valuable solutions to complex problems."
The course utilizes peer review in some of its assignments.
"helped by giving perspective on how Computational Thinking is used to solve complex problems."
"peer-reviewed graphical organizers help me understand how there can be a different outlook to same problem"
Courses emphasize the importance of identifying algorithms to solve problems.
"I learned about all aspect of computational thinking. To who want to begin your road to Computer Science, this course is my recommend"
"This course helped me understand how to approach a problem and it has even helped write better code, to plan, structure and modularise it well."
"It helped me understand what algorithms are, how to create them and how to translate real-life problems into variables wich a computer can work with."
Learners develop a computational thinking framework for approaching complex problems.
"It allows us to take a complex problem, understand what the problem is and develop possible solutions."
"This course gave me a clear idea on how to think and solve different problems before programming them."
"After the course, my thinking process is different, I will decompose a large problem into sub-problems and then figure out the most effective solution or outcome."
Some learners report sporadic difficulty with the course material.
"I think I learn a tool that needs to be further developed."
"Some aspects to this course were confusing"
A few instructors are criticized for being uninspiring and monotonous.
"The lessons were somewhat tedious mainly because the teachers' tone of voice is monotonous and the visual support is not significant."
"I have a very difficult time looking past the typos in the slides. They are very distracting to me."

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 Problem Solving Using Computational Thinking with these activities:
Revisit Past Course Materials on Fundamentals of Programming
Refreshing prior knowledge in this area supports computational thinking. Review basic programming concepts and syntax.
Browse courses on Programming Fundamentals
Show steps
  • Go through old notes, assignments, and quizzes.
  • Re-solve practice problems.
Review Basic Math and Logic Concepts
Strengthening these foundational skills enhances computational thinking. Review basic math operations and logical reasoning concepts to ensure a solid base.
Browse courses on Logic
Show steps
  • Take an online refresher course or use textbooks.
  • Solve practice problems and puzzles.
Practice Solving Algorithm Problems
Practice is crucial for computational thinking. Focus on applying the concepts from the course to solve different algorithm problems.
Show steps
  • Select a platform or resource for practice problems.
  • Start solving problems of varying difficulty.
  • Debug your solutions and learn from your mistakes.
  • Seek help from online forums or mentors if needed.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Participate in Collaborative Problem-Solving Sessions
Working with peers deepens understanding. Join a study group or schedule regular sessions to discuss course concepts and work on problems together.
Show steps
  • Find a group of classmates with complementary skills.
  • Establish regular meeting times and ground rules.
  • Take turns presenting problems and facilitating discussions.
Explore Case Studies on Computational Thinking Applications
Seeing real-world examples of computational thinking can solidify understanding. Explore case studies that showcase its practical applications.
Show steps
  • Identify a case study relevant to your interests.
  • Analyze the problem and the computational thinking concepts employed.
  • Discuss your findings with classmates or instructors.
Develop a Computational Thinking Project Plan
Applying computational thinking to a project enhances mastery. Plan a project that demonstrates your understanding of the concepts.
Show steps
  • Identify a problem or challenge to address.
  • Define the scope and objectives of your project.
  • Break down the project into smaller, manageable tasks.
  • Estimate the time and resources needed.
  • Present your project plan to your instructor or peers for feedback.
Create a Diagram or Infographic on a Course Concept
Visualizing concepts enhances understanding. Create a diagram or infographic that explains a specific computational thinking concept.
Show steps
  • Choose a concept and research it thoroughly.
  • Design a clear and visually appealing representation.
  • Share your diagram or infographic with others for feedback.

Career center

Learners who complete Problem Solving Using Computational Thinking will develop knowledge and skills that may be useful to these careers:
Computer Scientist
Computer Scientists research and develop new computing technologies. This course will help you develop the foundational knowledge and skills necessary to succeed in this role. You will learn about the history of computing, the different areas of computer science, and how to conduct research in this field.
Computer Programmer
Computer Programmers write and maintain computer programs. This course will help you develop the skills necessary to design, implement, and debug computer programs. You will also learn about the different types of programming languages and how to use them to create efficient and reliable software.
Software Engineer
Software Engineers design, develop, and maintain software systems. This course will help you develop the problem-solving and analytical skills necessary to succeed in this role. You will also learn about the different stages of the software development lifecycle and how to use programming languages to create efficient and reliable software.
Data Scientist
Data Scientists use data to solve problems and make predictions. This course will help you develop the skills necessary to collect, clean, and analyze data. You will also learn how to use machine learning and statistical techniques to build models that can predict future events.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. This course will help you develop the skills necessary to identify and mitigate security risks. You will also learn about the different types of security threats and how to implement security measures to protect against them.
Chief Information Officer
Chief Information Officers are responsible for the overall management of an organization's information technology resources. This course will help you develop the skills necessary to lead an IT organization effectively. You will also learn about the different aspects of CIO leadership, such as strategic planning, budgeting, and risk management.
Data Analyst
Data Analysts collect, clean, and interpret data to help businesses make informed decisions. This course will help you develop the computational thinking skills necessary to identify patterns and trends in data, which is essential for success in this role. You will also learn how to use statistical software to analyze data and present your findings in a clear and concise manner.
Web Developer
Web Developers design, develop, and maintain websites. This course will help you develop the skills necessary to create websites that are both visually appealing and functional. You will also learn about the different web development technologies and how to use them to create dynamic and interactive websites.
Network Administrator
Network Administrators manage and maintain computer networks. This course will help you develop the skills necessary to design, implement, and manage computer networks. You will also learn about the different types of network technologies and how to use them to create reliable and secure networks.
Systems Analyst
Systems Analysts design, develop, and implement computer systems. This course will help you develop the skills necessary to analyze business needs and design systems that meet those needs. You will also learn about the different types of systems analysis techniques and how to use them to develop effective systems.
Information Technology Manager
Information Technology Managers plan, organize, and direct the activities of an organization's information technology department. This course will help you develop the skills necessary to manage an IT department effectively. You will also learn about the different aspects of IT management, such as budgeting, staffing, and project management.
Business Analyst
Business Analysts help businesses improve their processes and operations. This course will help you develop the skills necessary to identify and solve business problems. You will also learn how to use data analysis and modeling techniques to make recommendations for improvement.
Database Administrator
Database Administrators manage and maintain databases. This course will help you develop the skills necessary to design, implement, and manage databases. You will also learn about the different types of databases and how to use them to store and retrieve data efficiently.
Project Manager
Project Managers plan, organize, and execute projects. This course will help you develop the skills necessary to manage projects effectively. You will also learn how to use project management tools and techniques to ensure that projects are completed on time, within budget, and to specification.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users. This course will help you develop the skills necessary to troubleshoot and resolve computer problems. You will also learn about the different types of computer support and how to provide effective support to users.

Reading list

We've selected 13 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 Problem Solving Using Computational Thinking.
Provides a more in-depth look at computational thinking and its components. It good resource for anyone who wants to learn more about the theory behind computational thinking.
Explores how algorithms can be used to make better decisions. It good resource for anyone who wants to learn more about the role of algorithms in our lives.
Provides an overview of computational thinking and design thinking, and how they can be used together to solve complex problems. It good starting point for anyone who wants to learn more about computational thinking.
Explores the impact of artificial intelligence and other digital technologies on the economy and society. It good resource for anyone who wants to learn more about the future of technology and its implications for us.
Explores the ethical implications of algorithms and how they are used to make decisions about our lives. It good resource for anyone who wants to learn more about the impact of algorithms on society.
Provides advice on how to acquire customers for a startup company. It good resource for anyone who wants to learn more about marketing and sales.
Provides advice on how to market and sell technology products to mainstream customers. It good resource for anyone who wants to learn more about marketing and sales.
Provides advice on how to develop a good strategy for a business. It good resource for anyone who wants to learn more about strategy.
Provides a history of information and its impact on society. It good resource for anyone who wants to learn more about the role of information in our lives.
Explores the reasons why large companies often fail to innovate. It good resource for anyone who wants to learn more about the challenges of innovation.
Provides advice on how to build a successful startup company using the lean startup methodology. It good resource for anyone who wants to learn more about entrepreneurship.

Share

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

Similar courses

Here are nine courses similar to Problem Solving Using Computational Thinking.
Algorithmic Thinking (Part 2)
Most relevant
Computational Thinking for Problem Solving
Most relevant
Principles of Computing (Part 2)
Most relevant
Algorithms, Data Collection, and Starting to Code
Most relevant
Algorithmic Thinking (Part 1)
Most relevant
Programming for Data Science
Most relevant
Algorithmic Design and Techniques
Most relevant
Abstraction, Problem Decomposition, and Functions
Most relevant
Introduction to Java Programming: Starting to code in Java
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 - 2024 OpenCourser