Uploaded by Rejini Magesh

Computational Problem Solving Course Presentation

advertisement
23CSE101
COMPUTATIONAL PROBLEM SOLVING
L-T-P-C: 3-0-2-4
2
Course Objectives
The objective of this course is to introduce the computational aspects
of problem solving to the students.
The course exposes computational thinking to the students through
systematic treatment on algorithms, logical reasoning and solutions.
The course then introduces Python language which will be used as a
computational tool for both designing algorithms and solving
problems.
3
Course Outcomes
CO1: Apply algorithmic thinking to understand, define and solve problems.
CO2: Design and implement algorithm(s) for a given problem.
CO3: Apply the basic programming constructs for developing solutions and programs.
CO4: Analyze an algorithm by tracing its computational states, identifying bugs and correcting
them.
4
5
Unit 1
Problem Solving and Algorithmic Thinking Overview – Algorithms - Properties, Constituents of
Algorithms: Sequence, Selection and Repetition - Designing Algorithms, Expressing and Analyzing
Algorithms - Algorithms vs Programs - Logical Reasoning - Logical Errors - Problem Definition Problem Understanding and Analysis - Designing Solutions.
6
Unit 2
Overview of Programming Paradigms - Introduction to Python - Variables - Strings, IO - Control
Flow - Data Abstraction: Working with Lists/Arrays, Dictionaries, Tuples and Sets - Functions Recursion - Files - Debugging - Computational Tracing of Python Programs.
7
Unit 3
Problem Solving with Algorithms - Searching and Sorting - Applied Computational Thinking
Problems: Python Libraries, Text Processing, Data Processing and Analysis, Chatbot etc.
8
Textbook(s)
Sofia De Jesus and Dayrene Martinez, “Applied Computational Thinking with Python: Design
algorithmic solutions for complex and challenging real-world problems”, Packt Publishing,
November 2020.
9
Reference(s)
Thomas Mailund, “Introduction to Computational Thinking: Problem Solving, Algorithms, Data
Structures, and More”, Apress, 2021.
Karl Beecher, “Computational Thinking: A beginner's guide to problem-solving and
programming”, BCS, The Chartered Institute for IT, 2017.
Curzon P, McOwan PW, “The Power of Computational Thinking: Games, Magic and Puzzles
to help you become a computational thinker”, World Scientific Publishing Company; 2017.
10
Computational Thinking
Computational Thinking is the thought processes involved in formulating a problem and
expressing its solution(s) in such a way that a computer – human or machine can effectively carry
out.
11
Computational Thinking
To solve a problem we need to apply the following:
❖ Logical Thinking
❖ Ordered Approach
❖ Out of the box Thinking
12
Logical Thinking
Logical thinking is the ability to see a problem as a sequence of instructions that will change the
state of a problem.
Logic is a system used for distinguishing between correct and incorrect arguments.
1. Socrates is a man.
2. All men are mortal.
3. Therefore, Socrates is mortal.
13
Ordered Approach
It is the process of breaking the problem into simple steps and follow them in the correct order.
14
Out of the Box Thinking
Out of box thinking is the ability to look beyond the problem to find the approach to solve it.
Don’t allow the problem to lock you in with unnecessary boundaries.
15
Example
16
- Did you solve it??
- Did you limit yourself by thinking the animals can only go in one direction?
Thinking the animal can go back is an example of “Thinking out of box”.
17
Solution
18
Four Steps in Computational Thinking:
1. Decomposition: Breaking a complex problem down into smaller, more manageable parts.
2. Pattern Recognition: Identifying patterns or trends within a problem.
3. Abstraction: Getting rid of useless information that is not going to contribute to the solution.
4. Algorithm: Develop step-by-step instructions for solving the problem.
19
Decomposition
20
Pattern Recognition
21
Patterns
An algorithm that draws such an image might therefore look like this:
1. Draw circle with radius 30 at position 50,50 with line thickness 2.
2. Draw circle with radius 6 at position 40,40 with line thickness 1.
3. Draw circle with radius 3 at position 40,40 filled black.
4. Draw circle with radius 6 at position 60,40 with line thickness 1.
5. Draw circle with radius 3 at position 60,40 filled black.
6. Draw red line from position 30,70 to position 70,70 with line thickness 1.
22
Abstraction
An online video service like YouTube or Netflix can
recommend videos to a user because it has built an
abstract model of them. An ideal model of the user
would include a perfect replica of their neurons and
brain chemistry, so it would know with uncanny accuracy
which videos they would like to watch at any moment.
Or, failing that, maybe a complete and thorough
biography including a run-down of every book, film and
TV show they’ve ever consumed.
23
Problem Solving and Algorithmic Thinking
Overview
Algorithm: a sequence of clearly defined steps that describe a process to follow a finite set of
unambiguous instructions with clear start and end points.
24
Algorithm Example
25
Recall
Computational Thinking
❖Logical Thinking
❖Ordered Approach
❖Out of the box Thinking
Steps in Computational Thinking
❖Decomposition
❖Pattern Recognition
❖Abstraction
❖Algorithm
26
Additional References
https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
https://www.learning.com/blog/defining-computational-thinking/
https://www.researchgate.net/publication/274309848_Computational_Thinking
https://digitalpromise.org/initiative/computational-thinking/computational-thinking-for-nextgeneration-science/what-is-computationalthinking/#:~:text=Computational%20thinking%20is%20an%20interrelated,participating%20in%2
0a%20computational%20world.
27
Queries
28
29
Download