0% found this document useful (0 votes)
10 views13 pages

45 Computational Thinking SAMPLE A Level

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

45 Computational Thinking SAMPLE A Level

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

Teach Computer Science

Free Sample
THANK YOU FOR DOWNLOADING THIS FREE SAMPLE RESOURCE!
Here, you’ll find a snippet of the module, which you can use to gauge the quality
of our offering, but will also find super useful in the classroom.

Teach Computer Science is an affordable, high-quality offering for teachers and


students alike whether that’s in the classroom, online, or homeschool
environment. You’ll find everything you need to learn or teach a computer
science subject for students aged 11-14, 14-16, and 16+ following any of the UK
examination boards, or any other curriculum from around the world.

If you want the complete module, which contains classroom presentation,


revision notes, quizzes, mind maps, flashcards, activities and answer keys, then
please upgrade to one of our Premium plans and support our quest to make
education affordable for all.

The Teach Computer Science Team

teachcomputerscience.com
Teach Computer Science
A-Level

Computational
Thinking

teachcomputerscience.com
1.

Revision notes

teachcomputerscience.com
Introduction
To program a computer, certain sets of logical instructions need to be
provided. Sets of logical instructions for a computer can be designed
only when the programmer thinks in the same way that a computer
processes the instructions. Computational thinking is a thought
process involved in formulating a problem and expressing its solution
in such a way that computers can effectively carry it out.
Developing software is a complex process as it involves:
• Innovative thinking process. It isn’t easy to create a new software
which has not been done ever before.
• Complex testing procedures to check the functionality of the
software. The software does not obey physical laws and to
determine its properties; its developer must test it under different
conditions.
Software engineering describes a structured methodology and
techniques to develop new software. Testing software is now made a
disciplined process too.
Computational thinking is beneficial in many ways and has changed
the way computer scientists look at the software developed process to
a more structured process. Using this, a complex problem is
understood by breaking into various modules that be further solved
individually. The solution obtained may involve a computer, a human
or both.
The components of computational thinking are:
a) Abstraction
b) Decomposition
c) Algorithm design
d) Pattern recognition

teachcomputerscience.com
Abstraction
In the study of objects or systems, certain characteristics are
removed so that it is reduced to a simple set of characteristics. Let us
consider a real-life example of a driver driving a car. It is enough for
the driver to understand the use of the accelerator and brakes, etc.
He need not know the inner mechanism behind the accelerator and
brakes. This is hiding the details that are not essential. Data
abstraction, therefore, reduces the complexity and time.

Figure 1: Abstraction

Using symbols to represent physical quantities during a physics


experiment is an example for abstraction. Similarly, variables are
used in programming. You must be familiar with functions in maths.
Similarly, functions in the programming help us to simplify a solution.
In networking, layers are separated according to functionality. This
separation allows network professionals to work on each layer
separately.
Abstraction is similar to generalisation. Several objects are grouped
based on their common characteristics. We have learnt about this in
object-orientated programming. The object is an instance of the
class. For example, consider the class Animals. Its subclasses are
Reptiles, Amphibians, Birds and Mammals. In addition to the
attributes and behaviours acquired from Animal class, each subclass
possesses its own attributes and behaviours too.
We have also learnt about abstract data types such as queues, stacks
and linked lists, and their implementation in Python. An abstract
data type is a class whose behaviour is defined by a set of values and
a set of operations.
teachcomputerscience.com
2.

Activities

teachcomputerscience.com
Activity-1
Duration: 10 minutes

1. Deduce an algorithm to check whether a number is divisible by 6


or not. Complete the boxes below with logic used, flowchart and
pseudocode.

Logic used:

Flowchart:

Pseudocode:

teachcomputerscience.com
Activity-1
Duration: 10 minutes

1. Deduce an algorithm to check whether a number is divisible by 6


or not. Complete the boxes below with logic used, flowchart and
pseudocode.

1. Deduce an algorithm to check whether a number is


divisible by 6 or not. Complete the boxes below with
logic used, flowchart and pseudocode.

Flowchart:

Pseudocode:
INPUT Num
IF Num MOD 2 = 0 & Num MOD 3=0
THEN PRINT Num, “is divisible by 6”
ELSE PRINT Num, “is not divisible by 6”
ENDIF

teachcomputerscience.com
Flashcards

Computational thinking is a
What is thought process involved in
formulating a problem and
computational expressing its solution in such
thinking? a way that computers can
effectively carry it out.

A component of
computational thinking
where certain non-essential
What is abstraction? characteristics of objects or
systems are removed so
that it is reduced to a simple
set of characteristics.

teachcomputerscience.com
Glossary

A class whose behaviour is defined by a set of


Abstract data types
values and set of operations.

A component of computational thinking where


certain non-essential characteristics of objects or
Abstraction
systems are removed so that it is reduced to a
simple set of characteristics.

A set of logical steps to be followed to perform a


Algorithm
particular task.

A small memory part located closer to the CPU


when compared to RAM to temporarily hold data
Cache
and instructions that the CPU is likely to use
frequently.

teachcomputerscience.com
Quiz

1. What is computational thinking?


A. A thought process involved in formulating a problem and
expressing its solution.
B. Thinking like a computer in binary form.
C. Instructing the computer to solve a problem.

2. Which of the following is TRUE about software development?


A. It is a complex process.
B. It requires innovative thinking.
C. Complex testing procedures are involved.
D. All of the above.

3. Which of the following is NOT a component of computational


thinking?
A. Programming
B. Algorithm design
C. Abstraction
D. Decomposition

4. Breaking a large problem down into smaller chunks is called


…………………..
A. Algorithm design
B. Decomposition
C. Computational thinking
D. Abstraction

teachcomputerscience.com
Teach Computer Science

This resource is licensed under the Creative Commons Attribution-


NonCommercial 4.0 International license.

You are free to:

● Share — copy and redistribute the material in any medium or


format
● Adapt — remix, transform, and build upon the material

Under the following terms:

● Attribution — You must give appropriate credit, provide a link to


the license, and indicate if changes were made. You may do so
in any reasonable manner, but not in any way that suggests the
licensor endorses you or your use.
● NonCommercial — You may not use the material for
commercial purposes.

For more information on this license, visit the following link:

http://creativecommons.org/licenses/by-nc/4.0/

Thank you!

teachcomputerscience.com
Teach Computer Science

Thank you so much for downloading this resource!

We hope it has been useful for you in the classroom and that your
students enjoy the activities.

For more teaching resources like this, don’t forget to come back
and download the new material we add every week!

Thanks for supporting Teach Computer Science. We can provide


teachers with low-cost, high-quality teaching resources because
of our loyal subscribers and hope to serve you for many years to
come.

- The Teach Computer Science Team :)

teachcomputerscience.com

You might also like