How to Think Algorithmically

An algorithm is a problem-solving method that uses logical reasoning to accomplish tasks as efficiently as possible. Although you might think only computers use algorithms, in reality, people solve problems algorithmically every day. If you’d like to improve your own algorithmic thinking, approach every problem like a logical task. Identify the problem clearly, and then input as many details about the problem as you can. Use the “if-then” approach to determine the best steps to solve the problem efficiently. Practice this way of thinking every day by using the algorithmic approach for all your daily tasks, drawing decision trees, and playing games to sharpen your logical reasoning.

[Edit]Steps
[Edit]Working out Problems Logically
Identify and define the problem clearly to determine how to proceed. All algorithms start with a clear definition of the problem or task. Take a look at the task at hand and define the problem as clearly as you can. With this information, you can then design the sequence of steps to solve the problem in the most logical way.[1]
Once you identify a problem, put it into a simple sentence. For example, if your house is always messy, you could say, “I need to develop a system to organize my belongings better.”
These problems don’t have to be complicated. You can use the same logical reasoning to decide what you want to eat. The problem might be, “I can’t decide what to order off the menu.” This is a clear definition of a problem and task that must be solved.
Alternatively, you may just have a task rather than a problem. Your task may be, “I need to finish food shopping within 30 minutes.” Use the same techniques to accomplish this task.
Input up all the information you already know. An algorithm only works if you enter the correct inputs for the system to solve a problem. Treat your brain the same way. It can only solve problems if it has the correct information. Once you identify and state a problem, start designing your strategy to solve it. Observe the situation and learn more. Add up the additional information you gather and state the problem more clearly.[2]
For example, your problem might be, “My car is making a weird noise.” This is a good start, but too broad for effective problem-solving. Input more information on where the sound comes from, what it sounds like, and when it appears. Work that down to, “My car makes a metallic rattling noise from the front end when I apply the brakes at over 30 mph.”
This strategy also works with simple tasks. If you only have 30 minutes to complete your food shopping, start by inputting your shopping list and the store layout. Then use that information to plan the order you go down each aisle in.
Break down all tasks into smaller chunks. Make each task as basic as possible. This makes the problem-solving process much more manageable. Don’t worry about coming up with the correct order of events yet. At this point, just list all the minute things you have to accomplish to work the problem out.[3]
If you wanted to clean your home, for example, think about how you’d break the task down. You’d have to vacuum, scrub the bathroom floors, pick up dirty clothes, take out the trash, do the dishes, dust the cabinets, and wash the windows. These tasks aren’t necessarily in order, but they’re manageable tasks that you can break down further.
Organize steps into the most logical order. Algorithms are all about solving tasks in the most efficient way possible. After you’ve defined your problem and broken down the necessary tasks, put those tasks in the most logical order. Think about each step that depends on a previous one, and order the tasks around this relationship.[4]
Sticking with the home-cleaning example, think about the most logical order for your tasks. Logically, you can’t vacuum the floor until you pick up the clothes, so pick up the clothes first. Similarly, you can’t wash the windows if the floor is wet from mopping, so clean the windows before you mop the floor.
Anticipate variables by using the “if-then” approach. Not all problems have a simple sequence of events. In many problems or tasks, there are multiple paths that can change based on the inputs. This is where the “if-then” approach comes in, and it’s a key part of algorithms. Think about the different variables you might encounter when solving this problem. Then consider what you would do if you encountered each variable. With this approach, you can work your way through a problem like a logical system.[5]
If your problem is a strange noise in your car, this approach can help you locate it. Your sequence could be: “If the sound is a screech coming from the tires, then I will check the brakes. If the sound is a metal knocking, then I will check the engine.”
This approach is basically how an algorithm works, and can get very detailed. Add as many inputs as you need to determine all the variables that can occur.
Design your steps around the variables you might encounter. After breaking down the steps and anticipating variables, then come up with a design on how to solve the problem. Think about this process like a flow chart. Map out your sequence of actions and which steps you’ll take if you encounter certain variables.[6]
Sticking with the car example, think about how you’ll locate the noise your car is making. Then, when you’ve found the source, plan the following steps on how you’ll fix the problem.
The following is a logical sequence of events based on the variables you’d encounter while fixing a car: If the sound is coming from the tires, I’ll check the brakes. If the brakes are new, I’ll check my bearings. If the bearings are bad, I’ll replace them. If I can’t find the source of the noise, I’ll take the car to the mechanic.
If you were designing a computer algorithm, it would need very accurate steps and inputs planned down to the last detail. Since the human mind can handle more nuance than a computer, you can be a bit more general with your steps when you’re solving a problem.[7]
Plan a loop in your algorithm if you don’t solve the problem at first. Designing an algorithm can be a trial-and-error process, and you may not get it right the first time. In this case, plan on going back to the start and working through the problem again. In computer programming, this is a loop. Think of it as a “back to the drawing board” approach to work through problems.[8]
Loops are important because they prevent you from going down a path that isn’t working. If your initial solutions aren’t solving the problem, then performing the same actions is counterproductive. Circling back and redesigning your approach has a much better chance of success.
A loop would be useful if you can’t find the source of the noise in your car. You initially anticipated the problem may be the brakes or engine, but in your investigation, you find that it wasn’t coming from either spot. In this case, loop back to the start. Drive the car around, apply the brakes, and use different speeds to try and find the source of the noise.
Execute the actions based on the variables you encounter. With the planning stage done, begin solving your problem. Work through your flow chart and follow specific actions based on the variables you encounter. Follow the process until you locate the root of the problem and solve it.[9]
Here is an algorithmic way to fix your car: There is a strange noise coming from my car. If it’s a screech, I’ll check the tires. If it’s a knock, I’ll check the engine. The sound is a screech, so I’ll check the brakes. I remove my brake pad and see that it’s worn out. I install a new brake pad and the noise is gone. I’ve solved the problem.
Remember that your algorithm may encounter unexpected variables. You might be checking your brakes, only to find out there’s also a hole in your tire. This is an entirely new problem that requires a new set of actions. Adjust your approach if you do hit unexpected variables.[Edit]Practicing in Your Everyday Life
Approach your daily tasks as they are algorithms. The world is full of more algorithms than you might realize, people just usually don’t think about them in this way. Practice your algorithmic thinking by solving your daily tasks as if they’re algorithms. Plan out logical steps and use the if-then approach to accomplish them. Over time, you’ll get used to solving problems this way.[10]
A recipe, for example, is essentially an algorithm. It solves the problem of creating a meal using a logically-ordered list of steps.
Think about your commute to work. You might say, “If there is traffic on the highway, I’ll take the side streets.” This is another everyday algorithm many people use all the time.
Plan your outfits using the if-then approach. Getting dressed is a great everyday example of an algorithm. Everyone makes a set of decisions based on the weather, workplace, day of the week, and personal style to choose their outfits. Visualize these steps as an algorithm to train your mind to think algorithmically.[11]
A simple algorithm for getting dressed is: “If it rains, I will wear a jacket. It is not raining. Therefore, I won’t wear a jacket.” This is a logical flow of steps.
Another good example is, “If we have a meeting today at work, I’ll wear a tie. If we don’t, I’ll dress casually.”
Make a decision tree or flow chart to work problems out. Sometimes algorithms are difficult to visualize, especially when they get more complex. Create a visual plan for your decisions by making a decision tree or flow chart. At the top, put your problem or task. Then list the possible steps you can take to accomplish the task. Be as specific as you can. When you’ve done that, organize the steps into the most logical order to accomplish the task.[12]
A flow chart is helpful if you already know the general order of the steps. For brainstorming, use a decision tree.
For a flow chart on writing a class paper, write your main thesis at the top. Then jot down all the evidence you have to prove that thesis. Arrange the evidence in a logical order that supports the thesis best, and construct your paper in that order.
If you don’t know where to start, draw a circle naming the task. Draw lines from the circle and write out steps for how you might solve the task. Then start eliminating steps that don’t seem helpful. Finally, you’ll be left with a list of steps that will help you.
Play algorithm games to sharpen your skills. In addition to solving your daily tasks with algorithms, games can help you think algorithmically as well. There are many computer games and programs that are designed to improve logical thought. Search the internet or app stores to find logic games that can improve your thinking while entertaining you as well.[13]
A strategy board game like Risk is a good low-tech option that you can play with your friends. The game involves planning and responding to inputs and variables. Games like this are a fun way to train your algorithmic skills.
Chess is also a great board game for logical thinking.
Check for apps and mobile games as well. There are many logic games that can help improve your thinking skills.[Edit]References↑ https://www.cs.cmu.edu/~112/notes/notes-algorithmic-thinking.html

↑ https://www.cs.cmu.edu/~112/notes/notes-algorithmic-thinking.html

↑ https://www.teachermagazine.com.au/articles/teacher-qa-algorithmic-thinking

↑ http://db.cs.duke.edu/courses/summer04/cps001/labs/plab2.html

↑ https://www.teachermagazine.com.au/articles/teacher-qa-algorithmic-thinking

↑ https://www.cs.jhu.edu/~jorgev/cs106/ProblemSolving.html

↑ https://www.comp.nus.edu.sg/~cs1101x/4_misc/jumpstart/chap3.pdf

↑ https://www.comp.nus.edu.sg/~cs1101x/4_misc/jumpstart/chap3.pdf

↑ https://www.cs.jhu.edu/~jorgev/cs106/ProblemSolving.html

↑ http://db.cs.duke.edu/courses/summer04/cps001/labs/plab2.html

↑ http://db.cs.duke.edu/courses/summer04/cps001/labs/plab2.html

↑ https://www.teachermagazine.com.au/articles/teacher-qa-algorithmic-thinking

↑ https://www.khanacademy.org/computing/computer-science/algorithms

Read More

Today in History for 8th March 2020

Historical Events

1950 – 1st woman medical officer assigned to naval vessel (BR Walters)
1961 – Jean Kerr’s “Mary, Mary” premieres in NYC
1968 – Bill Graham’s New York rock venue Fillmore East opens in Manhattan
1979 – China withdraws invasion troops from Vietnam
1980 – US performs nuclear test at Nevada Test Site
1987 – “A Team” last aired on NBC-TV after 4 years

More Historical Events »

Famous Birthdays

1659 – Isaac de Beausobre, French Protestant pastor, born in Niort, France (d. 1738)
1814 – Ede Szigligeti [József Szathmáry], Hungarian dramatist, born in Nagyvárad-Olaszi (d. 1878)
1909 – Anthony Donato, composer
1925 – Francisco Rabal, Aguilas Spain, actor (Holy Innocents, Camorra)
1954 – Karl Schnabl, 90m ski jumper (Olympic gold 1976)
1976 – Freddie Prinze Jr, actor (I Know What You Did Last Summer)

More Famous Birthdays »

Famous Deaths

1638 – Jacob C van Neck, admiral/mayor of Amsterdam, dies at about 73
1862 – Adrien de La Fage, composer, dies at 56
1889 – John Ericsson, Swedish-American inventor (screw propeller, rotating turret), dies at 85
1942 – José Raúl Capablanca, Cuban world chess champion (1921-27), dies at 53
1992 – Red Callender, US jazz bassist (Unfinished dream), dies at 76
1994 – John Ewart, Sydney Australia, dies of cancer at 55

More Famous Deaths »

Read More

How to Teach Cultural Empathy

Cultural empathy is an appreciation and tolerance of cultures that are different from one’s own. Like many beliefs and attitudes, cultural empathy begins to develop at a young age and is reinforced or challenged over time by watching others and through life experiences. Whether you’re a parent, teacher, mentor, or friend, you can help others understand and value different cultures by explaining what cultural empathy is and demonstrating what it means. You can then help reinforce their attitudes about different cultures by creating opportunities for them to put cultural empathy into practice.

[Edit]Steps
[Edit]Explaining Cultural Empathy
Describe and celebrate some of the ways that people are different. To help someone learn to be empathic and tolerant of other cultures, it can be helpful for you to first take some time to identify and explain some of the cultural differences that make people and societies unique. If the person you’re teaching hasn’t had much exposure to other cultures, they may be inclined to reject or judge any differences they encounter. By explaining how cultural diversity makes the world more interesting, they’ll start to appreciate different cultures and understand how uniquely each is in its own right.[1]
For example, if you’re an American teaching your middle schooler, try explaining 1 aspect of a different culture to them per week. Begin by telling them about the cultural significance of grass basket weaving in Western Africa, then focus on teaching them a few basic phrases in French the following week.
By describing and celebrating cultural differences, they’ll gradually learn to appreciate diversity and likely become more accepting of those who are different from them.
Identify some common traits that all humans share. While it’s important to teach cultural diversity, pointing out some common traits across cultures can also help your student or child develop cultural empathy. Showing them what they have in common with someone from a different culture can make others seem more familiar, which will likely make your student or child feel more comfortable with any cultural differences.[2]
By identifying what they have in common with someone from a different culture, you’ll be able to show them that humans are not always that different, despite living in different places and having different customs.
To help you demonstrate some similarities, try to show them an example of a person from a different culture participating in an activity that they enjoy. For example, if your high school student or child loves fashion, try showing them a video about the unique and ornate jewelry-making process in Egypt and ask them, “Do you see any similarities between their interests and your own?”
If you’re teaching cultural empathy to an entire class of elementary school students, try asking each student, “What is most important to you?”. That way, the students will be able to see that many of their values are the same despite any cultural differences between them.
Give examples that show why intolerance is harmful and hurtful. In order to help your child or student learn to be empathic and tolerant, it can be beneficial to show how intolerance can impact those who are targeted. Pointing out a few common unfair stereotypes and explaining how they have a negative impact on those being judged may encourage them to reflect on their own prejudices and reassess how they think and act towards people who are different from them in the future.[3]
For example, if you’re teaching a group of middle or high school students, try to first explain a bit about the history of racism in America. Then, show a few excerpts from a documentary on racism in which people from various minorities describe the harmful impact of racism in their own lives.
For older children and young adults, it can also be helpful to explain how intolerance can be limiting in their own lives. For example, try to explain that if they aren’t empathetic and open to working and having relationships with people that are different than them, their options in life will be much more limited.[4]
Teach your student or child to embrace their own culture. To help someone become more empathic towards other cultures, it may be helpful to take some time to help them understand their own unique culture and heritage. In many cases, people will be more willing to accept and appreciate unique aspects of other cultures if they understand that their own culture is unique and different in its own right.[5]
This is particularly important for minority students who may face intolerance and discrimination elsewhere.
By encouraging them to accept their differences, they’ll have the self-confidence to feel more comfortable and appreciative of cultures they may not fully understand.
For example, if you’re of Scottish descent, try teaching your young child about your clan’s traditional clothing and customs. Then, try saying to them, “Just as we are proud of these traditions, other people from various parts of the world are proud of their own traditions. So, we should treat everyone with respect, regardless of what their specific customs are.”[Edit]Demonstrating Cultural Empathy
Be a role model by being open and respectful of other cultures. As a parent or teacher, your students or children will generally look to you to see how to act when encountering people, places, or cultural customs that are different. If you lead by example and are respectful, open, and welcoming to those that are different from you, your students and children will learn to do the same.[6]
For example, if you make negative comments about someone’s appearance or religion, your students or children will pick up on this over time and likely start to emulate this behavior. Therefore, it’s important that you practice cultural empathy yourself so they’ll learn to be tolerant and accepting as well.[7]
Whether you’re with your child, student, or a friend you’re trying to teach to be more tolerant, when you encounter someone who is culturally different from you, try asking them, “Will you tell us a bit about your culture?” That way, you’ll help them get the opportunity to learn about another culture while showing them that you’re open and accepting of others.
Utilize diverse learning materials to create a tolerant environment. To help your student or child become more familiar with different cultures, try incorporating décor and learning materials from a variety of different cultures into their learning space. Whether you’re teaching in a classroom or trying to teach your child cultural empathy at home, creating a diverse educational environment will help encourage cultural tolerance and acceptance.[8]
For example, try putting up signs and labels in different languages, hanging images of people from all over the world, stocking books about diverse cultures, and including games from places around the world.
Provide examples of multicultural role models. When you’re teaching your student or child about significant people and achievements in various genres, try to include people from a variety of different cultural backgrounds. This will show them that people of all genders, cultures, ethnicities, and appearances contribute positively to the world and excel at what they’re passionate about.[9]
For example, if the person you’re teaching loves football, try telling them about Jim Thorpe, a Native American professional football player and Olympian who persevered through racism and poverty to become one of the most famous American athletes of all time.
Use real life moments to demonstrate the need for cultural empathy. While demonstrating cultural empathy in designated learning environments is helpful, people tend to learn more about cultural empathy from real life experiences. By pointing out situations when others are or are not practicing empathy towards someone different than them, you’ll be able to show them what cultural empathy looks like in real life.[10]
For example, if you witness a person making a racially or ethnically insensitive comment, take the time to explain what it means and why it was so hurtful.
In addition, regardless of their age, if someone you’re with makes a judgmental comment about someone who is different from them, ask them, “How would you feel if you were in that person’s shoes?” Rather than chastising them for their comment, try to use this as a real life teachable moment and encourage them to understand how and why their comment was hurtful.
Incorporate different cultural customs into activities they enjoy. Perhaps one of the easiest ways to teach a child about different people and cultures is to incorporate different cultural elements into the activities they enjoy. For example, if your child loves dolls, try getting them a few dolls that represent cultures different than their own. By playing with dolls from a number of different cultures, they’ll learn to be comfortable and accepting of different appearances, clothing, and customs.[11]
In addition, incorporating other culture’s customs into the activities they enjoy will subtly send the message that learning about and working with other cultures makes the world a more interesting, fruitful place.[Edit]Creating Opportunities to Practice Empathy
Encourage them interact with people who are different from them. One of the best ways for people of all ages to become more tolerant and appreciative of other cultures is for them to build relationships with people who are different from them. Whenever an opportunity arises, urge them to go and talk to new people, or help them by introducing yourself as well.[12]
For example, if you’re a teacher, try encouraging your students to get to know different people at their school by switching out the lunchroom seat assignments every week.
If you’re a parent, try organizing play dates with a variety of different people. While it may be tempting to stick to the people you already know, getting to know new people can help both you and your child become more culturally empathic.
Visit local institutions that teach about other cultures. In most places, there are a number of museums and cultural centers that provide a variety of activities and services aimed at teaching visitors about their culture. Taking advantage of these opportunities is a great way to help teach someone cultural empathy and learn more about the various cultures that make up your community as well.[13]
Because museums and cultural centers are generally sites that are designated for learning, child or students of any age may feel more comfortable asking questions in this setting, which can help them learn more and become more accepting.
Travel to different places to expose them to different cultures. While traveling can be expensive and difficult to arrange, it can be one of the best ways to help someone learn to accept and appreciate cultures that are different from their own. Traveling to a new place allows them to immerse themselves in different ways of life and learn first-hand what their cultural customs and values are.[14]
Traveling can also provide more opportunities to interact with people from different cultures.[Edit]References
 

↑ https://blog.education.nationalgeographic.org/2015/02/04/teaching-cultural-empathy-stereotypes-world-views-and-cultural-difference/

↑ https://blog.education.nationalgeographic.org/2015/02/04/teaching-cultural-empathy-stereotypes-world-views-and-cultural-difference/

↑ https://www.rchsd.org/health-articles/teaching-your-child-tolerance/

↑ https://theievoice.com/teaching-kids-tolerance-and-empathy/

↑ https://www.theedadvocate.org/4-ways-to-help-your-students-embrace-diversity/

↑ https://theievoice.com/teaching-kids-tolerance-and-empathy/

↑ https://www.nymetroparents.com/article/How-to-Teach-Tolerance-to-Your-Children

↑ https://www.theedadvocate.org/4-ways-to-help-your-students-embrace-diversity/

↑ https://www.theedadvocate.org/4-ways-to-help-your-students-embrace-diversity/

↑ https://www.nymetroparents.com/article/How-to-Teach-Tolerance-to-Your-Children

↑ https://theievoice.com/teaching-kids-tolerance-and-empathy/

↑ https://www.nymetroparents.com/article/How-to-Teach-Tolerance-to-Your-Children

↑ https://naturalstart.org/feature-stories/building-cultural-empathy-and-celebrating-diversity-nature-based-early-childhood

↑ https://matadornetwork.com/change/7-ways-to-teach-kids-tolerance/

Read More