0 1 00:00:00,310 --> 00:00:01,080 All right guys. 1 2 00:00:01,090 --> 00:00:03,180 It's Angela from The App Brewery again. 2 3 00:00:03,180 --> 00:00:09,510 So at this stage I'm presuming that you've probably at some point in your life done a tutorial or a 3 4 00:00:09,510 --> 00:00:16,470 lesson somewhere else out there on the Internet and inevitably at some point you'll probably get stuck 4 5 00:00:16,530 --> 00:00:17,460 on a problem. 5 6 00:00:17,460 --> 00:00:22,890 Now I spend a lot of time thinking about how I can make the course such that you get stuck less often 6 7 00:00:23,070 --> 00:00:28,170 but with programming it’s almost a core part of the learning process that you do get stuck and you get 7 8 00:00:28,170 --> 00:00:29,540 yourself unstuck. 8 9 00:00:29,550 --> 00:00:34,710 So I tend to find that when I get stuck on something I try to see it as a challenge because usually 9 10 00:00:34,710 --> 00:00:40,800 when I solve it and when I figure it out there is a huge sense of satisfaction and there's usually some 10 11 00:00:40,800 --> 00:00:42,900 associated growth. 11 12 00:00:42,900 --> 00:00:49,530 Now having taught over 100000 students online and offline I've seen people struggle in lots of different 12 13 00:00:49,530 --> 00:00:50,120 ways. 13 14 00:00:50,220 --> 00:00:55,740 And I just wanted to summarize the steps that you can go through when you get stuck on any sort of programming 14 15 00:00:55,740 --> 00:01:01,090 problem and the framework that you can use to get yourself unstuck in the quickest way possible. 15 16 00:01:01,110 --> 00:01:07,420 Now the first step is to evaluate what is the expectation versus what is the reality. 16 17 00:01:07,440 --> 00:01:14,120 What did you expect your code to do or what did you expect to happen and what actually happened. 17 18 00:01:14,130 --> 00:01:16,310 So every time you run your code, 18 19 00:01:16,470 --> 00:01:22,860 think to yourself what do I expect to happen and then see what really happened and try to figure out 19 20 00:01:22,980 --> 00:01:24,910 what is causing the difference. 20 21 00:01:24,920 --> 00:01:30,870 Now while you're writing code it's inevitable that you will end up creating errors. And this can happen 21 22 00:01:30,870 --> 00:01:35,790 when you've made a mistake or spelled something wrong or even when you're just trying to install a piece 22 23 00:01:35,790 --> 00:01:42,270 of software. And those errors are usually accompanied by bits of text or the error message. And you can 23 24 00:01:42,270 --> 00:01:45,170 see this in your browser or in your code editor. 24 25 00:01:45,390 --> 00:01:50,450 And most of the time it might seem like these error messages are written by aliens because they don't 25 26 00:01:50,460 --> 00:01:51,820 seem to make any sense. 26 27 00:01:51,960 --> 00:01:59,190 But you can quite easily figure out the human meaning in English for it by just putting it into Google 27 28 00:01:59,490 --> 00:02:05,310 and you'll usually get lots of different answers as to what the cause might be and how you can fix the 28 29 00:02:05,310 --> 00:02:06,060 problem. 29 30 00:02:06,090 --> 00:02:11,190 And one of the web sites, if you don't already know about it, it's going to shortly become your very best 30 31 00:02:11,190 --> 00:02:13,900 friend, and that is stackoverflow.com. 31 32 00:02:13,950 --> 00:02:19,620 So I recommend searching for any errors that you come across into Google and then heading towards the 32 33 00:02:19,620 --> 00:02:22,530 Stack Overflow web sites that come up as a result. 33 34 00:02:22,560 --> 00:02:26,450 And this is exactly what real life developers do every single day. 34 35 00:02:26,610 --> 00:02:32,820 And in fact I've worked in teams where we will all just go to the pub and have a drink and end the day 35 36 00:02:32,910 --> 00:02:35,100 if Stack Overflow is no longer working. 36 37 00:02:35,100 --> 00:02:38,600 So it's all a part of the developer workflow. 37 38 00:02:38,610 --> 00:02:44,970 Now if that still doesn't help, or you’re confused by the results that you're getting back, then it's a good 38 39 00:02:44,970 --> 00:02:51,750 idea to re-watch some of the video up to the point when the code started breaking or it started doing 39 40 00:02:51,750 --> 00:02:58,200 something unexpected, because in the videos there are always step by step instructions and it's really 40 41 00:02:58,200 --> 00:03:04,010 important that you check to make sure that you haven't made a typo here or there or you haven't capitalized 41 42 00:03:04,010 --> 00:03:09,240 something that shouldn't be capitalized and just re-watch the video right before when your code broke 42 43 00:03:09,420 --> 00:03:11,960 in order to try and figure out what might have gone wrong. 43 44 00:03:11,970 --> 00:03:19,200 Now the next step is you can check your code against my code. At the end of every tutorial module, 44 45 00:03:19,200 --> 00:03:26,610 there is a completed project that you can download, and you can scroll through the completed code, compare 45 46 00:03:26,610 --> 00:03:33,450 it to your own, and see if there were any typos, any errors, any mistakes, and if it helps you can even 46 47 00:03:33,450 --> 00:03:39,810 copy and paste sections from the completed code into your own module just to see if that line or that 47 48 00:03:39,810 --> 00:03:42,530 paragraph helped to fix the issue. 48 49 00:03:42,660 --> 00:03:47,190 And if that still doesn't solve it then the next step is head towards the Q & A. 49 50 00:03:47,610 --> 00:03:55,620 So, underneath every lesson there is a Q & A section, and it's a good idea to check in the lesson when 50 51 00:03:55,620 --> 00:04:03,060 your app has broken to see whether if anybody else had similar issues to you. And, if you can't find anybody 51 52 00:04:03,060 --> 00:04:10,260 with the same issues, then ask in the Q & A. But make sure that you ask your question in the lesson 52 53 00:04:10,500 --> 00:04:15,810 where you're having the issue. That way it makes it much easier for other students to be able to learn 53 54 00:04:15,810 --> 00:04:21,450 from your mistakes and also for me to be able to quickly identify what the problem might be. 54 55 00:04:21,450 --> 00:04:27,630 And if you have a question about anything in the tutorial it's a good idea just to include the timestamp 55 56 00:04:27,960 --> 00:04:33,810 at which it occurs in the video so I can quickly watch it and figure out what you're referring to so 56 57 00:04:33,810 --> 00:04:35,700 that I can better answer your questions. 57 58 00:04:35,700 --> 00:04:41,280 Now, when you are asking questions in the Q & A, the way to get the most helpful responses and solutions 58 59 00:04:41,490 --> 00:04:43,480 is by following a four step approach. 59 60 00:04:43,500 --> 00:04:47,190 So firstly, tell us, to myself and other students, 60 61 00:04:47,190 --> 00:04:49,570 what did you expect to happen, then 61 62 00:04:49,620 --> 00:04:57,060 what actually happened, and then include a screenshot of all of your code that corresponds to this situation, 62 63 00:04:57,360 --> 00:05:03,010 and then include a screenshot of the debug console that includes any errors, 63 64 00:05:03,010 --> 00:05:05,620 if there were any errors or if your app has crashed. 64 65 00:05:05,620 --> 00:05:11,290 Now, to take a screenshot of part of the screen in Windows, all you have to do is hold down the Windows 65 66 00:05:11,290 --> 00:05:17,320 key, Shift and S, and then you'll get these little crosshairs show up and you'll be able to take a section 66 67 00:05:17,350 --> 00:05:23,410 of your screen as a screenshot, and, once you let go of the mouse, it will save this to your clipboard ready 67 68 00:05:23,410 --> 00:05:26,710 to be pasted into Paint or any other application. 68 69 00:05:27,280 --> 00:05:33,040 If that doesn't work for you be sure to just Google how to take a screenshot of part of the screen and 69 70 00:05:33,040 --> 00:05:35,660 you'll see lots of videos that can help you with this as well. 70 71 00:05:35,680 --> 00:05:41,380 If you're using a Mac computer, on the other hand, this shortcut is gonna save you a lot of time, and it 71 72 00:05:41,380 --> 00:05:47,140 might be worth noting this down in your notebook. When you use Command, Shift and 4, you get this little 72 73 00:05:47,140 --> 00:05:53,350 crosshair that shows up and you can start clicking and dragging the area that you want to take a screenshot 73 74 00:05:53,350 --> 00:06:00,760 with and it will save it automatically to your desktop, which then you can upload into the Q & A area 74 75 00:06:00,790 --> 00:06:01,910 for the lecture. 75 76 00:06:01,910 --> 00:06:09,220 So that's just a brief step by step process on what to do and how to get help when you get stuck and 76 77 00:06:09,220 --> 00:06:12,610 it's important to remember that everybody gets stuck sometimes. 77 78 00:06:12,610 --> 00:06:19,060 I've spent days trying to find a bug in my code and it turns out to be just a comma that was misplaced 78 79 00:06:19,330 --> 00:06:26,170 or a semicolon that was accidentally deleted, and one of the greatest joys, for me anyways, is figuring 79 80 00:06:26,170 --> 00:06:32,980 out these problems and fixing them. So don't worry if you do get stuck. Everybody will try to help you. 80 81 00:06:33,100 --> 00:06:38,470 And just remember that getting stuck and solving it is all a part of the learning journey.