1

00:00:00,390  -->  00:00:01,990
Hello there you beautiful people.

2

00:00:02,010  -->  00:00:05,580
And in this lecture I'm very excited to share with you a secret.

3

00:00:05,590  -->  00:00:07,800
They're all top programmers now.

4

00:00:08,310  -->  00:00:11,800
And it's one that is going to save you countless hours of headache.

5

00:00:11,800  -->  00:00:16,830
Now this isn't some super cool new tool or a magic button you press that invents the next Facebook.

6

00:00:16,830  -->  00:00:21,420
But it's a really practical piece of advice that you can use all the time.

7

00:00:21,420  -->  00:00:22,900
So what is this secret.

8

00:00:23,130  -->  00:00:28,860
Well one of the best kept secrets is knowing how to ask great questions.

9

00:00:28,860  -->  00:00:34,830
Now I know that's really cheesy but everyone gets questions when programming no matter how awesome or

10

00:00:34,830  -->  00:00:39,990
experienced they are asking questions is really just a fact of life for a programmer and learning how

11

00:00:39,990  -->  00:00:41,620
to ask great questions.

12

00:00:41,630  -->  00:00:48,030
One play to fix your problems much faster and save you loads of time and headache in the process.

13

00:00:48,060  -->  00:00:54,000
If you put in a little extra energy up front it will continue to save you time for years and years to

14

00:00:54,000  -->  00:00:54,350
come.

15

00:00:54,360  -->  00:00:56,640
When you get stuck and you always will.

16

00:00:56,670  -->  00:01:02,220
Trust me a massive benefit you have from signing up to this course is a part of a vibrant and collaborative

17

00:01:02,220  -->  00:01:07,740
community of students just like you that are facing very similar challenges and very similar successes

18

00:01:07,740  -->  00:01:08,360
.

19

00:01:08,400  -->  00:01:12,960
So in this community we're all working together as a team to help each other succeed and have fun learning

20

00:01:12,960  -->  00:01:17,860
Python and be around in the forms of macewan sections as much as I possibly can to help out.

21

00:01:18,090  -->  00:01:22,350
And you may as well make use this community in order to create a more fun and fast paced learning via

22

00:01:22,440  -->  00:01:25,450
for everyone and save yourself time when you get stuck.

23

00:01:25,560  -->  00:01:31,290
So in this lecture we're going to go over the process for asking a great question in the course discussion

24

00:01:31,290  -->  00:01:36,900
forums and by the end of this lecture you have a really rigorous and rich process for asking programming

25

00:01:36,900  -->  00:01:42,240
related questions that will serve you excellently in your future as a Python programmer on this course

26

00:01:42,300  -->  00:01:43,650
and beyond.

27

00:01:43,740  -->  00:01:48,320
I've put a link to a downloadable version of this process in the notes for this lecture.

28

00:01:48,360  -->  00:01:51,170
So go ahead and open that and make sure that you have it open.

29

00:01:51,180  -->  00:01:56,550
As you follow through with this lecture also make sure you use it in the future when you ask a question

30

00:01:56,550  -->  00:01:59,790
in this course because it'll make everything go much more smoothly.

31

00:01:59,790  -->  00:02:03,310
Trust me.

32

00:02:03,330  -->  00:02:05,940
So how do you ask questions in the forum.

33

00:02:05,990  -->  00:02:07,920
We head on over to the course dashboard.

34

00:02:07,920  -->  00:02:09,690
You'll see a tall bar at the top.

35

00:02:09,690  -->  00:02:11,230
The looks something like this.

36

00:02:11,670  -->  00:02:17,650
And even here you'll see a certain tab that says Q and A which stands for questions and answers.

37

00:02:17,670  -->  00:02:23,490
So click on map and it will open up the forums in here you'll be able to search for people's questions

38

00:02:23,490  -->  00:02:27,850
using this text box but you'll also be able to ask new questions of your own.

39

00:02:28,050  -->  00:02:29,280
So let's ask a question.

40

00:02:29,280  -->  00:02:33,420
By clicking the Ask a new question button over here in the beautiful green.

41

00:02:33,980  -->  00:02:38,640
If you have the checklist downloaded for this lecture from the lecture downloads which I highly encourage

42

00:02:38,640  -->  00:02:39,370
you to do.

43

00:02:39,450  -->  00:02:45,330
You'll see that step number one for creating a great question is to have a great question title any

44

00:02:45,330  -->  00:02:46,160
new question.

45

00:02:46,170  -->  00:02:53,400
The first thing you need to add in the question title is The Help tag to help tag looks like this.

46

00:02:53,580  -->  00:02:58,930
You open up some square brackets type in the word help and close the square brackets.

47

00:02:59,910  -->  00:03:04,770
What this does is it let everyone know that the question still hasn't been answered and that you'd still

48

00:03:04,770  -->  00:03:08,490
like some help when your question has been solved.

49

00:03:08,490  -->  00:03:12,980
Make sure to change the help tag to a solved tag that looks like this.

50

00:03:12,990  -->  00:03:17,970
You basically replace the word help with the word solved so that we all know that it's been solved and

51

00:03:17,970  -->  00:03:18,660
can look at it.

52

00:03:18,690  -->  00:03:20,780
If we have a similar problem next time.

53

00:03:20,940  -->  00:03:25,860
This will also stop you getting notifications that you don't need anymore when making you course title

54

00:03:25,860  -->  00:03:26,040
.

55

00:03:26,040  -->  00:03:30,860
Use a clear and descriptive title that makes it very clear what the issue is.

56

00:03:30,930  -->  00:03:32,540
The clearer the better.

57

00:03:32,550  -->  00:03:36,630
This is the most critical thing because if it's really easy to see what the problem is it will be much

58

00:03:36,630  -->  00:03:38,530
faster for people to figure out what's wrong.

59

00:03:38,580  -->  00:03:41,810
Whether they can help and actually help you solve the problem faster.

60

00:03:42,240  -->  00:03:46,350
Let's say our question was that values weren't being imprinted to the screen when we were running our

61

00:03:46,350  -->  00:03:53,850
script we might type a question that looks something like this would start with our help tag and then

62

00:03:53,850  -->  00:04:01,020
type answer not being shown on screen when running Python script.

63

00:04:01,260  -->  00:04:05,850
Now down here in this box we need to add a description for our problem so we can give it a bit more

64

00:04:05,850  -->  00:04:08,020
context.

65

00:04:08,130  -->  00:04:14,010
You must include these five steps in the description to have an excellent question.

66

00:04:14,430  -->  00:04:16,740
The first one is the observed behavior.

67

00:04:16,950  -->  00:04:19,230
What did you actually see happen.

68

00:04:19,860  -->  00:04:22,600
The second one is the expected behavior.

69

00:04:22,650  -->  00:04:25,630
What should have happened and what did you expect.

70

00:04:25,770  -->  00:04:31,200
The third one is a link to the code you used which will be using an external service for this purpose

71

00:04:31,200  -->  00:04:32,340
.

72

00:04:32,370  -->  00:04:37,450
The fourth one is where you think the problem might be like in a what line you think might be broken

73

00:04:37,460  -->  00:04:37,980
.

74

00:04:38,310  -->  00:04:42,600
And the fifth one is a list of all the things you've tried already.

75

00:04:42,930  -->  00:04:49,980
On top of all this include other relevant information such as errors in warning text version info and

76

00:04:50,030  -->  00:04:52,140
screenshots where required.

77

00:04:52,920  -->  00:04:59,460
So let's go through the process of creating a description by using our checklist according to our checklist

78

00:04:59,460  -->  00:04:59,660
.

79

00:04:59,730  -->  00:05:06,870
The first thing we need to do is add an observed behavior so the observed behavior might be something

80

00:05:06,870  -->  00:05:09,620
like script run successfully.

81

00:05:09,660  -->  00:05:17,600
But the answer doesn't show up r.k. Call the next thing we will need to do is to add our expected behavior

82

00:05:18,240  -->  00:05:20,810
i.e. what we wanted to happen.

83

00:05:22,080  -->  00:05:24,930
So what we might write would be.

84

00:05:24,930  -->  00:05:29,870
I expected the answer to to show up on the screen when I ran the script.

85

00:05:30,780  -->  00:05:35,070
Okay now we need to add the link to our code for this.

86

00:05:35,070  -->  00:05:40,880
We're going to use an external and totally amazing service called gist.

87

00:05:41,220  -->  00:05:44,680
So what we need to do is head over to gist.

88

00:05:44,790  -->  00:05:46,620
Get Herb dot com.

89

00:05:47,010  -->  00:05:49,780
I'll put a link that you can click on in the US in the lecture.

90

00:05:50,310  -->  00:05:52,710
Now you don't need an account for this.

91

00:05:52,710  -->  00:05:55,820
Let's add a title for a file called problem dog.

92

00:05:55,850  -->  00:05:56,870
P Y.

93

00:05:56,880  -->  00:06:03,480
And copy and paste the code into it will notice that Gist does very nice highlighting for us.

94

00:06:03,510  -->  00:06:08,520
And this depends on the language we use Python would have different highlighting to Java for example

95

00:06:10,360  -->  00:06:12,900
no click create secret gist.

96

00:06:13,280  -->  00:06:14,330
Well you've done that.

97

00:06:14,400  -->  00:06:17,120
Just copy and paste the link at the top here.

98

00:06:17,190  -->  00:06:19,320
This is the link to your jest.

99

00:06:19,320  -->  00:06:22,780
Anyone with that link can see the code and help you out.

100

00:06:23,370  -->  00:06:27,350
So will copy and paste that into our question.

101

00:06:28,740  -->  00:06:32,650
No we need to say where we think the problem might be.

102

00:06:33,000  -->  00:06:36,930
There must be something different between the script and using the shell.

103

00:06:36,960  -->  00:06:38,340
It worked in the shell.

104

00:06:38,400  -->  00:06:45,590
YS wanted to hold the issue I think is something missing that maybe some of them would write.

105

00:06:45,600  -->  00:06:48,300
Next step is a list of things we've tried already.

106

00:06:48,310  -->  00:06:49,640
While we didn't try too much.

107

00:06:49,800  -->  00:06:53,040
So I've tried running the script with different numbers.

108

00:06:53,100  -->  00:06:56,200
It didn't make any difference.

109

00:06:56,250  -->  00:07:00,120
Finally we need to add any extra information that we have error messages.

110

00:07:00,150  -->  00:07:01,960
Well there's no error message.

111

00:07:02,460  -->  00:07:08,340
Version number in three point five point two screenshots not required.

112

00:07:08,450  -->  00:07:12,390
Now that we followed through our checklist we can post this question with confidence and know that it

113

00:07:12,390  -->  00:07:14,280
is an excellent ask question.

114

00:07:14,280  -->  00:07:18,360
It's really easy to understand and is therefore going to be solved as quickly as possible.

115

00:07:18,360  -->  00:07:19,590
This is well worth the effort.

116

00:07:19,590  -->  00:07:22,030
Believe me there's an added benefit.

117

00:07:22,050  -->  00:07:27,190
It's very likely that you'll probably have solved the problem whilst asking the question which saves

118

00:07:27,210  -->  00:07:29,820
everyone loads of time.

119

00:07:29,820  -->  00:07:31,720
By the way if someone does help you out.

120

00:07:31,740  -->  00:07:35,400
Feel free to keep in touch with them and try to build a friendship to help each other out in the future

121

00:07:35,420  -->  00:07:35,670
.

122

00:07:35,910  -->  00:07:40,410
That kind of study body situation is great for making new friends and it really helps you learn much

123

00:07:40,410  -->  00:07:43,150
better when you can share ideas with other people.

124

00:07:43,200  -->  00:07:45,050
If you do make friends with someone on the course.

125

00:07:45,060  -->  00:07:49,020
Could you please send a message to me about it you've made me really happy to see that he would really

126

00:07:49,020  -->  00:07:51,240
really make my day anyway.

127

00:07:51,450  -->  00:07:54,760
Let's say I'm browsing the forum and I see your question.

128

00:07:55,170  -->  00:07:59,270
I recognize that you need help by seeing the help tag like the legend that I am.

129

00:07:59,280  -->  00:08:01,800
I come over to help.

130

00:08:01,800  -->  00:08:05,240
The question is clear and I immediately understand the problem.

131

00:08:05,370  -->  00:08:08,340
I read more and see that you're using a script.

132

00:08:08,350  -->  00:08:11,200
Check out the code and then it hits me.

133

00:08:11,220  -->  00:08:14,150
You forgot to use the print function.

134

00:08:14,310  -->  00:08:18,460
I type a message saying put the additions inside the print function.

135

00:08:18,480  -->  00:08:21,040
That should solve your problem.

136

00:08:21,120  -->  00:08:23,680
You try it out and indeed it works.

137

00:08:23,730  -->  00:08:25,500
You can mark the question is solved.

138

00:08:25,500  -->  00:08:30,410
So if anyone else has this problem they can find it and solve it too nerd of politeness.

139

00:08:30,420  -->  00:08:34,800
I send a thank you message to the helper and ask if they want to keep in touch.

140

00:08:34,830  -->  00:08:35,600
There we are.

141

00:08:35,790  -->  00:08:41,100
That's how to ask and answer questions in this course.

142

00:08:41,130  -->  00:08:42,220
There we have it.

143

00:08:42,210  -->  00:08:46,820
We've asked a very well thought out question and got an answer to our problem as fast as possible.

144

00:08:47,190  -->  00:08:50,850
Possibly maybe even made a new friend a knowing had as great questions.

145

00:08:50,850  -->  00:08:56,280
Is a secret of all the top programmers and how you have it to know that we've installed Python but introduced

146

00:08:56,280  -->  00:08:59,390
to Idol and know how to ask great questions if we get stuck.

147

00:08:59,400  -->  00:09:02,960
Were 100 percent ready to dive into the world of Python programming.

148

00:09:02,970  -->  00:09:05,310
This is where adventure truly begins.

149

00:09:05,310  -->  00:09:07,820
So buckle up and I'll see you in the next video.

