0% found this document useful (0 votes)
19 views35 pages

01 - Introduction

Here are some examples of how people in different occupations think computationally: A. Mathematician - A mathematician breaks down complex mathematical problems into smaller steps and operations, abstracting the key elements to find patterns and relationships. B. Scientist - A scientist models natural systems and experiments computationally, decomposing complex systems and interactions into testable hypotheses to build understanding through simulation and data analysis. C. Engineer - An engineer designs systems and products by decomposing problems, abstracting functional requirements, and developing algorithms and processes to automate solutions. D. Linguist - A linguist analyzes language at multiple levels of abstraction, decomposing sounds, syntax, and semantics to recognize patterns and develop computational models of language

Uploaded by

SPX
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)
19 views35 pages

01 - Introduction

Here are some examples of how people in different occupations think computationally: A. Mathematician - A mathematician breaks down complex mathematical problems into smaller steps and operations, abstracting the key elements to find patterns and relationships. B. Scientist - A scientist models natural systems and experiments computationally, decomposing complex systems and interactions into testable hypotheses to build understanding through simulation and data analysis. C. Engineer - An engineer designs systems and products by decomposing problems, abstracting functional requirements, and developing algorithms and processes to automate solutions. D. Linguist - A linguist analyzes language at multiple levels of abstraction, decomposing sounds, syntax, and semantics to recognize patterns and develop computational models of language

Uploaded by

SPX
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/ 35

Computational Thinking

and Problem Solving


(SE1101)
Lecture 1:
Introduction

2023
Course Description

• Introduce Computational Thinking and Problem-Solving


fundamental skills of 21st century.
• Emphasize the basic concepts of Computational Thinking such
as Logical thinking, Algorithmic thinking, Decomposition,
Generalisation, and modelling.
• Introduce practice Computational Thinking through
programming solutions for a variety of real-world problems.
Course Main Objective

• Teach the most important concepts, computational thinking


methods, and techniques to solve real-world problems and
practice their implementation through programming.
Course Learning Outcomes

Learning outcomes
Knowledge and - Recognize the concepts of computational thinking.
Understanding - Explain computational thinking techniques and strategies to solve problems

Skills - Apply computational thinking to solve problem using python


- Analyze problems using computational thinking strategies
- Design models to solve real world problems.
- Evaluate implemented solutions

Values - Engage in lifelong learning.


Course Content

No List of Topics Contact Hours


1 Introduction to computational thinking 4
2 Logical and algorithmic thinking 4
3 Problem solving and decomposition 4
4 Abstraction and modeling 4
5 Dealing with errors and evaluating a solution 4
6 Python basics 4
7 Effective building blocks and organizing the code 4
8 Using abstractions and patterns for effective modeling 4
9 Testing and evaluating programs 4
10 Guided example 4
Total 40
Assessment Tasks for Students

Problem
Sets
Percentage of Total Final Exam
15%
# Assessment task Week Due
Assessment Score 30%
Online
1 Problem sets Bi-Monthly 15% Quizzes
15%
2 Online Quizzes Monthly 15%
3 Midterm Exam 6 20%
4 Final Lab Exam 10 20% Final Lab Midterm
Exam Exam
5 Final exam 12 30% 20% 20%
Learning Resources and Facilities

Resources
Required Computational thinking A beginner’s guide to problem solving and programming, Karl Beecher.
Textbooks © BCS Learning & Development Ltd 2017. https://www.amazon.com/Computational-Thinking-
beginners-problem-solving-programming-ebook/dp/B072MGKS96

Essential Puzzle-based Learning: Introduction to critical thinking, mathematics, and problem solving.
References Matthew Michalewicz, http://www.amazon.com/Puzzle-based-Learning-Introduction-critical-
Materials mathematics/dp/1876462639/ref=sr_1_1?ie=UTF8&s=books&qid=1212262753&sr=1-1

Electronic Umm Al Qura e-learning system containing teaching resources (Slides, assignment papers, etc.)
Materials
Other Learning Lab on computer systems
Materials (Python/Flowgorithm
Communication

• Email [email protected]
• Only use your official email
• Subject: CompThink_
• Include in the message:
• your name,
• section, and
• course name
• Office hours (1121)
• Webex ( for guest speaker session)

8
Introduction
Pre-test (Slido app)

No Mark
No time limite
Lecture objectives

• Define Computational Thinking.


• Show how it can be used in different fields.
• Explain the current limitations of Computational Thinking.
Which Car Would You
Remove to Clear Traffic?
What is Computational Thinking (CT)?

• CT is strongly related to computer


science (CS)

• CS is the subject area that teaches


us how to bend those machines to
our will
What is Computational Thinking (CT)?

• CT distils important lessons and principles from computer


science.

• These lessons and principles include:


• How pick out the essential details of a problem.
• How to formulate a problem in ways a computer can understand; and
• How to follow a problem-solving process in ways that the process can
be automated.
What is Computational Thinking (CT)?
• CT is as an approach to problem-solving.
• CT is also an idea that’s both new and old.
What is Computational Thinking (CT)?
Definition Source
‘Computational thinking is the thought processes involved in formulating a problem and (Wing, 2014)
expressing its solution(s) in such a way that a computer—human or machine—can
effectively carry out.’
‘The mental activity for abstracting problems and formulating solutions that can be (Yadav et al.,
automated.’ 2014)
‘The process of recognising aspects of computation in the world that surrounds us and (Furbe, 2012)
applying tools and techniques from Computer Science to understand and reason about
both natural and artificial systems and processes.’
’A mental orientation to formulating problems as conversions of some input to an output (Denning,
and looking for algorithms to perform the conversions. Today the term has been expanded 2009)
to include thinking with many levels of abstractions, use of mathematics to develop
algorithms, and examining how well a solution scales across different sizes of problems.'
Who is CT for?

• Important to anyone, regardless of whether they work in computing or not)

• Empower everyone to be able not only to solve a problem, but also to


incorporate a computer in a solution to carry out the task more quickly and
efficiently.
Who is CT for?

• For those who intend to pursue a career in software development.

• Links a problem analysis method with the knowledge and technology from CS.
• Giving core problem-solving skills relevant to producing high-quality solutions.
•Learn ways to make the software you develop more robust, powerful, well
designed, widely applicable and error-free.
The core concepts of CT

LOGICAL THINKING ALGORITHMIC DECOMPOSITION GENERALISATION


THINKING AND PATTERN
RECOGNITION

MODELLING ABSTRACTION EVALUATION


How is CT used?
• CT can be applied by anyone who is attempting to solve a problem and
have a computer play a role in the solution.
• Examples:
• Pipelining a graduation ceremony
• Predicting climate change
• Assisting police, lawyers and judges
What is CT not?

• The ultimate goal should not be to teach everyone to think like a computer
scientist, but rather to teach them to apply these common elements to
solve problems and discover new questions that can be explored within
and across all disciplines.
Current shortcomings of CT

• Maturity: Although it has influences and predecessors dating back several


decades, CT as a formal concept is still relatively immature.

• Efficacy: The relative paucity of evidence for how effective teaching CT


actually is. It has so far not been taught widely for an extended time.
Nevertheless, the body of evidence will grow as studies into its efficacy are
conducted.
Current shortcomings of CT

• Perceived imperialism: You should think like a computer scientist? It


should be noted that many practices in CT are not original to the subject.
In fact, they’re not all original to computer science; many of them have
been used in other fields as well as everyday life for a long time. They do
not simply become computational by virtue of finding application in
computing.
Summary

• CT is an approach to problem-solving that involves using a set of practices


and principles from computer science to formulate a solution that’s
executable by a computer.

• It’s not just for programmers.

• In fact, it’s applicable in a diverse array of fields.


Problem Solving (Emerging skill)

• It shows the top skills which employers see as rising in prominence by 2025.
Problem Solving (Emerging skill)
Problem Solving and Critical Thinking

• Problem solving and critical thinking refers to the ability to use knowledge,
facts, and data to effectively solve problems. This doesn’t mean you need
to have an immediate answer, it means you have to be able to think on
your feet, assess problems and find solutions. The ability to develop a well
thought out solution within a reasonable time frame, however, is a skill that
employers value greatly.
Computational Thinking: What Is It?
How Is It Used?

• https://www.youtube.com/watch?v=qbnTZCj0ugI&ab_channel=College%2
6CareerReadyLabs%E2%94%82PaxtonPatterson
Any Question ???
Lab Exercises
Exercises

• Give an example of how you think people in each of the following


occupations think computationally:

A. mathematician;

B. scientist;

C. engineer;

D. linguist.
Exercises

• Think of everyday activities in which you participate that involve


Computational Thinking.
Exercises

• What should you try to do when you are asked to do something, and you don't
know how?

• Discuss how can we present our ideas/ problems and solutions using CT.

• If a problem is too hard, what should you try to do?

• Do you know any tools/software that help you to present/organize your ideas?

• Discuss how can we convert our ideas to make the computer able to understand
these ideas.
Exercises

• What do you know about programming languages? Give examples

• A brief introduction about (Flowgorithm software). What is it? Why is it


important? How can we use it?

• Download (Flowgorithm) software on your computer.

• Familiarize yourself with this tool.


Thank you!

You might also like