Fundamentals of Problem Solving: How to tackle problems | Astra Learning | Skillshare

Playback Speed


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Fundamentals of Problem Solving: How to tackle problems

teacher avatar Astra Learning, Learn AI with ease!

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

    • 1.

      Course Description

      1:00

    • 2.

      Why Problem Solving?

      1:05

    • 3.

      The Process of Problem Solving

      5:58

    • 4.

      The story of the cat, bird and corn

      6:33

    • 5.

      Problem Solving Strategies

      7:08

    • 6.

      Obstacles on your journey

      7:42

    • 7.

      How are Problem Solving and Programming related?

      1:59

    • 8.

      What you have learned

      0:44

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

64

Students

1

Projects

About This Class

This course has no specific prerequisites and is suitable for individuals with no prior programming experience. It focuses primarily on problem-solving skills that can be applied in various contexts, including everyday life. While the strategies taught are applicable to programming, they are also valuable for other areas.

The course begins by emphasizing the significance of problem solving and providing an overview of the process involved. Next, you will acquire a range of general problem-solving strategies that will not only benefit your daily life but also ease your path as a future developer. These strategies will be put into practice through various problem-solving exercises. In the final chapter, we will explore the connection between general problem solving and programming, concluding with a brief summary of the course content.

Meet Your Teacher

Teacher Profile Image

Astra Learning

Learn AI with ease!

Teacher

Hi, we are Astra-Learning, a group of AI-Enthusiasts who want to demystify the area of Artificial Intelligence and Data Science.

Since nowadays many courses about AI and Data Science are either very theoretical, long, boring or just too expensive, our goal is to be the alternative and provide you with a helping hand.

Have fun enjoying our courses.

See full profile

Level: All Levels

Class Ratings

Expectations Met?
    Exceeded!
  • 0%
  • Yes
  • 0%
  • Somewhat
  • 0%
  • Not really
  • 0%

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Course Description: Hello there. Now that you have started, the second part of the introduction, recurrences is a short overview of what you can expect from this course and what skills you need to have. This course does not have any special requirements and can be taken by anyone before prior experience in programming. It is more about problem-solving in general. So even if you don't apply the strategies in programming, you will still be able to apply them in your day-to-day life. We will first introduce you to the importance of problem-solving and also the process behind it. Afterwards, you will learn some general problem-solving strategies, which will make not only your day-to-day life, but also your future developer life. Much easier. After learning some strategies, we will encounter some problems where we have to apply them. In the last chapter, we will then have a look at how problem-solving in general is related to programming, followed by a short summary of everything. 2. Why Problem Solving?: Why problem-solving? Ever since mankind has existed, there have always been problems and obstacles to overcome, to survive harsh living conditions like fighting dangerous animals, humans scattered in groups to get better access to food and water, rebuild societies and empires to protect people from diseases. We develop drugs. As you see, it's in the nature of humans to solve problems and make their life safer and easier. However, it also serves as the foundation for continuous improvement, communication and learning. For example, you missed the bus and you really need to go to meet your friends at the stadium. What do you do know? You could wait for the next bus, walk to the stadium if it's not too far from your place or just call a friend to pick you up. As you see, there is no right way to solve problems. So in order to understand how to solve problems, it might be useful to know what a typical problem-solving process looks like. 3. The Process of Problem Solving: The Process. Problem-solving is the process of observing what is going on in your environment, identifying things that could be changed or improved. Diagnosing why the current state is the way it is, and the factors and forces that influence it. While also developing approaches and alternatives to influence change. Deciding which alternatives to select, acting to implement the changes, and observing the impact of those actions in the environment. Well, since then was a pretty long and rather difficult definition of problem-solving. How about dividing it into seven steps? Number one, to find the problem. Defining the problem is the first and most important step in problem-solving. This step involves gathering information and clearly defining the problem you're trying to solve. It's important to be specific about the issue you're facing, what its impact is, and also with effects. We should also consider any constraints or limitations that might impact your ability to solve the problem. Number to define the goal. Once you have defined the problem, you need to define your goal or objective. This step involves asking yourself what you want to achieve by solving the problem. Your goal should be specific, achievable, relevant, and also time-bound. Defining your goal hips to stay focused and motivated throughout the problem-solving process. Number three, clarification. Now that you know what the problem is, you have to think about what data is available or needed to fully understand the problem. Are there any additional resources required to clarify the problem? Is it a top priority to solve the problem at this point in time? For example, imagine you're on a vote and you have a box full of fruits that you want to sell. Now you discover that the boat has a leak. But on the other side of the boat, you can see that the fruit box almost falls into the water. What do you do? Safety both from sinking or save to fruit box? Which of the problems as a higher priority? Number four, identify the root course. Identifying the root cause is critical to solving the problem effectively. This step involves digging deeper to understand the factors that contribute to the problem and figuring out what needs to be addressed to solve it. For example, you could use techniques such as the Five Whys to identify the underlying cause or causes of the problem. To use the Five Whys methods, you have to start by stating the problem and then ask yourself why the problem occurred. You then use the answer to that question to ask another why question and so on. Until you have asked why five times. With this method, you can often uncover the underlying cause of the problem. To better understand the five whys techniques, let's go through an example. Imagine to delivery of a package to a customer was delayed by using the Five Whys technique, we will start as follows. Why was the package delivery delayed? Because the package was not shipped on time. Why was the package not shipped on time? Because the shipping label was not printed. Why was the shipping label not printed? Because the printer was out of ink. Why was the printer out of it? Because it had not been restocked. Why had to print are not being restocked? Because the person responsible for restocking the printer was out sick. As you see in this example, we were able to identify the root cause of a problem by simply asking why questions multiple times. As children, we naturally ask why questions to understand the world around us. But as we grew up who become more focused on rules and deadlines, and we stop asking why. This can lead to surface level solutions only address the symptoms of a problem by simply using the Five Whys technique, we are able to tap into our natural curiosity and problem-solving abilities to identify root causes and develop effective solutions. Therefore, let's start asking why again. Number five, action plan. After all these steps, you now need an actual plan. Think about it. If you know what the problem is, how it this course and what the goal is. The rest should be doable by simply creating a list of actions required to address the root cause and solve the problem. For this, you should consider the impact of each solution on stakeholders, the resources required to implement each solution, and to potential risks and benefits of each option. Since there are multiple ways problems can be solved at it usually takes time to find the best action plan. Will show you in the next chapter how to come up with an ideal plan with the help of some simple strategies. Number six, execute and evaluate. With your action plan in place, it's time to put it into action. This step involves implementing the solution and monitoring its progress. You should get a feet thick and evaluate the effectiveness of the solution, making any necessary adjustments along the way. This step requires a willingness to be flexible and adapt to changing circumstances. Number seven, improve continuously. Problem-solving is an ongoing process and there's always room for improvement. This step involves reflecting on what you have learned and continuously improving your approach. You should document your findings and apply them to future problem-solving efforts to achieve better results over time. Now that we know the Process of Problem Solving, How about trying to solve one? 4. The story of the cat, bird and corn: Problem-solving strategies tackle problems the correct weight. As you progress through the problems, you will notice that although the problems at first look completely different from each other, certain patterns will emerge in the approaches we take. This is great Since this will allow us to approach any problem confidently without the need of having extensive experience in that problem area. So let's get started. The story of the cat, bird, and corn. You might have heard, will discuss this or similar riddle about the farmer who needs to cross a river. The riddle is about the following. A farmer must cross a river with a cat, bird, and the second corn farmer has a boat, but it can only fit the farmer and one of his free items. Unfortunately, the cat and bird approve hungry. If the cat is left alone with the bird, deleted. Similarly, if the bird is left alone with the SEC of corn, how does the farmer cross the river with everything? If you ever encountered this riddle in one or another way, think about the solution. If not, pause the video for a few minutes and try to solve it on your own. This riddle is hard for many people to solve on their own, at least before the hint. The reasoning usually goes like this. To get everything to the foreshore, the farmer will need to make multiple trips. If the farmer took the cat on the first trip to bird would be left with the SEC of corn that would eat it. Likewise, the farmer took the sake of pond on the first trip, the cat, it could be left with the bird, and the cat would be the bird. Therefore, the farmer must take the bird on the first trip. So far so good. However, when he returns, the farmer must choose between the corn and the cat. Whatever the farmer takes must be left on the far shore with the bird while the farmer returns to the nearshore for the remaining item. This means that either the cat and bird will be left together for the bird and corn. The Problem abuse unsolvable since neither of these scenarios is excepted. However, assume node the farmer takes the cat on the second clip, but this time, instead of leaving the cat with the farmer takes the bird back to the near shore. Then the farmer takes the sake of corn across the river, leaving the cat and corn on the far shore while returning for another trip with the bird. Thinking about the problem again, why was this rather easy sounding Problem difficult to solve? This might be because many people never considered the possibility of taking one item back, right? It might sound unfair since we didn't mention that it was possible to take item spec, but we also didn't say that it was forbidden to Rousseau. How much easier we did have been to solve the puzzle. If you explicitly said it was possible. It's a key factor of problem-solving. If you don't know all possible actions you could take, you might not be able to solve the problem. So just stopped setting yourself constraints that didn't even exist in the first place. Otherwise, you're just limiting your ability. Problems. Now that we are done with the problem, how about trying it this time with the seven steps of problem-solving? Step number one, define the problem. Our problem for this task is that we can't cross the river with all three items at the same time. Step number to define the goal. Well, at the end of today, our main goal is to be able to get three items to the other side of the shore. Step number three clarifications. Now, here we have to think a little bit harder. What data is available to us? What is our top priority right now? What else do we know about the problem? In this case, we know the following about the problem. First, the farmer can only carry one item at a time booster boat. Second, the bird and corn cannot be left alone on the same shore. The cat and bird cannot be left alone on the same shot. You might think that this is everything we know about the problem, but this is not true. We also know, for example, that if the vote is empty, we load an item from the shore. And if Tybalt is not empty, we unrolled an item to the shore. Step number four, identify the root cause. In this problem, the root cause could be, for example, the boat, which can only take one item at a time. However, since it's a riddle, we can for now ignore the root cause. Step number five, action plan with the list of information we wrote down it, step number three. We can now try to create an action plan for this. First, pause the video for few minutes. Think about the problem again. Try to make your own action plan. Step number six, execute and evaluate. After you've done is done, execute your actions and have a look at the results. Did everything work? Once you have proved successful? If not, what was the problem? Step number seven, improved continuously. Last but not least, best thing you could do to be better prepared for such problems is to actually improve continuously. As we would say, prepare for the future by learning from your mistakes. From the problem above. Who learned the importance of questioning assumptions and explore all possible options when solving problems. You also learned the value of breaking down the problem into smaller, more manageable parts and choosing a structured approach like the seven step problem-solving method. Additionally, we saw how the five whys technique can be used to dig deeper into a problem and uncover underlying problems. Finally, we learned that sometimes the root cause of problem might not be immediately apparent, that might require further investigation. In order to solve problems faster, we will learn in the next chapter more about problem-solving strategies. 5. Problem Solving Strategies: Strategies. After solving the first problem, we will now show you some strategies on how to tackle problems in a better way. For this, we will get started with divide and conquer. If you ever encounter problems that are so big that you think to yourself, it's not possible to solve. Try to divide the problem into smaller pieces, and then divide those smaller pieces into even smaller pieces. Do that until you are able to solve each of the small pieces on your own. An example would be Solving a machine learning project. Often people are intimidated when starting with the first machine learning project, because let's be honest, it truly is a big project, especially for those beginning to journey. Therefore, let's divide it into smaller pieces. Instead of one big chunk, we would now have, for example, the following pieces. Get the dataset, pre-processed the dataset, choose features, choose modal class and model, train model, and test model. Now that you have smaller pieces, you can divide those subareas further until you are able to solve it on your own. The planet. You should always have a plan. No matter the circumstances. You might think that it's not possible to have a plan for every situation that might happen. This is totally true. It is possible to at least plan your initial thoughts on how to tackle a specific problem from the beginning on. Even if you have to change your plan later on or abandon it completely. It doesn't mean that you have to engage in every activity directionless. Before the plan. You are simply hoping for a lucky break. Fruit might have heard the story of the discovery of penicillin. One night, the researcher Alexander Fleming accidentally left one of his Petri dishes open to surprise. When he returned the next day, he discovered that mold had grown. In addition, however, what intrigued him even more? What's the fact that the mold had prevented the bacteria from growing as a result of S40 and controlled experimentation. Deming recognize the importance of what he saw in the Petri dish by no means to, to just sit around waiting for lucky break fruit. Well, this brings us to the next part. Analogies. A major part of improving your problem-solving speed and scale is recognizing analogies, but it can also be the most challenging one. The problem. You cannot look for analogies until you have a repository of previous solutions. Developing programmers often tried to take a shortcut by finding code similar to the needed code and modify it. However, this is a mistake. You don't complete a solution yourself. You won't have fully understood and internalized the Problem. Modifying a program that you do not fully understand can be very challenging. In order to understand the problem, you don't need to have written the code yourself. But if you can write the code, your understanding will be limited. Another reason is that every successful program you write this more than a solution to a current issue. It's an analogy for a future issue you might face. The more you rely on other programmers code, the more you will in the future. The known, the further away of writer gets from his own experience, the more difficult writing maybe. When programming, you should try to start with what you already know and work out what from there. Once you have divided the problem up into pieces. For example, go ahead and complete any piece you already know. To some degree. Having a working partial solution might generate fought for the rest of the problem. Also, as you might have noted, a recurrent element in problem-solving is making usefull progress to generate confidence that you will eventually complete the work. Beginning with what you already know, you gain confidence and momentum towards your goal. Differently. As the previous real demonstrated restating of problem can get useful results in certain circumstances. Stating a problem in a different way or using your language can make it easier to process of restating of problem can be compared to climbing up a mountain. Before beginning your journey. Why not explore the mountain from multiple different perspectives to see if there's an easier pop-up. Restatement can review that the goal was not what we thought it was. Thinking differently and restating are Problem is a powerful tool, especially when it comes to solving difficult programming tasks. It might not help you in writing actual code, but just like in the previous riddle, it will definitely help you in understanding the problem and come to a solution much faster. The experiment. Sometimes when nothing really works the way you want to, it's best to try new things out and see what happens. However, it is important to note that experimenting is not the same as guessing. Guessing is the same as typing in some code and hoping that it works. Experimenting, or the other hand means that you have a regulated process where you make a guess about what will happen because specific code is executed. Then you test it to determine whether your guess is true or not. Just like a researcher, you will be able to learn from two observations you made and use that knowledge to further resolve the initial problem. Motivation. And last but not least, you have to stay motivated. Frustration is totally normal. You have to accept it. Easier said than done, right? Try to remember first that you are doing things that not everyone is capable of. You might not manage to deal with the problem at hand right now. But it's okay. You can fail. Don't necessarily see failure as a bad thing. It's just an opportunity to do better next time. You can view frustration as a sign that you're getting outside of your comfort zone. If you want to learn stuff, you will encounter problems and most probably gets stuck at some point. But in the end, you will get always. The most classic advice for dealing with frustration is to do something else. It doesn't mean you're avoiding the problem. You will have to come back to it eventually. The goal is to give it a break. Thinking for hours about the Problem tires you might, which is why you need time to make sense of the information and process it. Forcing you mind to continue to work out of desperation of pride will just have the effect of weakening it even more. You have to think of your brain as a muscle and let it rest. So take a break for poor yourself a cup of coffee or tea and just relax for a bit. Then try to tackle the problem again. It's solve it by applying the knowledge you gain today. Stay motivated 6. Obstacles on your journey: Obstacles on your journey. Now that you have gained a small grace into the world of problem-solving to want to see if you can apply your knowledge and solve the following two problems. Pascal's triangle. Imagine you are given a triangle which consists of six rows, which looks as follows. To task is now to find out what the next line will look like. As a small hint, Try to solve the problem with the seven steps of problem solving process and create an action plan. Drift is strategies to learn today. Pause this video for a few minutes and come back when you're ready. Since some might have difficulties in Solving Pascal's triangle, let us solve this step-by-step. To make it easier, we will write down each step until refined the hints that helps us. Number one, define the problem. In this case, problem is that we don't know the pattern of the triangle law. The next slide, number to define the goals. Simply said, our goal is to find the pattern of the triangle to solve the next line. Number three. Clarification. Is there any data available that might help us solving the problem? By having a closer look at the triangle, we see that the edges are always wants inside however, is growing with a random pattern. So we might for now just assume that the edges are always going to be want number for root cause. Well, since it's a logical problem, the root cause of the problem is the mathematical properties, numbers, interrelationships. So in short, the root cause of the problem with Pascal's triangle is that it requires a good understanding of basic mathematical concepts and some practice in order to fully understand and use it effectively. Since this is going to fall down into mathematics, we will stop here for now. Number five, action plan. Now it's time for us to solve this problem by applying excellent step-by-step. In this case, we could use one of the strategies will learned earlier, like divide and conquer. By dividing the triangle into smaller triangles, might be able to find some hidden information about this problem. For this, we could start with the smallest triangle that could be useful to us. Plan for now is to add the next slide, see what happened, and think of how the next line is dependent on the previous one. Number six, execute and evaluate. Let's add another line. What do we see? Observe the pattern of Pascal's triangle 1331. Notice that once are at the edges with two times three in the middle. Taught in the previous line, we see two in the middle and once at the edges. How do they relate? Let's expand it by another line. We see 14641. If we have a closer look at the triangle, we see in the third row a two in the middle, in the fourth row, in the middle, and in the last row, 464. Did you notice something? Values at the edges summer grow linearly with each edit line. This as if some constant number is edit, where the constant vector is always one. But wait, what if we take the values of the previous rules counted together? If we count one plus three together and free plus three, and again, three plus one, then this would result in the middle values for six for at the edges stay the same. This is exactly the fifth line. Okay, Now let's try out another line. Let's say it just take the values of one. Then one plus four is 54, plus six is 106, plus four is ten. Plus one is five. This results in the next line being 15101051. If we compare it to the actual triangle, it perfectly matches the sixth line. We have it solution to Pascal's triangle. We only have to add the values from the previous lines together to get the next line. Okay? This brings us to the next point. Improve continuously. Don't forget to always learn and improve from your mistakes. Does your action plan work? If so, why and how did you come up with it? If both adapt your plan and try different strategies. By just sticking to our problem-solving process and using some simple strategies, you are able to solve this rather complicated problem. Now trial to fix, you have learned on the next and last obstacles. Good luck. The game of sudoku. Moving on, you might know the next problem. The sudoku game is a very popular game and often appears in newspapers, magazines, and other places. Currently multiple different versions of this game exists. However, we will for now stick to the traditional ones. The issue is as follows. A nine by nine grid is partially filled with single digits ranging 1-9 at the player must fill in the empty squares. Why sticking to a particular routes? Cruel one. A digit is only allowed to appear once in each row. To a digit is only allowed to appear once in each Columbia. Cool free. A digit is only allowed to appear once in each indicated three-by-three region. Now let's have a look at the sudoku puzzle itself. Okay, what do we see? You see that currently 36 squares are numbered, so only 45 remains. The question always, which squares should we attempt to fill in first? Having a closer look that currently the freeway pre area in the middle has already eight out of nine values. So they can only be one missing value, which is seven. After placing that value, do you notice the values in the center most column? Seven out of nine squares have been filled, leaving only two to be filled. It must contain a value that isn't already in the Columbia. The two missing numbers of free at night. Despite the constraint on this column, three is already present in the first row, and nine is already present in the seventh row. Due to the row constraints, the third row of the middle column should contain nine and the seventh row should contain three. Now that we have filled in some values, it's your turn to give it a try. Take your time with this task. Remember, the key is to look for squares with the fewest possible values a. Duly just want. Once you have completed the exercise, you can check your solutions using the solutions provided in our extra materials. 7. How are Problem Solving and Programming related?: How are problem-solving and Programming related? After overcoming the obstacles on your journey? Might be wondering how problem-solving and programming are interconnected and why we have created this course in the first place. Think of programming as a box that contains two smaller boxes within it. The first box represents problem-solving. By the second box represents coding. When you're faced with a programming problem, the first step is to solve the problem itself by coming up, plan at a possible solution. For instance, let's say you want to write a program that searches through all the files on your computer and lists every picture in the folder, how would you go about it? What problem-solving skills would you need to apply? The solid plan with code will be ineffective. Programming is a powerful tool that empowers you to solve complex problems, automate processes, and achieve much more. Just imagine the satisfaction of creating a program that source or real-world problem, saving time and effort. The same principle applies when working in the pit of Artificial Intelligence. It's not just about the code spread of the problem-solving skills of an AI developer. It's how they approach problems and how they view them from different perspectives. I should assist humans by automating mundane tasks are replacing humans in dangerous ones. In summary, problem-solving and programming are closely intertwined. As Programming is essentially a form of problem-solving. It involves identifying a problem, breaking it down into smaller, manageable subproblems. Then using Algorithms and logic to create a solution that we have covered everything in this course. Let's have a brief recap in the next chapter. 8. What you have learned: What do you have learned? We first introduced you to problem-solving in general. Why you needed at how the problem-solving process works. Afterwards, we solve together the riddle of the cat to bird and corn. Then we went through some problem-solving strategies that could help you to solve problems much faster. Next on your journey, we're to obstacles that you had to overcome with the skills you learned early on. After overcoming them, we explained the relation of programming and problem-solving. Now that you have finished everything to wish you good luck on your journey, stay motivated