# data[].attributes.body
Namaste class! Today we'll learn about algorithms. An algorithm is like a recipe - it's a step-by-step procedure to solve a problem. In our daily lives, we follow many algorithms without realizing it! For example, the way we prepare our morning chai or get ready for school follows a sequence of steps.

Let's start with a simple example: making a sandwich. Can you write down the steps?

# data[].attributes.body
Dear students, an algorithm must have these important features:
1. Input: Clear data given to solve the problem
2. Output: Clear result after following all steps
3. Definiteness: Each step must be clear and unambiguous
4. Finiteness: Must end after a finite number of steps
5. Effectiveness: Each step must be basic enough to be done

Activity: Let's identify these features in our sandwich-making algorithm!

# data[].attributes.body
Class activity time! In groups of 4, write algorithms for:
1. Making masala chai
2. Playing cricket
3. Crossing the road safely
4. Getting ready for school

Share your algorithms with the class and let's discuss how we can make them more precise!

# data[].attributes.body
Flowcharts are visual representations of algorithms. They use special shapes to show different types of steps:

🔵 Oval - Start/End
📦 Rectangle - Process
◀️ Diamond - Decision
📝 Parallelogram - Input/Output

Think of it as drawing our algorithm with these special symbols!

# data[].attributes.body
Let's create a flowchart for a simple problem:
Calculating if a student has passed or failed based on their marks.

Required marks to pass = 35
Input: Student's marks
Output: Pass/Fail message

Try drawing this flowchart in your notebook using the symbols we learned!

# data[].attributes.attachment_link.title
FLOWCHART - Input Two Sub Fail Or Pass Incl Avg Marks 5/10

# data[].attributes.body
Time for practice! Here are your tasks:

1. Write an algorithm for finding the largest number among three numbers
2. Draw a flowchart for calculating the area of a rectangle
3. Create an algorithm for arranging three names in alphabetical order

Submit your work in your computer practical notebook.

# data[].attributes.body
Dear students, to practice more, visit these helpful websites:
1. Code.org - For interactive algorithm practice
2. Scratch - To see algorithms in action
3. FlowChart Maker - To create digital flowcharts

Practice at home and share your creations in our next class!

# data[].attributes.attachment_link.title
Algorithms #1 | Accelerated Intro to CS Course - Code.org

# data[].attributes.attachment_link.description
Anyone can learn computer science. Make games, apps and art with code.

# data[].attributes.body
Complete these tasks by next class:

1. Create an algorithm for finding the sum of first 10 natural numbers
2. Draw a flowchart for determining if a number is even or odd
3. Write an algorithm for your morning routine

Bonus: Try to identify algorithms in your favorite mobile games!