We may earn an affiliate commission when you visit our partners.
Take this course
David Quigley

In this course, we will explore different types of problems, the boundaries of what makes a problem solvable, and the different algorithms, rules, and heuristics we can implement to solve these problems.

Enroll now

What's inside

Syllabus

Problems for Minds and Machines
This week we will begin our discussions by defining the boundaries and limitations of problems and their solutions.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Offers a clear analysis of various problem characteristics and problem-solving methodologies
Taught by David Quigley, an accomplished instructor in problem-solving
Explores different types of problems, from computational to human-centric
Involves multiple modules, including discussion forums and a final assessment

Save this course

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

Reviews summary

Exploring diverse problem-solving approaches

According to learners, this course offers a solid introduction to various methods for tackling problems, blending theoretical concepts with practical heuristics. Students particularly appreciate the way it covers both computational logic and human decision-making. While many found the content well-structured and the lectures engaging, a few noted that some topics could benefit from more depth or practical examples. The course is often seen as providing a strong foundation, suitable for those new to formal problem-solving techniques across different domains.
Course structure is logical and clear.
"The modules were well-organized and flowed logically from one topic to the next."
"Appreciated the way the syllabus progressed from definitions to computational and human methods."
"The course structure made it easy to follow the different approaches to problem-solving."
"Found the weekly breakdown of topics very helpful for managing my learning."
Instructors explain complex ideas clearly.
"Lectures were clear and engaging, making complex topics easy to grasp."
"The instructor did a great job explaining difficult concepts in an accessible way."
"I really enjoyed the way the material was presented in the video lectures."
"Found the explanations in the videos very helpful for understanding the key points."
Provides robust theoretical concepts.
"The course provides a very strong foundation on the theoretical aspects of problem solving."
"It laid a solid theoretical groundwork for understanding problem boundaries and solvability."
"I gained a much deeper understanding of the underlying principles of problem-solving after this course."
"Focused heavily on the foundational theories, which was great for understanding the 'why'."
Covers a wide range of problem types.
"It gives a very broad overview of problem solving methods, not only limited to computational aspects but also human decision making."
"A fantastic course on problem solving in its many forms, from computational to human heuristic approaches."
"This course explores different types of problems, from logical/computational to human judgement and heuristics."
"I found the exploration of human problem solving vs. computational methods very insightful."
Some topics lack depth or practical focus.
"I wish there were more practical examples or hands-on exercises to supplement the theory."
"Could use more in-depth coverage on certain algorithms or heuristic applications."
"Felt a bit too theoretical at times; more real-world case studies would improve it."
"Some parts felt introductory and could benefit from a more advanced look."

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 Methods for Solving Problems with these activities:
Read 'Think Like a Programmer' by V. Anton Spraul
This book provides a foundation in computational thinking, which is essential for problem-solving in computer science.
Show steps
  • Obtain a copy of the book.
  • Read the book thoroughly.
  • Take notes and highlight key concepts.
  • Complete the exercises and challenges in the book.
  • Discuss the book's content with classmates or a study group.
Follow tutorials on problem-solving techniques
Following tutorials provides guided instruction on various problem-solving techniques, enhancing students' understanding and extending their toolset.
Browse courses on Problem Solving
Show steps
  • Search for tutorials on problem-solving techniques.
  • Choose a tutorial that aligns with your learning goals.
  • Follow the tutorial step-by-step.
  • Practice the techniques in the tutorial.
  • Explore additional tutorials to broaden your knowledge.
Solve logic puzzles
Solving logic puzzles strengthens problem-solving abilities and improves reasoning skills, which are essential for understanding algorithms and solving computational problems.
Browse courses on Logic
Show steps
  • Find a logic puzzle online or in a puzzle book.
  • Read the puzzle carefully and identify the given information.
  • Apply logical reasoning and deduction to eliminate possibilities.
  • Check your solution and make adjustments as needed.
  • Repeat with different puzzles to improve your skills.
Three other activities
Expand to see all activities and additional details
Show all six activities
Participate in study groups or peer discussions
Engaging in study groups or peer discussions allows students to exchange ideas, clarify concepts, and learn from each other, boosting their problem-solving abilities.
Browse courses on Problem Solving
Show steps
  • Find a study group or peer discussion group.
  • Attend regular meetings.
  • Actively participate in discussions.
  • Ask questions and share insights.
  • Work together on problem-solving exercises.
Build a simple computer program
Building a simple computer program allows students to apply problem-solving techniques and algorithms in a practical setting, reinforcing their understanding.
Browse courses on Programming
Show steps
  • Choose a simple problem to solve with a program.
  • Design the algorithm and data structures for the program.
  • Implement the program in a programming language.
  • Test and debug the program.
  • Refine the program for efficiency and clarity.
Participate in coding challenges or hackathons
Coding challenges and hackathons provide an immersive environment for students to apply problem-solving techniques, fostering creativity, collaboration, and resilience.
Browse courses on Problem Solving
Show steps
  • Find a coding challenge or hackathon that aligns with your interests.
  • Prepare for the event by practicing problem-solving and algorithm design.
  • Participate in the event and work on solving problems.
  • Collaborate with others and exchange ideas.
  • Reflect on your experience and identify areas for improvement.

Career center

Learners who complete Methods for Solving Problems will develop knowledge and skills that may be useful to these careers:
Software Engineer
As a Software Engineer, you will use your problem-solving abilities to design and develop software applications. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Software Engineer.
Data Scientist
Data Scientists use their problem-solving abilities to analyze data and identify patterns. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Data Scientist.
Operations Research Analyst
Operations Research Analysts use their problem-solving abilities to improve the efficiency of organizations. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for an Operations Research Analyst.
Management Consultant
Management Consultants use their problem-solving abilities to help organizations improve their performance. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Management Consultant.
Financial Analyst
Financial Analysts use their problem-solving abilities to analyze financial data and make investment recommendations. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Financial Analyst.
Market Research Analyst
Market Research Analysts use their problem-solving abilities to conduct research and analyze market data. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Market Research Analyst.
Business Analyst
Business Analysts use their problem-solving abilities to analyze business processes and identify areas for improvement. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Business Analyst.
Systems Analyst
Systems Analysts use their problem-solving abilities to design and implement computer systems. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Systems Analyst.
Computer Programmer
Computer Programmers use their problem-solving abilities to write and test computer code. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Computer Programmer.
Web Developer
Web Developers use their problem-solving abilities to design and develop websites. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Web Developer.
Database Administrator
Database Administrators use their problem-solving abilities to design and manage databases. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Database Administrator.
Network Administrator
Network Administrators use their problem-solving abilities to design and manage computer networks. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Network Administrator.
Information Security Analyst
Information Security Analysts use their problem-solving abilities to protect computer systems from security breaches. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for an Information Security Analyst.
Computer Systems Analyst
Computer Systems Analysts use their problem-solving abilities to analyze and design computer systems. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Computer Systems Analyst.
Software Quality Assurance Analyst
Software Quality Assurance Analysts use their problem-solving abilities to test and ensure the quality of software applications. This Methods for Solving Problems course may help you build a foundation in problem-solving techniques that can be applied to your work. The course covers topics such as algorithms, heuristics, and logic, which are all essential skills for a Software Quality Assurance Analyst.

Reading list

We've selected ten 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 Methods for Solving Problems.
Comprehensive textbook on computer vision. It valuable resource for anyone who wants to learn more about computer vision, and it is also relevant to the study of problem solving.
Comprehensive textbook on machine learning. It valuable resource for anyone who wants to learn more about machine learning, and it is also relevant to the study of problem solving.
Comprehensive textbook on deep learning. It valuable resource for anyone who wants to learn more about deep learning, and it is also relevant to the study of problem solving.
Comprehensive textbook on reinforcement learning. It valuable resource for anyone who wants to learn more about reinforcement learning, and it is also relevant to the study of problem solving.
Comprehensive textbook on probabilistic robotics. It valuable resource for anyone who wants to learn more about probabilistic robotics, and it is also relevant to the study of problem solving.
Fascinating look at how algorithms are used in everyday life, and how they can help us make better decisions. It great supplement to this course, as it provides real-world examples of how problem-solving techniques and algorithms can be applied in a variety of settings.
This Pulitzer Prize-winning book mind-bending exploration of the relationship between logic, mathematics, music, and art. It challenging but rewarding read, and it is sure to expand your understanding of the nature of problem solving.
Comprehensive introduction to the philosophy of artificial intelligence. It valuable resource for anyone who wants to learn more about the philosophical implications of AI, and it is also relevant to the study of problem solving.
Classic work on the philosophy of science. It valuable resource for anyone who wants to learn more about the nature of scientific inquiry, and it is also relevant to the study of problem solving.
Broad introduction to problem solving, covering the entire problem-solving process, from problem identification through obtaining a solution. While not as in-depth as other books, it useful reference for the breadth of problem-solving and decision making techniques that are available.

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