All right guys. 1
It's Angela from the brewery again. 2
So at this stage I'm presuming that you've probably at some point in your life done a tutorial or a 3
lesson somewhere else out there on the Internet and inevitably at some point you'll probably get stuck 4
on a problem. 5
Now I spend a lot of time thinking about how I can make the course such that you get stuck less often 6
but with programming, it's almost a core part of the learning process that you do get stuck and you get 7
yourself unstuck. 8
So I tend to find that when I get stuck on something I try to see it as a challenge because usually 9
when I solve it and when I figure it out there is a huge sense of satisfaction and there's usually some 10
associated growth. 11
Now having taught over 100,000 students online and offline. I've seen people struggle in lots of different 12
ways. 13
And I just wanted to summarize the steps that you can go through when you get stuck on any sort of programming 14
problem and the framework that you can use to get yourself unstuck in the quickest way possible. 15
Now the first step is to evaluate what is the expectation versus what is the reality. 16
What did you expect your code to do or what did you expect to happen and what actually happened. 17
So every time you run your code. 18
Think to yourself what do I expect to happen and then see what really happened and try to figure out 19
what is causing the difference. 20
Now with Xcode, it's very helpful in pointing out errors in your code and it almost does it too well. 21
Where it starts feeling a bit like a nagging parent. 22
It starts giving you warnings and errors. 23
"Oh you forgot to capitalize that" or "I don't know what you mean when you're writing this" but it can be 24
really helpful as well. 25
And when you get a little read error in your code it usually is accompanied by a little bit of text. 26
And this is the error message. 27
And most of the time it might seem like these error messages are written by aliens because they don't 28
seem to make any sense. 29
But you can quite easily figure out the human meaning in English for it by just putting it into google 30
and you'll usually get lots of different answers as to what the cause might be and how you can fix the 31
problem. 32
And one of the Web sites if you don't already know about it it's going to shortly become your very best 33
friend and that is stackoverflow.com. 34
So I recommend searching for any errors that you come across into Google and then heading towards the 35
Stack Overflow websites that come up as a result. 36
And this is exactly what real life developers do every single day. 37
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 38
if stack overflow is no longer working. 39
So it's not cheating. 40
It's all a part of the developer workflow. 41
Now if that still doesn't help or you're confused by the results that you're getting back then it's a good 42
idea to re watch some of the video up to the point when the code started breaking or it started doing 43
something unexpected because in the videos there are always step by step instructions and it's really 44
important that you check to make sure that you haven't made a typo here or there or you haven't capitalized 45
something that shouldn't be capitalized and just re watch the video right before when your code broke 46
in order to try and figure out what might have gone wrong. 47
Now the next step is you can check your code against my code at the end of every tutorial module. 48
There is a completed project that you can download and you can scroll through the completed code compare 49
it to your own and see if there were any typos any errors any mistakes and if it helps you can even 50
copy and paste sections from the completed code into your own module just to see if that line or that 51
paragraph helped to fix the issue. 52
And if that still doesn't solve it then the next step is head towards the Q & A. 53
So underneath every lesson, there is a Q & A section and it's a good idea to check in the lesson when 54
your app has broken to see whether if anybody else had similar issues to you and if you can't find anybody 55
with the same issues then ask in the Q & A. But make sure that you ask your question in the lesson 56
where you're having the issues that way it makes it much easier for other students to be able to learn 57
from your mistakes and also for me to be able to quickly identify what the problem might be. 58
And if you have a question about anything in the tutorial it's a good idea just to include the timestamp 59
at which it occurs in the video so I can quickly watch it and figure out what you're referring to so 60
that I can better answer your questions. 61
Now when you are asking questions in the Q & A the way to get the most helpful responses and solutions 62
is by following a four step approach. 63
So firstly tell us - so myself and other students - 64
What did you expect to happen? Then, 65
what actually happened? And then include a screenshot of all of your code that corresponds to this situation 66
and then include a screenshot of the debug console that includes any errors. 67
If there were any errors or if your app has crashed. 68
So in order to take screenshots on the Mac this shortcut is gonna save you a lot of time and it might 69
be worth noting this down in your notebook when you use command + shift + 4 you get this little crosshair 70
that shows up and you can start clicking and dragging the area that you want to take a screenshot with 71
and it will save it automatically to your desktop which then you can upload into the Q & A area for 72
the lecture and the parts that are really helpful to help you diagnose what went wrong. 73
Are the code that you've written and also whatever is written in the debug console. 74
So this is the part that's in the bottom half of your screen. 75
And this is super helpful for trying to figure out what happen especially if you scroll right to the 76
top as usually where the most helpful messages are. 77
So that's just a brief step by step process on what to do and how to get help when you get stuck and 78
it's important to remember that everybody gets stuck sometimes. 79
I've spent days trying to find a bug in my code and it turns out to be just a comma that was misplaced 80
or a semicolon that was accidentally deleted. And one of the greatest joys - for me anyways - is figuring out 81
these problems and fixing them. So don't worry if you do get stuck. Everybody will try to help you. 82
And just remember that getting stuck and solving it is all a part of the learning journey.