ICT Unit 6 Review
Selection
Choosing specific data or actions based on criteria
What is problem solving?
Defining a problem or computational problem
Sequence
executes instruction top down in the order they're placed in the algorithm
Basic Information Processing Model
- Problems are solved using a computer by obtaining some kind of user input (ex. keyboard/mouse information or game ctrl movements), then processing the input and producing some kind of output (ex. images, text & sound) - Sometimes the incoming and outgoing data maybe in the form of secondary memories or network devices
Bottom-up Problem Solving Approach
- This method works exactly opposite of how the top-down approach works - In bottom-up approach, the most fundamental units, modules and sub-modules are designed and solved individually; these units are then integrated together to get a more concrete base to problem solving
4 steps of problem solving
1. Understand the problem 2. Make a plan 3. Execute the plan 4. Review and extend
From the ff, which of them are computational problem?
4. Digital library book learning system
Action or Process
A box can represent a single step (add 2 cups of flour), or an entire sub-process (make bread) within a larger process.
Decision
A decision or branching point. Lines representing different decisions emerge from different points of the diamond.
True or False: Both strategies aren't based on incremental development.
False
True or False: Both strategies don't employ unit testing.
False
True or False: Flowcharts can't be used to represent both computational and non-computational activities.
False
True or False: It's nothing important that we develop and test algorithms before developing a program for a given problem.
False
There are recent developments in learning to program graphically to make programming accessible and faster to do. These two trends are:
Flowchart-based programming Block-based programming
Similar to the 4 steps of problem solving, what are the 4 steps of solving computational problem in Computer Science and IT concepts in general?
I. Understand the problem II. Develop an algorithm III. Write the program IV. Test the program
Subroutine (or module)
Indicates a sequence of actions that perform a specific task embedded within a larger process. This sequence of actions could be described on a separate flowchart in more data
Connector
Indicates that the flow continues where a matching symbol (containing the same letter) has been placed.
Flow Line
Lines indicate the sequence of steps and the direction of flow.
Input/Output
Represents materials or information entering or leaving the system such as customer order (input) or a product (output).
Top-Down Approaches
Starts by implementing the most general modules and works toward implementing those that provide specific functionality. The idea behind top-down approach is that a bigger problem is difficult to manage in its entirety.
Condition
The rule or criteria that evaluates to true or false, guiding the selection
Start/End
The terminator symbol marks the starting or ending point of the system. It usually contains the word Start or End.
True or False: Most programs are developed using a combination of top-down and bottom-up strategies.
True
True or False: Top-down and bottom-up programming refers to 2 different strategies for developing a computer program for complex problems.
True
True or False: We use Flowgorithm for flow-chart based programming and Scratch for block-based programming.
True
True or False: With an increasing complexity of a problem to solve, there is a need to be systematic and applying an appropriate problem solving strategy.
True
True or False: In general, there are 3 types of flow of instruction processing in a computer system.
True, there's 3.
Algorithm
a precise sequence of instructions for saving a projection represented in human-understandable form
Non-Computational activities
a process to be handled by a human or a manual machine
Program
a requirement of instructions written in the programming language and can be executed by a computer to solve a given problem or preform a specific task
Block-based programming
allows learners to reuse pre-developed graphic objects for development of a program through drag and drop manipulations. ex. Scratch
This process of dividing the problem into smaller problem is known as...
modularization
The solution developed for a smaller problem is called a...
module
Decision problem
one where the answer is yes or no
Repetition
repeatedly execute instruction(s) for a fixed number of times or until some condition occurs
Pseudocode
represents algorithm with a simple and concise sequence of English-like instructions - Whereas flowcharts are visually appealing and can be easier to understand, pseudocodes are closer to instructions used in a program
Flowchart
represents an algorithm graphically using boxes of various kinds, ellipses and arrows as connectors
Unit Testing
testing each individual piece before moving onto the next
Counting problem
the answer is a number of solutions to a search problem
Computational problem
the problem that can be solved step by step with a computer. The problem usually has well-defined inputs, constraints & conditions that the output must satisfy
Incremental Development
the process of building your program piece by piece
Search problem
the solution consists of one or more value that satisfy a given condition
Optimization problem
the solution is the "best" possible solution
Computational thinking
the thought process that involves formulating a problem and expressing its solution in such a way that a computer, human or machine can effectively carry out
Flowchart-based programming
uses a software tool to develop algorithm automatically as flowchart. These tools can help learners to learn the step of execution visually ex. Flowgorithm