CSC122 Week 1: Problem Solving Concepts

EthicalGuqin avatar
EthicalGuqin
·
·
Download

Start Quiz

Study Flashcards

45 Questions

What is a problem in computing terms?

A problem in computing terms can be defined as an unpleasant situation or condition in which a better or perfect state is desired.

What are the two classifications of solutions to problems in computer programming?

Heuristic Solutions

______ solutions are achieved from knowledge, experience, and various trials and errors.

Heuristic

An algorithmic solution to a problem involves an undefined sequence of steps.

False

Match the following solution techniques with their descriptions:

Abstraction = Solving the problem in a model before applying to the real system Trial-and-Error = Testing possible solutions until finding the right one Means-ends analysis = Choosing an action at each step to move closer to the goal Divide and Conquer = Breaking a large problem into smaller solvable problems

Which of the following statements is true about problem solving?

Problem solving involves applying a series of steps to attain a desired goal state.

What is the ultimate goal of a computer programmer when solving a problem?

To find the best solution to the problem.

Which type of solution involves a defined and finite sequence of steps?

Algorithmic solutions.

What is the term for the sequence of steps used to arrive at a goal or desired state?

Algorithm.

What type of solutions are typically achieved using artificial intelligence techniques?

Heuristic solutions

Which of the following solution techniques involves solving a problem in a model of the system before applying it to the real system?

Abstraction

Which of the following is an example of a problem that can have multiple solutions?

All of the above.

What is the primary focus of this course?

Algorithmic solutions to problems

What is the primary difference between algorithmic and heuristic solutions?

Algorithmic solutions involve a defined sequence of steps, while heuristic solutions do not.

Which of the following problems would likely require a series of trial and error before a solution can be reached?

Designing a complex algorithm.

Which of the following solution techniques involves testing possible solutions until the right one is found?

Trial-and-Error

What is the goal of means-ends analysis?

To choose an action at each step to move closer to the goal

What is the main characteristic of a problem that has a straightforward solution?

It has a defined and finite sequence of steps.

What is the primary characteristic of heuristic solutions?

They are reached by a series of steps that emerge from knowledge and experience

Which of the following solution techniques involves suggesting a large number of solutions or ideas and combining and developing them until an optimum is found?

Brainstorming

What is the primary advantage of using analogy in problem-solving?

It uses a solution that has already solved an analogous problem

What is the primary characteristic of a routine problem?

It has a simple and predictable solution.

What determines if the desired goal state will be reached in problem-solving?

The input made to the present state

What is the definition of a problem in computing terms?

An obstacle to overcome with a clear goal state

What is the primary difference between a routine problem and a non-routine problem?

The simplicity or complexity of the solution

What is the goal of problem-solving using computers?

To reach the goal state

What is the characteristic of a problem that defines its input and desired goal state?

Its present state and goal state

What is the primary purpose of the six problem-solving steps?

To solve a problem with an algorithmic solution

What is the primary feature of an unpleasant situation or condition in problem-solving?

It is an obstacle to overcome

Which solution technique involves breaking down a large, complex problem into smaller, solvable problems?

Divide and Conquer (D&C)

What is the primary advantage of computers in problem-solving?

Ability to deal with algorithmic solutions

What is the field of Computer Science that deals with heuristic types of problems?

Artificial Intelligence (AI)

Which solution technique involves identifying the cause of the problem?

Root cause Analysis

What is the primary advantage of human beings in problem-solving?

Ability to arrive at heuristic solutions

Which solution technique involves synthesizing seemingly non-matching characteristics of different objects into something new?

Method of focal objects

What is the purpose of proof in problem-solving?

To try to prove that the problem cannot be solved

What is the primary challenge in programming computers to solve heuristic problems?

Programming the machine to solve the problem

What is the primary purpose of evaluating the pros and cons of each possible solution?

To determine the best solution to select

What is the characteristic of instructions involved in the solution?

They must be in both human and computer-readable forms

What happens if the result of the solution is unsatisfactory or incorrect?

The list of instructions is reviewed or the other 5 steps are repeated

What is considered when understanding the problem?

The knowledge base of the individual and the layout of the campus

What is the purpose of identifying alternative solutions?

To generate a list of possible solutions to the problem

What is the name given to the step-by-step procedures that will be followed to arrive at the desired goal state?

Algorithms

What is the purpose of selecting the best alternative?

To weed out alternatives that are not acceptable

What is the purpose of the 6-step process?

To find a solution to a problem in a systematic way

Study Notes

Overview of Problems and Problem-Solving Concepts

  • A problem exists in every area of our daily lives and is defined as an unpleasant situation or condition that requires a better or perfect state to be desired.
  • Problems are obstacles to overcome, and reaching the goal state is achieved by following a sequence of steps, which can be either simple or complex.

Types of Problems

  • Routine Problems: problems with simple and predictable solutions, such as solving a math problem or spelling a word.
  • Non-routine Problems: problems with subjective, abstract, and complex solutions, which are more difficult to solve.

Problem Solving

  • Problem solving is the application of ideas, skills, or factual information as inputs in a specific sequence of steps to attain the solution to a problem or to reach a desired goal state.
  • The sequence of steps is called the solution to the problem, which takes defined inputs and produces the desired output.

Types of Solution Approaches

  • Algorithmic Solutions: solutions to problems in which the desired state is achieved by a defined and finite sequence of steps, such as making pizza or determining the number of rooms in a building.
  • Heuristic Solutions: solutions to problems in which the goal state is reached by a series of steps that emerge from knowledge and experience or from various trials and error, such as making a speech at an event or playing and winning a soccer game.

Focus of the Course

  • This course is mainly concerned with algorithmic solutions to problems, which can be solved by computers.
  • Heuristics solutions are achieved using artificial intelligence techniques, such as artificial neural networks, fuzzy logic, and constraint optimization.

Some Solution Techniques

  • Abstraction: solving the problem in a model of the system before applying it to the real system.
  • Analogy: using a solution that solved an analogous problem.
  • Brainstorming: suggesting a large number of solutions or ideas and combining and developing them until an optimum is found.
  • Trial-and-Error: testing possible solutions until the right one is found.
  • Hypothesis testing: assuming a possible explanation to the problem and trying to prove (or, in some contexts, disprove) the assumption.
  • Reduction: transforming the problem into another problem for which solutions exist.
  • Lateral thinking: approaching solutions indirectly and creatively.
  • Means-ends analysis: choosing an action at each step to move closer to the goal.
  • Method of focal objects: synthesizing seemingly non-matching characteristics of different objects into something new.
  • Morphological analysis: assessing the output and interactions of an entire system.
  • Research: employing existing ideas or adapting existing solutions to similar problems.
  • Root cause Analysis: identifying the cause of the problem.
  • Proof: trying to prove that the problem cannot be solved.
  • Divide and Conquer (D&C): breaking down a large, complex problem into smaller, solvable problems.

Solving Problems with Computers

  • Computers are built to deal with algorithmic solutions, which are often difficult or very time-consuming for humans.
  • Solving complex mathematical equations or arranging names in alphabetical order is an easy task for computers.

6 Steps of Solving Any Problem

  • Identify the Problem: the first step of solving any problem is to identify the problem.
  • Understand the Problem: understanding the problem entails having a good knowledge base of the problem.
  • Identify Alternative Solutions to Problem: list as many alternate solutions as possible.
  • Select the Best Solution: evaluate the pros and cons of each possible solution and select the best one.
  • List the Instructions Involved in the Solution: provide step-by-step procedures to arrive at the desired goal state.
  • Evaluate the Solution: check the result of the solution to ensure correctness and satisfaction of the need or situation.

Overview of Problems and Problem Solving Concepts

  • Problems exist in every area of daily life and are obstacles to overcome, such as solving a math equation, making a decision, or accomplishing a task.
  • A problem can be defined as an unpleasant situation or condition where a better or perfect state is desired.
  • Reaching the goal state is achieved by following a sequence of steps, which can be either simple or complex.

Types of Problems

  • Routine problems: have simple and predictable solutions, such as solving a math problem or spelling a word.
  • Non-routine problems: have subjective, abstract, and complex solutions, such as arranging 10 popular languages from best to least, and are more difficult to solve.

Problem Solving

  • Problem solving is the application of ideas, skills, or factual information as inputs in a specific sequence of steps to attain a solution to a problem or reach a desired goal state.
  • The sequence of steps is called the solution to the problem, and the solution takes defined inputs and produces the desired output.
  • One problem can have multiple solutions, but the aim of computer programmers is to find the best solution to the given problem.

Types of Solution Approaches

  • Algorithmic solutions: solutions to problems in which the desired state is achieved by a defined and finite sequence of steps, such as making a pizza or getting to the CST building from the hostel.
  • Heuristic solutions: solutions to problems in which the goal state is reached by a series of steps that emerge from knowledge and experience, such as making a speech at an event or playing and winning a soccer game.

Solution Techniques

  • Abstraction: solving the problem in a model of the system before applying it to the real system.
  • Analogy: using a solution that solved an analogous problem.
  • Brainstorming: suggesting a large number of solutions or ideas and combining and developing them until an optimum is found.
  • Trial-and-Error: testing possible solutions until the right one is found.
  • Hypothesis testing: assuming a possible explanation to the problem and trying to prove or disprove the assumption.
  • Reduction: transforming the problem into another problem for which solutions exist.
  • Lateral thinking: approaching solutions indirectly and creatively.
  • Means-ends analysis: choosing an action at each step to move closer to the goal.
  • Method of focal objects: synthesizing seemingly non-matching characteristics of different objects into something new.
  • Morphological analysis: assessing the output and interactions of an entire system.
  • Research: employing existing ideas or adapting existing solutions to similar problems.
  • Root cause Analysis: identifying the cause of the problem.
  • Proof: trying to prove that the problem cannot be solved, and the point where the proof fails will be the starting point for solving it.
  • Divide and Conquer (D&C): breaking down a large, complex problem into smaller, solvable problems.

Solving Problems with Computers

  • Computers are built to deal with algorithmic solutions, which are often difficult or very time-consuming for humans.
  • Solving a complex mathematical equation or arranging 3000 names in alphabetical order is an easy task for computers.

6-Steps in Problem Solving

  • Identify the problem: define the problem and its constraints.
  • Understand the problem: consider the knowledge base and layout of the campus.
  • Identify alternative solutions: list possible solutions to the problem.
  • Select the best alternative: evaluate the pros and cons of each alternative and make a final decision.
  • List instructions involved in the solution: specify the step-by-step procedures to arrive at the desired goal state.
  • Evaluate the solution: check the result of the solution to ensure correctness and satisfaction.

This quiz covers the basics of problem-solving in computing, including the difference between heuristic and algorithmic solutions, and the six steps to solve problems with algorithmic solutions.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser