FlowGorithm Demo Class
FlowGorithm Demo Class
FlowGorithm Demo Class
FlowGorithm
DTC2301 Control Robotic Programing
for Education
Asst.Prof.Dr.Nutthapat Kaewrattanapat
Digital Technology for Education
https://elsci.ssru.ac.th/nutthapat_ke
[email protected] Faculty of Education, SSRU
Computational Thinking
• Definition: Computational thinking is a problem-solving
approach that draws on principles from computer science to
address complex issues in a structured and logical way.
Problem
Problem
Solving
• What is Programming?
• Why Learn Programming?
• Key Concepts:
• Variables
• Control Structures (e.g., loops, conditionals)
• Functions
• Data Types
1. Sequential Algorithms:
• Follow a linear sequence of steps.
• Examples: Calculating the sum of numbers, printing elements of an array.
2. Decision-based Algorithms:
• Make choices based on conditions.
• Examples: If statements, switch statements.
3. Iterative Algorithms:
• Repeat a set of instructions until a condition is met.
• Examples: While loops, for loops.
4. Recursive Algorithms:
• Solve a problem by breaking it down into smaller instances of the same problem.
• Examples: Fibonacci sequence calculation, recursive functions.
• Learning Resources:
• Online tutorials and courses (e.g., Codecademy, Coursera).
• Programming books for beginners.
• Forums and communities (e.g., Stack Overflow).
• Practice and Projects:
• Encourage students to work on coding projects.
• Suggest small coding challenges to enhance skills.
• Continuing Your Journey:
• Mention the importance of ongoing learning and practice.
• Explore advanced topics and specialized areas of interest.
DTC2301 Control Robotic Programing for Education
Agenda
1. Algorithms
2. Algorithm Design Principles
3. Common Algorithmic Problems
4. Algorithm Complexity
5. Algorithm Analysis
• Input and Output: Clearly define what data the algorithm takes as
input and what it produces as output.
• Step-by-Step: Break down the problem into smaller, manageable
steps.
• Reusability: Create algorithms that can be reused for similar tasks.
• Efficiency: Strive for algorithms that run quickly and use resources
effectively.
• Testing and Debugging: Test your algorithm with different inputs and
debug any issues.
• Optimization: Continuously look for ways to improve algorithm
performance.
• Sorting Algorithms:
• Explain the importance of sorting data and mention popular sorting algorithms like Bubble Sort,
Quick Sort, and Merge Sort.
• Searching Algorithms:
• Discuss searching algorithms like Linear Search and Binary Search used to find elements in data.
• Recursion:
• Explain the concept of recursion and its application in algorithms.
• Dynamic Programming:
• Introduce dynamic programming as a technique for solving complex problems by breaking them
down into smaller subproblems.
• Graph Algorithms:
• Mention algorithms used for solving graph-related problems, such as Dijkstra's algorithm for
finding the shortest path.
ISO 5807:1985
Information processing — Documentation symbols and conventions
for data, program and system flowcharts, program network charts
and system resources charts
ISO 5807:1985
Information processing — Documentation symbols and conventions
for data, program and system flowcharts, program network charts
and system resources charts
Priority: Low
DTC2301 Control Robotic Programing for Education
FlowGorithm
Expression
call
• A Call Statement transfers
control to a function.
Information being passed into
the function are called
'arguments'.
Hello!
Goodbye!
DTC2301 Control Robotic Programing for Education
FlowGorithm
Comment
• Comments don't affect how your
program runs. They are used to
include documentation about the
program for other programmers.
These can include: the logic of a
loop, known issues, changes
made, future changes, etc..
variable.
the screen.
1 100