0% found this document useful (0 votes)
30 views6 pages

Cos 102

Uploaded by

jimodigitals
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views6 pages

Cos 102

Uploaded by

jimodigitals
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

COS 102: Problem Solving (2 Units C: LH 30; PH 0)

Learning Outcomes
At the end of this course, students should be able to:
1. explain problem solving processes;
2. demonstrate problem solving skills;
3. describe the concept of algorithms development and properties of algorithms;
4. discuss the solution techniques of solving problem;
5. solve computer problems using algorithms, flowcharts, pseudocode; etc.; and
6. solve problems using programming language using C, PYTHON, etc.

Course Contents
Introduction to the core concepts of computing. Problems and problem-solving.
The identification of problems and types of problems (routine problems and
non-routine problems). Method of solving computing problems (introduction to
algorithms and heuristics). Solvable and unsolvable problems. Solution
techniques of solving problems (abstraction, analogy, brainstorming, trial and
error, hypothesis testing, reduction, literal thinking, means- end analysis,
method of focal object, morphological analysis, research, root cause analysis,
proof, divide and conquer). General Problem-solving process. Solution
formulation and design: flowchart, pseudocode, decision table, decision tree.
Implementation, evaluation and refinement. Programming in C, Python etc.
Lab Work: Use of simple tools for algorithms and flowcharts; writing
pseudocode; writing assignment statements, input-output statements and
condition statements; demonstrating simple programs using any programming
language (Visual Basic, Python, C).
Solvable Problems:

 Problems that have a clear path to a solution. These can be resolved through well-defined
steps and methodologies.
 Example: Mathematical problems, puzzles, algorithmic challenges.

Unsolvable Problems:

 Problems that do not have a clear solution or are impossible to solve due to various
constraints (logical, physical, or computational).
 Example: The Halting Problem in computer science, some philosophical questions.

Solution Techniques

1. Abstraction:
o Simplifying a complex problem by focusing on the main idea and ignoring
specific details.
o Example: Modeling a real-world problem in mathematical terms.
2. Analogy:
o Solving a problem by finding similarities with previously solved problems.
o Example: Using the structure of an atom to understand the solar system.
3. Brainstorming:
o Generating a wide range of ideas to solve a problem without immediately
evaluating them.
o Example: Team meetings to come up with marketing strategies.
4. Trial and Error:
o Attempting different solutions until one works.
o Example: Debugging code by testing various fixes.
5. Hypothesis Testing:
o Formulating hypotheses and testing them to see if they solve the problem.
o Example: Scientific experiments to test a theory.

A hypothesis is a proposed explanation or assumption that can be tested through experimentation


and observation. It is a statement that predicts the relationship between variables and can be used
as a starting point for further investigation.

Key Characteristics of a Hypothesis:

1. Testable:
o Must be able to be tested through experiments or observations.
o Example: "If I water the plants more frequently, then they will grow faster."
2. Falsifiable:
o Must be possible to prove the hypothesis wrong.
o Example: "Increasing the amount of sunlight will not affect the growth of the
plant" can be proven false if increased sunlight does affect growth.
3. Specific:
o Should clearly state the expected relationship between variables.
o Example: "Students who study for an additional hour each day will score higher
on exams than those who do not."
4. Based on Existing Knowledge:
o Should be grounded in existing theories, observations, or knowledge.
o Example: A hypothesis on plant growth should be based on known factors
affecting plant growth like sunlight, water, and soil quality.

Types of Hypotheses:

1. Null Hypothesis (H0):


o States that there is no effect or no relationship between variables.
o Example: "There is no difference in test scores between students who study with
music and those who study in silence."
2. Alternative Hypothesis (H1 or Ha):
o States that there is an effect or a relationship between variables.
o Example: "Students who study with music will have different test scores than
those who study in silence."

Formulating a Hypothesis:

1. Identify the Variables:


o Determine the independent (manipulated) and dependent (measured) variables.
o Example: Independent variable: amount of water; Dependent variable: plant
growth.
2. Establish a Relationship:
o Define how the independent variable is expected to affect the dependent variable.
o Example: "Increasing the amount of water will increase plant growth."
3. Make it Testable:
o Ensure the hypothesis can be tested through experiments or observations.
o Example: "If plants are watered daily, they will grow taller than plants watered
weekly."

Example of Hypothesis Testing Process:

1. Formulate Hypothesis:
o Null Hypothesis (H0): "The amount of water does not affect plant growth."
o Alternative Hypothesis (H1): "The amount of water affects plant growth."
2. Design Experiment:
o Water two groups of plants with different frequencies.
3. Collect Data:
o Measure the growth of plants over a set period.
4. Analyze Results:
o Compare the growth of the two groups.
5. Draw Conclusions:
o Accept or reject the null hypothesis based on the data analysis.

Importance of Hypotheses:

 Guides Research: Provides direction for collecting and analyzing data.


 Facilitates Understanding: Helps in understanding relationships between variables.
 Enables Predictions: Allows predictions about outcomes based on certain conditions.
 Supports Scientific Method: Integral part of the scientific method, driving experimental
design and investigation.

6. Reduction:
o Breaking a problem into smaller, more manageable parts.
o Example: Decomposing a large project into smaller tasks.
7. Literal Thinking:
o Addressing a problem exactly as stated, without looking for hidden meanings.
o Example: Following instructions step-by-step without interpretation.
8. Means-End Analysis:
o Comparing the current situation with the desired goal and finding ways to reduce
the difference.
o Example: Developing a plan to bridge the gap between current sales and target
sales.
9. Method of Focal Object:
o Combining characteristics of different objects to create new ideas.
o Example: Creating new product designs by merging features of existing products.
10. Morphological Analysis:
o Exploring all possible solutions to a multi-dimensional problem by systematically
varying parameters.
o Example: Developing new product ideas by changing various attributes like size,
color, and function.
11. Research:
o Gathering information and studying previous work related to the problem.
o Example: Reviewing scientific literature to find potential solutions.
12. Root Cause Analysis:
o Identifying the fundamental cause of a problem.
o Example: Using the 5 Whys technique to find the underlying issue in a
manufacturing defect.
13. Proof:
o Demonstrating that a solution is correct through logical reasoning.
o Example: Mathematical proofs to verify the correctness of algorithms.
14. Divide and Conquer:
o Breaking a problem into smaller sub-problems, solving each one independently,
and combining the results.
o Example: Sorting algorithms like Merge Sort and Quick Sort.

General Problem-Solving Process


1. Understanding the Problem:
o Clearly define the problem.
o Identify constraints and requirements.
2. Devising a Plan:
o Choose appropriate strategies and techniques.
o Outline steps to solve the problem.
3. Carrying Out the Plan:
o Implement the chosen solution.
o Follow the steps systematically.
4. Reviewing/Reflecting:
o Evaluate the solution for accuracy and efficiency.
o Refine and optimize if necessary.

Solution Formulation and Design

1. Flowchart:
o Visual representation of the sequence of steps in a process.
o Example: Flowchart for a customer service process.
2. Pseudocode:
o Writing the algorithm in a structured but plain language format.
o Example: Pseudocode for a sorting algorithm.
3. Decision Table:
o Tabular representation of different conditions and their corresponding actions.
o Example: Decision table for loan approval process.
4. Decision Tree:
o Tree-like model of decisions and their possible consequences.
o Example: Decision tree for troubleshooting network issues.

Implementation, Evaluation, and Refinement

1. Implementation:
o Execute the plan using the chosen tools and methods.
o Example: Coding a software application.
2. Evaluation:
o Assess the solution’s performance and effectiveness.
o Example: Testing a new product for quality and user satisfaction.
3. Refinement:
o Make necessary adjustments to improve the solution.
o Example: Iterating on a design based on user feedback.

You might also like