1 00:00:00,480 --> 00:00:03,480 foreign 2 00:00:08,639 --> 00:00:14,280 welcome back to education I hope you had 3 00:00:11,700 --> 00:00:18,539 a nice little break there we now have 4 00:00:14,280 --> 00:00:20,699 Renee Noble and Renee Noble is a many 5 00:00:18,539 --> 00:00:22,619 many things she spends all of her time 6 00:00:20,699 --> 00:00:24,539 doing educationally stuff and community 7 00:00:22,619 --> 00:00:26,699 building stuff and also working at 8 00:00:24,539 --> 00:00:29,580 Microsoft and I think she has found the 9 00:00:26,699 --> 00:00:31,439 trick that finds more than 24 hours in a 10 00:00:29,580 --> 00:00:35,760 day because that's the only possible way 11 00:00:31,439 --> 00:00:37,980 she can do all of those things so she as 12 00:00:35,760 --> 00:00:39,239 a Microsoft cloud Advocate spends her 13 00:00:37,980 --> 00:00:41,040 time teaching the community Through 14 00:00:39,239 --> 00:00:43,680 Global events live streams and Community 15 00:00:41,040 --> 00:00:45,420 workshops and then is also the national 16 00:00:43,680 --> 00:00:48,180 director of the girls Programming 17 00:00:45,420 --> 00:00:49,800 Network which she's been working on and 18 00:00:48,180 --> 00:00:51,420 I've been a part of for nine years we've 19 00:00:49,800 --> 00:00:54,600 known each other a while now 20 00:00:51,420 --> 00:00:58,800 um and that molds not only High School's 21 00:00:54,600 --> 00:01:01,320 aged girls in across Australia now but 22 00:00:58,800 --> 00:01:03,300 also the tutors that tutor those girls 23 00:01:01,320 --> 00:01:04,979 get molded by it as well and there's a 24 00:01:03,300 --> 00:01:08,640 whole network and Community thing going 25 00:01:04,979 --> 00:01:10,860 on there and she's also teaching at plc 26 00:01:08,640 --> 00:01:14,580 Sydney and has her own startup I mean 27 00:01:10,860 --> 00:01:16,200 honestly on honestly so we are going to 28 00:01:14,580 --> 00:01:17,700 learn from Renee today and she's going 29 00:01:16,200 --> 00:01:20,759 to be talking about getting get yourself 30 00:01:17,700 --> 00:01:23,580 a leg up for student projects 31 00:01:20,759 --> 00:01:25,920 thank you 32 00:01:23,580 --> 00:01:27,479 Amanda I know why my MC's uh worst 33 00:01:25,920 --> 00:01:29,700 nightmare when it comes to introductions 34 00:01:27,479 --> 00:01:31,560 what does this lady even do but yes I am 35 00:01:29,700 --> 00:01:33,720 going to help you get yourself a leg up 36 00:01:31,560 --> 00:01:35,880 with your student projects answer as a 37 00:01:33,720 --> 00:01:37,320 teacher educator or just maybe yourself 38 00:01:35,880 --> 00:01:40,320 maybe we'll pick something up you just 39 00:01:37,320 --> 00:01:42,420 want to use in your own time I am uh 40 00:01:40,320 --> 00:01:44,220 Renee novel I'm A Cloud Advocate um feel 41 00:01:42,420 --> 00:01:46,560 free to reach out to me my web addresses 42 00:01:44,220 --> 00:01:48,060 my website's almost these slides as well 43 00:01:46,560 --> 00:01:50,280 and those just like a contact me thing 44 00:01:48,060 --> 00:01:51,600 at the bottom or hit me up on the 45 00:01:50,280 --> 00:01:54,180 Twitter and I just signed up for 46 00:01:51,600 --> 00:01:56,640 Mastodon so it's the same handle now uh 47 00:01:54,180 --> 00:01:58,740 so uh but I am Renee and I do many 48 00:01:56,640 --> 00:02:00,479 things I have many jobs and they all 49 00:01:58,740 --> 00:02:02,579 basically I'll do basically anything if 50 00:02:00,479 --> 00:02:04,860 it's some combination of tech education 51 00:02:02,579 --> 00:02:06,840 and community and that's how I've 52 00:02:04,860 --> 00:02:07,560 managed to have several jobs and I you 53 00:02:06,840 --> 00:02:10,140 know 54 00:02:07,560 --> 00:02:12,060 it's even based I live and eat even 55 00:02:10,140 --> 00:02:13,860 based offer those things that are fun to 56 00:02:12,060 --> 00:02:16,140 do and I love doing them are my main 57 00:02:13,860 --> 00:02:17,280 kind of job that I'm doing and what I'm 58 00:02:16,140 --> 00:02:20,160 going to talk to you a lot about today 59 00:02:17,280 --> 00:02:21,780 is my stuff I do at Microsoft I am a 60 00:02:20,160 --> 00:02:23,099 cloud Advocate Cloud Advocates just 61 00:02:21,780 --> 00:02:25,739 sounds like a made up name but that's 62 00:02:23,099 --> 00:02:27,180 what I am I advocate for the cloud and 63 00:02:25,739 --> 00:02:28,620 things that live on the cloud and you 64 00:02:27,180 --> 00:02:30,780 putting stuff on the cloud and the cloud 65 00:02:28,620 --> 00:02:32,760 making things good for you 66 00:02:30,780 --> 00:02:35,099 um and I get to tell cool people how to 67 00:02:32,760 --> 00:02:38,520 do cool things with Cool Tech so I'm 68 00:02:35,099 --> 00:02:40,860 going to do that now that's the plan uh 69 00:02:38,520 --> 00:02:42,180 but yes as Amanda said I do many other 70 00:02:40,860 --> 00:02:44,280 things if you've already heard a bit 71 00:02:42,180 --> 00:02:46,200 about connected code from Jack today uh 72 00:02:44,280 --> 00:02:48,840 it's good I like doing it and we help 73 00:02:46,200 --> 00:02:51,239 the kids then we've got gpn and our new 74 00:02:48,840 --> 00:02:54,480 charity Tech inclusion to conclusion 75 00:02:51,239 --> 00:02:57,060 where we are supporting uh girls women 76 00:02:54,480 --> 00:02:59,400 and gendered and minorities uh to access 77 00:02:57,060 --> 00:03:01,500 Tech education and go through that whole 78 00:02:59,400 --> 00:03:05,040 full pipeline to becoming Tech awesome 79 00:03:01,500 --> 00:03:07,080 people uh with success and support and 80 00:03:05,040 --> 00:03:09,599 happy communities along the way and also 81 00:03:07,080 --> 00:03:12,300 do a little bit teaching at PLC as well 82 00:03:09,599 --> 00:03:15,900 so you you can see I am all about tech 83 00:03:12,300 --> 00:03:19,500 education and community and yeah so 84 00:03:15,900 --> 00:03:21,780 today I've got some tech to teach you 85 00:03:19,500 --> 00:03:24,599 for teaching your community and 86 00:03:21,780 --> 00:03:26,940 hopefully it's going to be useful uh so 87 00:03:24,599 --> 00:03:28,980 today in my session I'm going to cover a 88 00:03:26,940 --> 00:03:31,860 few different areas uh first we're going 89 00:03:28,980 --> 00:03:34,379 to talk about get Friend or Foe and 90 00:03:31,860 --> 00:03:36,599 we're going to go shopping with Git I've 91 00:03:34,379 --> 00:03:38,580 got a great analogy which I love I'm 92 00:03:36,599 --> 00:03:40,260 going to share so hopefully it's going 93 00:03:38,580 --> 00:03:42,180 to help you in your teaching Endeavors 94 00:03:40,260 --> 00:03:43,980 with Git and then I'm going to talk 95 00:03:42,180 --> 00:03:46,560 about some GitHub tools for creating 96 00:03:43,980 --> 00:03:49,080 better projects that I've been trying 97 00:03:46,560 --> 00:03:50,940 out I'm going to cover a lot of pieces 98 00:03:49,080 --> 00:03:52,500 of technology today 99 00:03:50,940 --> 00:03:54,540 um which yeah they find it all just 100 00:03:52,500 --> 00:03:56,459 piled in I was like oh God there's a lot 101 00:03:54,540 --> 00:03:58,019 of stuff in here that looks a bit scary 102 00:03:56,459 --> 00:03:59,159 but I do promise they're all going to 103 00:03:58,019 --> 00:04:01,080 come together and it's going to make 104 00:03:59,159 --> 00:04:03,000 sense and it's going to work so don't 105 00:04:01,080 --> 00:04:05,340 don't be scared to add a long list of uh 106 00:04:03,000 --> 00:04:08,879 stuff that we've got going on here 107 00:04:05,340 --> 00:04:11,340 but first let's talk about git Friend or 108 00:04:08,879 --> 00:04:13,019 Foe because you know git is it's an 109 00:04:11,340 --> 00:04:14,939 interesting thing it's very useful but 110 00:04:13,019 --> 00:04:16,919 it's also sometimes intimidating so 111 00:04:14,939 --> 00:04:20,340 firstly can I get a raise of hands who 112 00:04:16,919 --> 00:04:22,560 uses gear to GitHub currently yay lots 113 00:04:20,340 --> 00:04:24,840 of people use it so I've got a friendly 114 00:04:22,560 --> 00:04:27,120 audience maybe maybe we'll find out in 115 00:04:24,840 --> 00:04:29,340 the next questions uh did you find it 116 00:04:27,120 --> 00:04:32,520 tricky to start learning git at the 117 00:04:29,340 --> 00:04:33,479 start yeah yeah a lot of people on that 118 00:04:32,520 --> 00:04:36,840 one 119 00:04:33,479 --> 00:04:39,840 uh for the people who are Educators in 120 00:04:36,840 --> 00:04:41,400 the room uh do you want to teach your 121 00:04:39,840 --> 00:04:44,460 students get 122 00:04:41,400 --> 00:04:46,919 not a lot of people some kind of hand 123 00:04:44,460 --> 00:04:48,660 waving like yes it might be useful but 124 00:04:46,919 --> 00:04:49,740 I'm very concerned about how that's 125 00:04:48,660 --> 00:04:50,880 going to go that goes to my next 126 00:04:49,740 --> 00:04:53,520 question do you think it's going to be 127 00:04:50,880 --> 00:04:56,220 hard to teach your students get yeah so 128 00:04:53,520 --> 00:04:59,220 look at their hands up again yeah so we 129 00:04:56,220 --> 00:05:00,900 there this is a kind of why I'm here to 130 00:04:59,220 --> 00:05:02,160 talk a bit about git today I love to 131 00:05:00,900 --> 00:05:04,320 keep talking about git because I'm going 132 00:05:02,160 --> 00:05:06,060 to tell you my own story first and why I 133 00:05:04,320 --> 00:05:08,580 really am passionate about helping other 134 00:05:06,060 --> 00:05:10,139 people understand git now because when I 135 00:05:08,580 --> 00:05:12,000 was getting started with coding at 136 00:05:10,139 --> 00:05:13,440 University I hadn't you know learned any 137 00:05:12,000 --> 00:05:15,120 coding while I was in high school and 138 00:05:13,440 --> 00:05:16,860 accidentally came across some people who 139 00:05:15,120 --> 00:05:18,360 decided 11 o'clock at one night living 140 00:05:16,860 --> 00:05:19,979 in college that it would be really fun 141 00:05:18,360 --> 00:05:21,660 to teach Renee how to code and that's 142 00:05:19,979 --> 00:05:23,460 how I end up at encoding but at some 143 00:05:21,660 --> 00:05:25,160 point in your coding Journey you will 144 00:05:23,460 --> 00:05:27,180 need to do some sort of Version Control 145 00:05:25,160 --> 00:05:29,520 like when you're doing your honest 146 00:05:27,180 --> 00:05:31,800 thesis and you don't want it to die and 147 00:05:29,520 --> 00:05:33,180 go into if your computer breaks which 148 00:05:31,800 --> 00:05:35,039 mine did 149 00:05:33,180 --> 00:05:37,380 um you don't want that to lose all of 150 00:05:35,039 --> 00:05:39,479 your code which be really a problem so 151 00:05:37,380 --> 00:05:40,199 luckily I had learned some gear at that 152 00:05:39,479 --> 00:05:42,900 point 153 00:05:40,199 --> 00:05:44,460 but on my git Learning Journey I was 154 00:05:42,900 --> 00:05:46,259 kind of just working by myself and you 155 00:05:44,460 --> 00:05:47,759 write some code do some commits whatnot 156 00:05:46,259 --> 00:05:51,720 but sometimes it would get into a bit of 157 00:05:47,759 --> 00:05:54,000 a messy State as git can do and the 158 00:05:51,720 --> 00:05:55,860 problem was like I didn't have a great 159 00:05:54,000 --> 00:05:57,720 week to go about learning it I had a lot 160 00:05:55,860 --> 00:05:59,699 of great people around me who wanted to 161 00:05:57,720 --> 00:06:01,979 help me but they didn't necessarily go 162 00:05:59,699 --> 00:06:03,720 and teach me how to solve problems 163 00:06:01,979 --> 00:06:06,479 myself so I'm going to talk about a 164 00:06:03,720 --> 00:06:09,660 specific thing uh merge conflicts which 165 00:06:06,479 --> 00:06:11,400 can seem can seem scary at the start 166 00:06:09,660 --> 00:06:12,660 you know I'd be writing stuff and I'd 167 00:06:11,400 --> 00:06:15,180 want to you know put something back 168 00:06:12,660 --> 00:06:16,560 together merge something or I'd write 169 00:06:15,180 --> 00:06:18,600 something and got out of sync with 170 00:06:16,560 --> 00:06:20,520 something else I need to resolve a merge 171 00:06:18,600 --> 00:06:22,199 conflict and whenever that happened I'd 172 00:06:20,520 --> 00:06:23,580 have people around me like oh I'll be 173 00:06:22,199 --> 00:06:25,680 like oh I don't know how to do this I've 174 00:06:23,580 --> 00:06:28,740 got myself stuck in a state and they're 175 00:06:25,680 --> 00:06:31,080 like oh don't worry Renee I will code 176 00:06:28,740 --> 00:06:34,080 that for you I will fix it it'll all be 177 00:06:31,080 --> 00:06:35,699 okay and I'm like okay cool that's good 178 00:06:34,080 --> 00:06:37,620 I'm glad it's fixed now because 179 00:06:35,699 --> 00:06:39,199 otherwise my work and my honest thesis 180 00:06:37,620 --> 00:06:42,360 and things it's all going to fall apart 181 00:06:39,199 --> 00:06:44,639 but that really taught me that I was not 182 00:06:42,360 --> 00:06:47,520 capable of dealing with emerge conflict 183 00:06:44,639 --> 00:06:49,199 so for years like several years I was 184 00:06:47,520 --> 00:06:51,000 using git but it was like oh I can't use 185 00:06:49,199 --> 00:06:53,460 it I can't do a merge conflict because 186 00:06:51,000 --> 00:06:55,020 that's just a really like Ultra level 187 00:06:53,460 --> 00:06:56,880 move to be able to resolve a merge 188 00:06:55,020 --> 00:06:58,919 conflicts which is not true because I 189 00:06:56,880 --> 00:07:01,020 was teaching at a Computing summer camp 190 00:06:58,919 --> 00:07:03,840 which many of you in the audience I've 191 00:07:01,020 --> 00:07:05,759 taught alongside with there and I the 192 00:07:03,840 --> 00:07:07,860 students are using git at this point and 193 00:07:05,759 --> 00:07:09,060 then of course when you have 14 students 194 00:07:07,860 --> 00:07:11,400 working on the one project you do 195 00:07:09,060 --> 00:07:13,919 encounter eight Verge Conflict at some 196 00:07:11,400 --> 00:07:15,720 point and then I go oh no there's a 197 00:07:13,919 --> 00:07:17,340 merge conflict it's so Ultra level 198 00:07:15,720 --> 00:07:19,440 someone really important is going to 199 00:07:17,340 --> 00:07:20,819 need to come along and fix this and then 200 00:07:19,440 --> 00:07:23,340 I'm just like oh 201 00:07:20,819 --> 00:07:25,500 Emma do you know anyone who can fix this 202 00:07:23,340 --> 00:07:26,880 merge conflict and she's like oh we'll 203 00:07:25,500 --> 00:07:29,759 just do that now 204 00:07:26,880 --> 00:07:31,020 and I'm like what we just do it and then 205 00:07:29,759 --> 00:07:32,039 she's like yeah let me teach you and 206 00:07:31,020 --> 00:07:34,139 then she's like Okay cool so you just 207 00:07:32,039 --> 00:07:36,060 opened this and this choose Beach part 208 00:07:34,139 --> 00:07:38,940 you want and then it's done I was like 209 00:07:36,060 --> 00:07:41,819 are you serious people have been 210 00:07:38,940 --> 00:07:44,520 rescuing me the damsel and distress from 211 00:07:41,819 --> 00:07:47,280 merge conflicts for four years because 212 00:07:44,520 --> 00:07:48,840 they're so difficult so from then on I 213 00:07:47,280 --> 00:07:50,819 was like you know what actually git is 214 00:07:48,840 --> 00:07:52,380 not as hard as people maybe make it out 215 00:07:50,819 --> 00:07:54,360 to me because when people do resolve 216 00:07:52,380 --> 00:07:56,520 something is a bit tricky they do want 217 00:07:54,360 --> 00:07:58,800 to see what is like a superstar but I 218 00:07:56,520 --> 00:08:00,360 think we need to you know make ourselves 219 00:07:58,800 --> 00:08:02,759 all feel like we do have the potential 220 00:08:00,360 --> 00:08:04,560 to be a git Superstar or just a mini 221 00:08:02,759 --> 00:08:06,599 star because sometimes it's actually not 222 00:08:04,560 --> 00:08:07,979 such a big deal sometimes it can be a 223 00:08:06,599 --> 00:08:11,699 bit more tricky but it doesn't start 224 00:08:07,979 --> 00:08:14,759 with merge conflicts so uh that's fine 225 00:08:11,699 --> 00:08:16,560 do a lot of work uh helping people learn 226 00:08:14,759 --> 00:08:18,120 about git because it's a really 227 00:08:16,560 --> 00:08:19,919 important concept that's going to be 228 00:08:18,120 --> 00:08:21,900 really useful for a lot of people and I 229 00:08:19,919 --> 00:08:23,699 save a lot of you know stress along 230 00:08:21,900 --> 00:08:25,979 along the way so let's take it from the 231 00:08:23,699 --> 00:08:27,240 top for anyone who is less familiar with 232 00:08:25,979 --> 00:08:29,340 yet 233 00:08:27,240 --> 00:08:31,560 I'll take it right from the top with 234 00:08:29,340 --> 00:08:36,599 Version Control Version Control is a way 235 00:08:31,560 --> 00:08:42,120 of managing our files and code or not 236 00:08:36,599 --> 00:08:44,580 even code just data we don't want it to 237 00:08:42,120 --> 00:08:47,700 look like this so has anyone ever had 238 00:08:44,580 --> 00:08:49,800 this happen on their computer yeah so 239 00:08:47,700 --> 00:08:52,140 yeah I did I did both uh chemical 240 00:08:49,800 --> 00:08:53,700 engineering and computer science at 241 00:08:52,140 --> 00:08:55,380 University and this is what the chemical 242 00:08:53,700 --> 00:08:57,480 engineering group projects always look 243 00:08:55,380 --> 00:08:58,860 like but by the end it's just like yeah 244 00:08:57,480 --> 00:09:01,080 which which one was it was it project 245 00:08:58,860 --> 00:09:02,399 final or project final or caps that 246 00:09:01,080 --> 00:09:05,160 we're supposed to submit I don't even 247 00:09:02,399 --> 00:09:07,800 remember now and this is when you need a 248 00:09:05,160 --> 00:09:09,540 Version Control uh because yeah it's 249 00:09:07,800 --> 00:09:11,940 going to stop this happening it's going 250 00:09:09,540 --> 00:09:14,399 to be a way to build on top of the work 251 00:09:11,940 --> 00:09:16,080 you're doing as a team and a lot of 252 00:09:14,399 --> 00:09:18,360 Version Control tools I also have ways 253 00:09:16,080 --> 00:09:20,040 to back things up online and neat things 254 00:09:18,360 --> 00:09:22,740 like that 255 00:09:20,040 --> 00:09:24,180 so that's Version Control that's the 256 00:09:22,740 --> 00:09:26,220 concept that we're going to work with 257 00:09:24,180 --> 00:09:28,080 then we're going to talk about git uh 258 00:09:26,220 --> 00:09:29,399 which is an implementation of Version 259 00:09:28,080 --> 00:09:31,680 Control there's different kinds of 260 00:09:29,399 --> 00:09:32,820 Version Control uh this one's the most 261 00:09:31,680 --> 00:09:34,620 common 262 00:09:32,820 --> 00:09:36,060 um and it has things like branches which 263 00:09:34,620 --> 00:09:37,680 are really useful if you especially have 264 00:09:36,060 --> 00:09:39,300 multiple people working together and 265 00:09:37,680 --> 00:09:41,940 then you can learn how to merge them 266 00:09:39,300 --> 00:09:44,000 yourself and not have a panic attack 267 00:09:41,940 --> 00:09:46,800 about that because it's actually fine 268 00:09:44,000 --> 00:09:48,720 and there's lots of Integrations for git 269 00:09:46,800 --> 00:09:50,700 where you can use it to deploy code or 270 00:09:48,720 --> 00:09:53,160 things like that and lots of platforms 271 00:09:50,700 --> 00:09:55,080 that support git like GitHub which we're 272 00:09:53,160 --> 00:09:57,060 going to talk about in a second but this 273 00:09:55,080 --> 00:09:59,640 is actually how git Works behind the 274 00:09:57,060 --> 00:10:01,440 scenes uh it's basically just keeping 275 00:09:59,640 --> 00:10:03,240 track of what's changed so I have a file 276 00:10:01,440 --> 00:10:04,860 I've added some lines I've got rid of 277 00:10:03,240 --> 00:10:06,959 some lines I've changed some lines I'm 278 00:10:04,860 --> 00:10:09,540 just going to keep note of what has gone 279 00:10:06,959 --> 00:10:12,060 on there and from where you start off 280 00:10:09,540 --> 00:10:13,500 just by adding subtracting you know 281 00:10:12,060 --> 00:10:16,140 putting the different changes in there 282 00:10:13,500 --> 00:10:18,660 you can actually just rebuild what the 283 00:10:16,140 --> 00:10:20,820 code looks like now so we don't have to 284 00:10:18,660 --> 00:10:23,040 store the file over here and over again 285 00:10:20,820 --> 00:10:25,080 like when I had project Super Final and 286 00:10:23,040 --> 00:10:27,000 several other versions of that it's just 287 00:10:25,080 --> 00:10:29,279 eating up room on my computer this is a 288 00:10:27,000 --> 00:10:32,240 much more succinct way of storing 289 00:10:29,279 --> 00:10:36,660 changes to what you have created 290 00:10:32,240 --> 00:10:38,640 so we can do that with GitHub uh you 291 00:10:36,660 --> 00:10:40,440 know which uses git as the 292 00:10:38,640 --> 00:10:42,660 implementation and it's a it's a 293 00:10:40,440 --> 00:10:44,940 platform for 294 00:10:42,660 --> 00:10:46,980 putting your code up online firstly as a 295 00:10:44,940 --> 00:10:49,019 nice safe way to keep it up there and 296 00:10:46,980 --> 00:10:49,740 keep that history of changes that you've 297 00:10:49,019 --> 00:10:53,700 made 298 00:10:49,740 --> 00:10:56,100 the diffs as we call it uh and then you 299 00:10:53,700 --> 00:10:57,240 know you can use those on that on 300 00:10:56,100 --> 00:10:59,399 multiple computers you have lots of 301 00:10:57,240 --> 00:11:01,079 people collaborating together uh sharing 302 00:10:59,399 --> 00:11:02,940 files and projects 303 00:11:01,079 --> 00:11:06,060 it gives you tools to work with other 304 00:11:02,940 --> 00:11:09,060 like commenting on each other's code and 305 00:11:06,060 --> 00:11:10,680 doing pull requests and better ways to 306 00:11:09,060 --> 00:11:13,079 manage changes 307 00:11:10,680 --> 00:11:14,360 and tools that look at your code for 308 00:11:13,079 --> 00:11:17,880 instance making sure you haven't 309 00:11:14,360 --> 00:11:21,180 committed your secret keys to the public 310 00:11:17,880 --> 00:11:22,500 repo things like that that's good uh and 311 00:11:21,180 --> 00:11:24,540 it also has ways of integrating with 312 00:11:22,500 --> 00:11:26,820 other platforms so hey we want to deploy 313 00:11:24,540 --> 00:11:28,860 this web server oh you simply just give 314 00:11:26,820 --> 00:11:31,500 me your git URL and I can do that and 315 00:11:28,860 --> 00:11:35,700 help you do that it's great so that's 316 00:11:31,500 --> 00:11:38,279 what GitHub is for you know as a concept 317 00:11:35,700 --> 00:11:40,980 for us but we do need to learn a few 318 00:11:38,279 --> 00:11:43,800 Concepts to be able to use get and 319 00:11:40,980 --> 00:11:45,720 GitHub and yeah this is my favorite 320 00:11:43,800 --> 00:11:47,640 analogy for helping people understand 321 00:11:45,720 --> 00:11:49,620 git I've used this with lots of 322 00:11:47,640 --> 00:11:50,760 different people from high school 323 00:11:49,620 --> 00:11:53,579 students to 324 00:11:50,760 --> 00:11:54,959 my interns are working under me and my 325 00:11:53,579 --> 00:11:57,300 screen has gone away 326 00:11:54,959 --> 00:11:59,760 um where it's going to come back okay 327 00:11:57,300 --> 00:12:02,880 cool uh so we're going to talk about 328 00:11:59,760 --> 00:12:04,920 just the basics of git we're going to 329 00:12:02,880 --> 00:12:07,140 add commit and push but this job 330 00:12:04,920 --> 00:12:08,820 technology does extend to more you can 331 00:12:07,140 --> 00:12:11,040 talk about merges you can talk about 332 00:12:08,820 --> 00:12:13,500 rebasing you can talk about all kinds of 333 00:12:11,040 --> 00:12:14,880 things uh you can watch my other videos 334 00:12:13,500 --> 00:12:16,320 which I'll give you links to at the end 335 00:12:14,880 --> 00:12:18,660 of it because I really do like to talk 336 00:12:16,320 --> 00:12:21,779 about git with this analogy but let's 337 00:12:18,660 --> 00:12:22,980 get started on how git is like a 338 00:12:21,779 --> 00:12:25,140 shopping trip 339 00:12:22,980 --> 00:12:26,399 so firstly we've got coding we're going 340 00:12:25,140 --> 00:12:28,140 shopping we're putting things in our 341 00:12:26,399 --> 00:12:30,300 shopping trolley then we're going to be 342 00:12:28,140 --> 00:12:32,279 going to the checkout uh putting them on 343 00:12:30,300 --> 00:12:34,500 the conveyor belt then we're going to 344 00:12:32,279 --> 00:12:36,000 commit to the purchase and we're going 345 00:12:34,500 --> 00:12:38,100 to get this neat receipt here that's 346 00:12:36,000 --> 00:12:40,140 going to tell us of what's happened and 347 00:12:38,100 --> 00:12:41,459 then at the end when you want everyone 348 00:12:40,140 --> 00:12:42,660 to know about the really great things 349 00:12:41,459 --> 00:12:44,160 that you've bought you're going to take 350 00:12:42,660 --> 00:12:45,420 a photo of your brand new outfit you're 351 00:12:44,160 --> 00:12:47,220 going to put it on Instagram and put it 352 00:12:45,420 --> 00:12:49,260 out to the world so other people can see 353 00:12:47,220 --> 00:12:50,040 so let's break that down just a little 354 00:12:49,260 --> 00:12:52,260 bit 355 00:12:50,040 --> 00:12:53,700 so firstly we're browsing we're in the 356 00:12:52,260 --> 00:12:55,320 shops we're putting things out trolley 357 00:12:53,700 --> 00:12:57,779 but we might also be like nah I don't 358 00:12:55,320 --> 00:12:59,160 actually need these seven boxes of 359 00:12:57,779 --> 00:13:01,320 chocolate put them back on the Shelf 360 00:12:59,160 --> 00:13:03,600 maybe another day I'll come back for 361 00:13:01,320 --> 00:13:05,279 that uh and yeah you have the 362 00:13:03,600 --> 00:13:06,839 opportunity to just put things in and 363 00:13:05,279 --> 00:13:08,820 out while you're going around the shop 364 00:13:06,839 --> 00:13:10,920 and no one's you know keeping track of 365 00:13:08,820 --> 00:13:13,800 all of that 366 00:13:10,920 --> 00:13:15,300 so this is really your coding and saving 367 00:13:13,800 --> 00:13:17,100 because you still want to save your code 368 00:13:15,300 --> 00:13:20,399 as you go along but you can just undo 369 00:13:17,100 --> 00:13:23,160 anything as you go along and nothing's 370 00:13:20,399 --> 00:13:24,660 recorded in the git history in the git 371 00:13:23,160 --> 00:13:25,680 log yet 372 00:13:24,660 --> 00:13:27,899 so 373 00:13:25,680 --> 00:13:30,300 once we are happy with what's in our 374 00:13:27,899 --> 00:13:32,940 trolley we might head over to the 375 00:13:30,300 --> 00:13:35,100 register and we can put some or all of 376 00:13:32,940 --> 00:13:38,339 our items onto the register 377 00:13:35,100 --> 00:13:41,579 and then we can start you know moving 378 00:13:38,339 --> 00:13:43,200 towards our payment system so we might 379 00:13:41,579 --> 00:13:45,660 just put a couple things on here if you 380 00:13:43,200 --> 00:13:46,860 run a business or you have work expenses 381 00:13:45,660 --> 00:13:48,060 in a corporate card maybe sometimes 382 00:13:46,860 --> 00:13:49,320 you're buying something for yourself and 383 00:13:48,060 --> 00:13:51,000 something for the business so maybe 384 00:13:49,320 --> 00:13:53,279 you'll leave some stuff in your trolley 385 00:13:51,000 --> 00:13:55,200 for a separate purchase just so you have 386 00:13:53,279 --> 00:13:58,079 a separate receipt and you put a couple 387 00:13:55,200 --> 00:14:01,380 of things on the register on the 388 00:13:58,079 --> 00:14:04,740 conveyor belt now to do your first one 389 00:14:01,380 --> 00:14:08,040 so let's go on with that transaction so 390 00:14:04,740 --> 00:14:12,620 this part here has been all about adding 391 00:14:08,040 --> 00:14:12,620 things so that's your get ad step 392 00:14:13,200 --> 00:14:18,180 and yeah it's a really great way to be 393 00:14:15,660 --> 00:14:20,339 like yeah Kids Go kids go shopping they 394 00:14:18,180 --> 00:14:22,260 put things on the conveyor belt it's 395 00:14:20,339 --> 00:14:24,060 like yeah no I am saying this is what I 396 00:14:22,260 --> 00:14:26,399 want to buy 397 00:14:24,060 --> 00:14:28,139 next up we are committing to the 398 00:14:26,399 --> 00:14:30,300 purchase which is like our commit step 399 00:14:28,139 --> 00:14:32,700 and you get this handy dandy receipt 400 00:14:30,300 --> 00:14:34,440 which has a list of the changes you have 401 00:14:32,700 --> 00:14:35,820 made to your life like buying these 402 00:14:34,440 --> 00:14:38,220 fantastic Pink Shoes in this blue 403 00:14:35,820 --> 00:14:39,540 t-shirt uh and the great thing is you 404 00:14:38,220 --> 00:14:41,760 could also undo this if you like 405 00:14:39,540 --> 00:14:43,019 actually pink is really not my color I 406 00:14:41,760 --> 00:14:45,180 just shouldn't have bought this I want 407 00:14:43,019 --> 00:14:47,459 to send them back that's like let's 408 00:14:45,180 --> 00:14:50,519 let's undo these and that's kind of why 409 00:14:47,459 --> 00:14:52,440 just this commit our commit history is 410 00:14:50,519 --> 00:14:56,579 exactly like a receipt it shows what 411 00:14:52,440 --> 00:15:00,480 we've done and what we can undo as well 412 00:14:56,579 --> 00:15:02,279 so this is our committing step and yeah 413 00:15:00,480 --> 00:15:04,740 it just keeps track of all of our 414 00:15:02,279 --> 00:15:06,720 everything that's going on there finally 415 00:15:04,740 --> 00:15:08,820 once we're like cool this is this has 416 00:15:06,720 --> 00:15:11,279 gone pretty well I've got some neat 417 00:15:08,820 --> 00:15:13,800 items here uh I wanna I wanna tell the 418 00:15:11,279 --> 00:15:16,139 world about them uh we're going to post 419 00:15:13,800 --> 00:15:17,339 a selfie on Instagram probably which is 420 00:15:16,139 --> 00:15:20,160 really cool 421 00:15:17,339 --> 00:15:22,019 uh but this is where it can get a little 422 00:15:20,160 --> 00:15:24,240 bit more tricky if you were for instance 423 00:15:22,019 --> 00:15:25,800 you know had a lot of followers and you 424 00:15:24,240 --> 00:15:27,420 weren't actually really sure about the 425 00:15:25,800 --> 00:15:29,399 things you were had bought yeah like 426 00:15:27,420 --> 00:15:31,260 pink shoes I don't know maybe maybe not 427 00:15:29,399 --> 00:15:33,180 you posted on Instagram and then 428 00:15:31,260 --> 00:15:35,820 everyone's like oh this is the best 429 00:15:33,180 --> 00:15:37,440 outfit already or ever I want I want to 430 00:15:35,820 --> 00:15:38,639 go get one for myself maybe your best 431 00:15:37,440 --> 00:15:41,459 friends are all going to go buy pink 432 00:15:38,639 --> 00:15:43,560 shoes that match now and then you go oh 433 00:15:41,459 --> 00:15:45,420 actually I've just returned them um 434 00:15:43,560 --> 00:15:46,620 maybe I should take that post down I 435 00:15:45,420 --> 00:15:47,760 don't know but it's out there in the 436 00:15:46,620 --> 00:15:49,860 world and what something's out there in 437 00:15:47,760 --> 00:15:52,019 the world things can go a little bit 438 00:15:49,860 --> 00:15:55,740 awry if you're working with other people 439 00:15:52,019 --> 00:15:57,180 and that's the same in terms of git 440 00:15:55,740 --> 00:15:58,500 um because if you're working with 441 00:15:57,180 --> 00:16:00,420 multiple contributors someone might 442 00:15:58,500 --> 00:16:02,339 someone else might pull up down your 443 00:16:00,420 --> 00:16:04,320 changes that you've made to the repo and 444 00:16:02,339 --> 00:16:06,420 say oh this is a great code I'm going to 445 00:16:04,320 --> 00:16:08,880 start building on top of it so that is 446 00:16:06,420 --> 00:16:11,279 how we uh end up with our Instagram 447 00:16:08,880 --> 00:16:13,139 worthy shopping trip um but you do want 448 00:16:11,279 --> 00:16:14,880 to you know consider what you're putting 449 00:16:13,139 --> 00:16:18,300 out there into the internet whether 450 00:16:14,880 --> 00:16:22,079 you're online or whether you are pushing 451 00:16:18,300 --> 00:16:23,639 to the main branch of uh your repo and 452 00:16:22,079 --> 00:16:25,920 this is why branches then get a really 453 00:16:23,639 --> 00:16:27,120 really helpful as well because you 454 00:16:25,920 --> 00:16:29,339 didn't have to put it out for everyone 455 00:16:27,120 --> 00:16:30,899 to see maybe it's more like a you know a 456 00:16:29,339 --> 00:16:32,040 slack Channel or something whereas it's 457 00:16:30,899 --> 00:16:33,540 just a niche group of friends who 458 00:16:32,040 --> 00:16:35,699 understand that maybe you don't want 459 00:16:33,540 --> 00:16:38,699 those pink shoes rather than putting it 460 00:16:35,699 --> 00:16:40,800 out to everywhere in the world 461 00:16:38,699 --> 00:16:43,500 so 462 00:16:40,800 --> 00:16:44,880 we now know about git and how how to go 463 00:16:43,500 --> 00:16:46,560 shopping with Git 464 00:16:44,880 --> 00:16:48,660 um what we can what else can we do now 465 00:16:46,560 --> 00:16:51,360 that we don't know all about this 466 00:16:48,660 --> 00:16:52,920 well I do a lot of streams on git but I 467 00:16:51,360 --> 00:16:55,740 also do a lot of streams that rely on 468 00:16:52,920 --> 00:16:56,940 git and putting my code on GitHub so 469 00:16:55,740 --> 00:16:58,380 people can have it at the end of the 470 00:16:56,940 --> 00:17:01,079 streams or giving them a little template 471 00:16:58,380 --> 00:17:02,940 so they can code along and one of the uh 472 00:17:01,079 --> 00:17:05,520 my favorite streams I've done actually 473 00:17:02,940 --> 00:17:08,880 with our lovely host Amanda which is 474 00:17:05,520 --> 00:17:10,919 about creating a resume or a portfolio 475 00:17:08,880 --> 00:17:13,199 website where we gave them this 476 00:17:10,919 --> 00:17:15,919 portfolio and they could code along and 477 00:17:13,199 --> 00:17:15,919 make it their own 478 00:17:16,140 --> 00:17:20,640 so that was super great and we had all 479 00:17:19,079 --> 00:17:22,319 these people forking the repo which is 480 00:17:20,640 --> 00:17:23,400 really cool because a lot of people come 481 00:17:22,319 --> 00:17:25,260 to my streams and they don't do 482 00:17:23,400 --> 00:17:26,640 absolutely anything I think I don't know 483 00:17:25,260 --> 00:17:27,780 I can just see the number of streams 484 00:17:26,640 --> 00:17:29,340 going up and how many people are online 485 00:17:27,780 --> 00:17:31,140 but I don't know if they've done 486 00:17:29,340 --> 00:17:33,179 anything but here we had 31 people 487 00:17:31,140 --> 00:17:34,740 forking this Reaper which was like 31 488 00:17:33,179 --> 00:17:36,240 people actually did something that's 489 00:17:34,740 --> 00:17:39,179 really cool 490 00:17:36,240 --> 00:17:40,799 but uh well I'll talk a little bit more 491 00:17:39,179 --> 00:17:42,600 about what this actually involved this 492 00:17:40,799 --> 00:17:44,160 is yeah we gave them the repo and then 493 00:17:42,600 --> 00:17:46,380 through the episode we showed them how 494 00:17:44,160 --> 00:17:48,900 to like add you know write some HTML and 495 00:17:46,380 --> 00:17:51,120 some CSS and then by the end of it you 496 00:17:48,900 --> 00:17:52,799 know liquid ad uh you know some cool 497 00:17:51,120 --> 00:17:54,660 JavaScript to make it a bit funky and 498 00:17:52,799 --> 00:17:58,919 make themselves really stand out so 499 00:17:54,660 --> 00:18:00,179 that's what we had in our episode 500 00:17:58,919 --> 00:18:03,240 uh 501 00:18:00,179 --> 00:18:04,620 and that was really loved by the people 502 00:18:03,240 --> 00:18:06,000 watching the streams it was one of my 503 00:18:04,620 --> 00:18:07,620 most watched streams which was really 504 00:18:06,000 --> 00:18:10,500 cool I was like oh doing these template 505 00:18:07,620 --> 00:18:12,480 things is really handy 506 00:18:10,500 --> 00:18:15,240 um and then I happened I was teaching 507 00:18:12,480 --> 00:18:16,559 year 10 last year and I had a little bit 508 00:18:15,240 --> 00:18:18,539 of a cold and I you know in this 509 00:18:16,559 --> 00:18:19,679 coveredy times you absolutely can't go 510 00:18:18,539 --> 00:18:20,880 to school when you have a bit of a cold 511 00:18:19,679 --> 00:18:22,440 so I was like what am I going to get my 512 00:18:20,880 --> 00:18:23,820 students to do because they're not going 513 00:18:22,440 --> 00:18:25,620 to have someone filling in who's going 514 00:18:23,820 --> 00:18:28,260 to understand the lessons I had prepared 515 00:18:25,620 --> 00:18:29,880 I know they could use a resume or a 516 00:18:28,260 --> 00:18:30,900 portfolio I'll just give them a link to 517 00:18:29,880 --> 00:18:32,039 this stream and they can do it 518 00:18:30,900 --> 00:18:33,679 themselves because there's a template 519 00:18:32,039 --> 00:18:36,600 and they can just follow along with that 520 00:18:33,679 --> 00:18:38,760 so maybe they'll love it just as much as 521 00:18:36,600 --> 00:18:42,480 the stream viewers did 522 00:18:38,760 --> 00:18:45,419 um but it was met with some confusion 523 00:18:42,480 --> 00:18:47,160 so look I obviously wasn't there to tell 524 00:18:45,419 --> 00:18:49,260 them how git is just like going shopping 525 00:18:47,160 --> 00:18:51,419 and they had never made a GitHub account 526 00:18:49,260 --> 00:18:52,980 before and things like that so that was 527 00:18:51,419 --> 00:18:55,140 a little bit confusing but I think there 528 00:18:52,980 --> 00:18:56,880 were also just some little wins that I 529 00:18:55,140 --> 00:18:58,860 could have used to make this a bit 530 00:18:56,880 --> 00:19:01,080 better because as I said reduced a 531 00:18:58,860 --> 00:19:03,120 GitHub what we've used a template that I 532 00:19:01,080 --> 00:19:06,179 put up as a GitHub repo but I hadn't 533 00:19:03,120 --> 00:19:08,100 actually used a git Hub template because 534 00:19:06,179 --> 00:19:10,740 I didn't know that they existed at the 535 00:19:08,100 --> 00:19:12,179 time but you know shortly after that I 536 00:19:10,740 --> 00:19:14,460 found out they exist and there's a few 537 00:19:12,179 --> 00:19:16,620 other tools that have been released 538 00:19:14,460 --> 00:19:18,240 since that will make this even better 539 00:19:16,620 --> 00:19:19,980 and just something that I'm like 540 00:19:18,240 --> 00:19:23,059 actually this could be really cool to 541 00:19:19,980 --> 00:19:23,059 use in the classroom 542 00:19:23,760 --> 00:19:28,860 so yes as I said I just had a regular 543 00:19:26,940 --> 00:19:31,020 repo if I'd only just gone in and 544 00:19:28,860 --> 00:19:32,700 clicked this button git repository a 545 00:19:31,020 --> 00:19:34,679 template repository I just ticked that 546 00:19:32,700 --> 00:19:36,059 and now it's become a template and this 547 00:19:34,679 --> 00:19:37,980 would have actually been really good for 548 00:19:36,059 --> 00:19:39,600 the stream as well because I wanted to 549 00:19:37,980 --> 00:19:41,940 be able to Fork my own template because 550 00:19:39,600 --> 00:19:44,280 I did a morning and an afternoon stream 551 00:19:41,940 --> 00:19:46,380 uh so we had other people from around 552 00:19:44,280 --> 00:19:48,660 the world watching but I couldn't Fork 553 00:19:46,380 --> 00:19:52,140 my own repo so I had to log in as 554 00:19:48,660 --> 00:19:55,200 different people to make more templates 555 00:19:52,140 --> 00:19:57,000 to show everybody uh which was really 556 00:19:55,200 --> 00:19:59,280 annoying I was like oh no who did I log 557 00:19:57,000 --> 00:20:00,840 in as this morning or what did I use 558 00:19:59,280 --> 00:20:02,460 last time for the morning and the 559 00:20:00,840 --> 00:20:04,020 afternoon but with the templates you can 560 00:20:02,460 --> 00:20:08,100 actually 561 00:20:04,020 --> 00:20:10,860 use your own template to create a new 562 00:20:08,100 --> 00:20:13,559 repository which is really handy and 563 00:20:10,860 --> 00:20:15,240 also for students it kind of gets rid of 564 00:20:13,559 --> 00:20:18,120 some of the scary looking stuff for 565 00:20:15,240 --> 00:20:19,559 instance when you create a repo from a 566 00:20:18,120 --> 00:20:20,580 template it gets rid of that long commit 567 00:20:19,559 --> 00:20:21,960 history because you don't want your 568 00:20:20,580 --> 00:20:24,059 students seeing all of this stuff 569 00:20:21,960 --> 00:20:25,799 because that's scary looking they just 570 00:20:24,059 --> 00:20:27,900 want to be like oh yeah I have a folder 571 00:20:25,799 --> 00:20:30,240 and it gave me the starting code and 572 00:20:27,900 --> 00:20:33,120 that's really cool so you get rid of 573 00:20:30,240 --> 00:20:34,980 that and yeah and also you won't have 574 00:20:33,120 --> 00:20:36,539 things being like Oh Upstream has some 575 00:20:34,980 --> 00:20:37,980 changes do you want to pull them because 576 00:20:36,539 --> 00:20:39,840 your students don't want to do that 577 00:20:37,980 --> 00:20:41,760 don't get your year nines to pull the 578 00:20:39,840 --> 00:20:43,620 Upstream changes I don't think look 579 00:20:41,760 --> 00:20:45,480 maybe but if you feel like I really 580 00:20:43,620 --> 00:20:47,940 missed out on something I needed on for 581 00:20:45,480 --> 00:20:48,720 that but let's try and avoid that if we 582 00:20:47,940 --> 00:20:50,880 can 583 00:20:48,720 --> 00:20:52,200 so you get rid of those scarier looking 584 00:20:50,880 --> 00:20:54,840 parts and make it just a little bit 585 00:20:52,200 --> 00:20:56,460 simpler but I think there's some 586 00:20:54,840 --> 00:20:58,860 technology that we can use to make it 587 00:20:56,460 --> 00:21:01,080 even better so I'm going to tell you how 588 00:20:58,860 --> 00:21:03,059 we can make something using GitHub 589 00:21:01,080 --> 00:21:05,100 GitHub templates code spaces copilot and 590 00:21:03,059 --> 00:21:07,440 GitHub actions the code copy GitHub 591 00:21:05,100 --> 00:21:08,880 Cobell it's just for us uh because why 592 00:21:07,440 --> 00:21:10,980 do I want to write all the test cases 593 00:21:08,880 --> 00:21:14,400 myself when I can get GitHub copilot to 594 00:21:10,980 --> 00:21:16,799 do it now so let's give it a go so we're 595 00:21:14,400 --> 00:21:19,140 going to be making a flask app the idea 596 00:21:16,799 --> 00:21:22,320 is you know the theme is that it would 597 00:21:19,140 --> 00:21:24,720 be a flash card flaska for instance so 598 00:21:22,320 --> 00:21:27,299 let's speed run so I've actually got the 599 00:21:24,720 --> 00:21:29,760 whole process to show you exactly what 600 00:21:27,299 --> 00:21:31,440 it would be like to set this up for your 601 00:21:29,760 --> 00:21:33,780 students set up their template set up 602 00:21:31,440 --> 00:21:35,460 some tests for some back-end testing and 603 00:21:33,780 --> 00:21:37,080 then actually have the students do it so 604 00:21:35,460 --> 00:21:39,299 let's Speed Run and see exactly what 605 00:21:37,080 --> 00:21:41,520 that would all look like 606 00:21:39,299 --> 00:21:43,080 so let's kick it off 607 00:21:41,520 --> 00:21:44,460 um this is me setting up the template 608 00:21:43,080 --> 00:21:45,960 I'm going to make it public so all my 609 00:21:44,460 --> 00:21:47,820 students can see I can actually just go 610 00:21:45,960 --> 00:21:50,220 in here and write all of my assignment 611 00:21:47,820 --> 00:21:52,200 details if I wanted it all right here in 612 00:21:50,220 --> 00:21:54,059 the one place which is really handy so 613 00:21:52,200 --> 00:21:55,799 I'm just going to commit those changes I 614 00:21:54,059 --> 00:21:57,659 could also add any other files here on 615 00:21:55,799 --> 00:21:59,580 the main page as well um but we're 616 00:21:57,659 --> 00:22:01,200 actually I think I've add in just the 617 00:21:59,580 --> 00:22:02,400 requirements.txt just to show you that 618 00:22:01,200 --> 00:22:04,440 you can put files in here if you wanted 619 00:22:02,400 --> 00:22:07,500 to upload some photos or something for 620 00:22:04,440 --> 00:22:09,659 your uh markdown to write yours claim 621 00:22:07,500 --> 00:22:11,760 and description but here we're going to 622 00:22:09,659 --> 00:22:14,880 actually set up a code space because 623 00:22:11,760 --> 00:22:17,940 code spaces are like an online Dev box 624 00:22:14,880 --> 00:22:20,340 thing that you can code in and actually 625 00:22:17,940 --> 00:22:22,740 run python because with all our web 626 00:22:20,340 --> 00:22:24,419 development stuff you can run vs code in 627 00:22:22,740 --> 00:22:26,400 the browser but it won't actually run 628 00:22:24,419 --> 00:22:28,559 your code but here we go we can actually 629 00:22:26,400 --> 00:22:30,480 install python in this Dev box thing 630 00:22:28,559 --> 00:22:32,460 we've just used the default devbox which 631 00:22:30,480 --> 00:22:33,780 makes it really easy to set up and we're 632 00:22:32,460 --> 00:22:35,340 installing Python and I'm also 633 00:22:33,780 --> 00:22:37,140 installing co-pilot while I'm in there 634 00:22:35,340 --> 00:22:38,880 copilot is free for teachers and 635 00:22:37,140 --> 00:22:40,559 Educators who are verified as well as 636 00:22:38,880 --> 00:22:42,840 some open source contributors so get 637 00:22:40,559 --> 00:22:44,460 some free stuff for yourself okay now 638 00:22:42,840 --> 00:22:46,559 with copilot I'm just going to go and 639 00:22:44,460 --> 00:22:48,240 quickly set up a flask app I don't want 640 00:22:46,559 --> 00:22:50,780 to have to remember all this flasky 641 00:22:48,240 --> 00:22:52,919 syntax so thanks copilot for doing that 642 00:22:50,780 --> 00:22:54,120 you might also be like I don't want some 643 00:22:52,919 --> 00:22:55,799 of this stuff it's not what I want to 644 00:22:54,120 --> 00:22:57,299 include in a project for students 645 00:22:55,799 --> 00:22:59,280 because it's a little bit above the 646 00:22:57,299 --> 00:23:00,480 level but anyway we've got it all set up 647 00:22:59,280 --> 00:23:01,799 or you might want to include some extra 648 00:23:00,480 --> 00:23:04,320 stuff that makes it easy for your 649 00:23:01,799 --> 00:23:06,120 students to run like this uh debug and 650 00:23:04,320 --> 00:23:09,000 reloader and things like that 651 00:23:06,120 --> 00:23:10,799 so here we go we've got a working flask 652 00:23:09,000 --> 00:23:12,960 app up there but we only need some 653 00:23:10,799 --> 00:23:15,600 templates as well so quickly go to set 654 00:23:12,960 --> 00:23:17,000 up our index.html file thanks copilot I 655 00:23:15,600 --> 00:23:20,400 don't want to have to write all of that 656 00:23:17,000 --> 00:23:21,960 according myself to set up all the HTML 657 00:23:20,400 --> 00:23:23,520 I'll just make some changes to make it 658 00:23:21,960 --> 00:23:25,860 look vaguely like the assignment I want 659 00:23:23,520 --> 00:23:27,600 the children to do and great that's 660 00:23:25,860 --> 00:23:30,000 looking good we'll probably want some 661 00:23:27,600 --> 00:23:32,039 CSS I always forget CSS styling as well 662 00:23:30,000 --> 00:23:33,960 that's the one I forget the most so 663 00:23:32,039 --> 00:23:35,400 let's get some color on there just so it 664 00:23:33,960 --> 00:23:37,500 looks just so it's actually already 665 00:23:35,400 --> 00:23:38,940 hooked up we'll add the link in there 666 00:23:37,500 --> 00:23:41,940 something I always always have to look 667 00:23:38,940 --> 00:23:45,780 up as well adding all that HTML I keep 668 00:23:41,940 --> 00:23:48,240 losing my screen which is not ideal but 669 00:23:45,780 --> 00:23:51,480 that is 670 00:23:48,240 --> 00:23:53,960 uh yeah luckily that video is over maybe 671 00:23:51,480 --> 00:23:58,380 no it's not there we go 672 00:23:53,960 --> 00:24:01,140 let's take it back just a hot second 673 00:23:58,380 --> 00:24:02,760 it's cool so we're now adding that link 674 00:24:01,140 --> 00:24:04,679 and we've also set up some CSS I think 675 00:24:02,760 --> 00:24:06,480 it's just nice to give the cssery linked 676 00:24:04,679 --> 00:24:08,640 so you know that's already working so 677 00:24:06,480 --> 00:24:11,820 I've made all the text green just so we 678 00:24:08,640 --> 00:24:13,380 know that the CSS is alive and well or 679 00:24:11,820 --> 00:24:14,640 green at least 680 00:24:13,380 --> 00:24:17,580 um and from that we can go to our 681 00:24:14,640 --> 00:24:19,679 server.pi file and just hit run and open 682 00:24:17,580 --> 00:24:21,480 our website in the browser so we're 683 00:24:19,679 --> 00:24:23,520 doing now all of this in the browser 684 00:24:21,480 --> 00:24:26,220 because when I was working if I wanted 685 00:24:23,520 --> 00:24:28,860 to do a stream previously uh that 686 00:24:26,220 --> 00:24:31,620 involved python I couldn't just use the 687 00:24:28,860 --> 00:24:33,659 vs code in the browser I had to jump 688 00:24:31,620 --> 00:24:36,000 back into vs code native on my desktop 689 00:24:33,659 --> 00:24:38,159 so this is much easier to follow along 690 00:24:36,000 --> 00:24:39,659 with and it's got all the tools built 691 00:24:38,159 --> 00:24:42,720 right in there 692 00:24:39,659 --> 00:24:44,460 uh yeah so let's opt out the about page 693 00:24:42,720 --> 00:24:47,460 now that we've seen that that is already 694 00:24:44,460 --> 00:24:50,039 working for our index page just a little 695 00:24:47,460 --> 00:24:54,059 bit of styling as well so it can look 696 00:24:50,039 --> 00:24:56,400 really fun and put in some more CSS and 697 00:24:54,059 --> 00:24:58,679 then any second now we'll see our 698 00:24:56,400 --> 00:25:01,140 beautiful website in action ready for 699 00:24:58,679 --> 00:25:02,520 students to give it a go oh yeah and 700 00:25:01,140 --> 00:25:05,520 we're adding just so we could actually 701 00:25:02,520 --> 00:25:07,980 show you the students a demo of how it 702 00:25:05,520 --> 00:25:12,120 looks to insert data in terms of 703 00:25:07,980 --> 00:25:13,799 variables into a template a template a 704 00:25:12,120 --> 00:25:16,620 flask template we're just putting this 705 00:25:13,799 --> 00:25:18,480 activity randomly chosen learning based 706 00:25:16,620 --> 00:25:21,480 activity in here as well 707 00:25:18,480 --> 00:25:24,240 so uh there we go we've now got a 708 00:25:21,480 --> 00:25:26,820 working class Gap and it's ready to hand 709 00:25:24,240 --> 00:25:28,679 over to our students well firstly we 710 00:25:26,820 --> 00:25:30,000 might actually want to consider adding a 711 00:25:28,679 --> 00:25:32,039 little bit more 712 00:25:30,000 --> 00:25:34,380 because maybe we want to have some 713 00:25:32,039 --> 00:25:36,659 pythony stuff as well that we could do 714 00:25:34,380 --> 00:25:38,460 with some testing because with this 715 00:25:36,659 --> 00:25:40,140 Beacon website it's cool and all but it 716 00:25:38,460 --> 00:25:41,640 can be hard to test the outcomes that 717 00:25:40,140 --> 00:25:44,100 you're looking for unless you have some 718 00:25:41,640 --> 00:25:46,320 more specific outcomes that you need 719 00:25:44,100 --> 00:25:49,440 them to code towards 720 00:25:46,320 --> 00:25:52,620 so I'm going to get them to going to set 721 00:25:49,440 --> 00:25:54,059 up a helper file function with some 722 00:25:52,620 --> 00:25:54,960 function stubs that I'm going to give 723 00:25:54,059 --> 00:25:55,860 them that they're going to need to fill 724 00:25:54,960 --> 00:25:58,200 out they're just going to be like 725 00:25:55,860 --> 00:25:59,640 randomly kind of things that maybe you 726 00:25:58,200 --> 00:26:01,440 would need to help in your website but 727 00:25:59,640 --> 00:26:04,460 they're kind of more just for demo so 728 00:26:01,440 --> 00:26:06,539 here we go let's create our helper 729 00:26:04,460 --> 00:26:08,700 functions.pi file 730 00:26:06,539 --> 00:26:11,880 and then once again I don't actually use 731 00:26:08,700 --> 00:26:13,500 Pi test I thought it would be uh 732 00:26:11,880 --> 00:26:15,779 interesting in a second I'm setting up 733 00:26:13,500 --> 00:26:16,919 my pie test here to test the functions 734 00:26:15,779 --> 00:26:19,320 that I've just written which are about 735 00:26:16,919 --> 00:26:20,700 getting random names and colors and the 736 00:26:19,320 --> 00:26:22,740 different numbers of colors and things 737 00:26:20,700 --> 00:26:28,340 like that but I thought I'd give Pi test 738 00:26:22,740 --> 00:26:31,740 give pie test a go and see 739 00:26:28,340 --> 00:26:33,419 what it is uh like and see how much 740 00:26:31,740 --> 00:26:35,760 co-pilot can help me write some pie 741 00:26:33,419 --> 00:26:39,240 tests which will be here now that the 742 00:26:35,760 --> 00:26:42,179 screen's back on so thanks co-pilot for 743 00:26:39,240 --> 00:26:44,400 writing that well uh well uh the screen 744 00:26:42,179 --> 00:26:46,140 was off um but that's okay it just has 745 00:26:44,400 --> 00:26:48,179 helped us write all that stuff and 746 00:26:46,140 --> 00:26:49,740 really helped you know fill out all 747 00:26:48,179 --> 00:26:51,419 those different test cases and include 748 00:26:49,740 --> 00:26:53,340 some tests that maybe I wouldn't you 749 00:26:51,419 --> 00:26:54,419 know think of off the top of my head or 750 00:26:53,340 --> 00:26:57,059 like oh I shouldn't be doing type 751 00:26:54,419 --> 00:26:58,740 checking for that so with this we can 752 00:26:57,059 --> 00:27:01,500 now run the test we can actually set up 753 00:26:58,740 --> 00:27:03,779 using the flasky looking icon on the 754 00:27:01,500 --> 00:27:06,539 side to say yes please set up configure 755 00:27:03,779 --> 00:27:08,460 the pi test options for us and then we 756 00:27:06,539 --> 00:27:10,260 can actually just run it really easily 757 00:27:08,460 --> 00:27:11,820 and see how it goes in the browser do 758 00:27:10,260 --> 00:27:14,640 you remember to name your test cases 759 00:27:11,820 --> 00:27:17,760 with starting with test so test Pi test 760 00:27:14,640 --> 00:27:19,440 test helper functions or whatever I've 761 00:27:17,760 --> 00:27:21,120 run the test I've failed them because I 762 00:27:19,440 --> 00:27:22,860 didn't do any type checking and I'm like 763 00:27:21,120 --> 00:27:24,299 actually I don't want any type checking 764 00:27:22,860 --> 00:27:26,700 co-pilots get rid of that it's not 765 00:27:24,299 --> 00:27:28,500 really appropriate for year eight maybe 766 00:27:26,700 --> 00:27:30,720 that's who you're writing this for so so 767 00:27:28,500 --> 00:27:32,460 let's write it again and be happy with 768 00:27:30,720 --> 00:27:33,900 it and then we can commit it and the 769 00:27:32,460 --> 00:27:35,520 next thing we're going to do is have 770 00:27:33,900 --> 00:27:38,220 this be something that automatically 771 00:27:35,520 --> 00:27:39,059 runs whenever your students commit their 772 00:27:38,220 --> 00:27:41,400 code 773 00:27:39,059 --> 00:27:42,720 uh which is really good because you can 774 00:27:41,400 --> 00:27:45,480 see the progress that they've been 775 00:27:42,720 --> 00:27:47,340 making as they go along uh so yes before 776 00:27:45,480 --> 00:27:50,220 I commit though I am going to remove all 777 00:27:47,340 --> 00:27:51,320 the answers do not give this students 778 00:27:50,220 --> 00:27:53,580 the answers 779 00:27:51,320 --> 00:27:55,860 because then they'll just copy those and 780 00:27:53,580 --> 00:27:57,659 then they'll pass all your tests uh so 781 00:27:55,860 --> 00:28:01,500 here we go it's really easy to set up 782 00:27:57,659 --> 00:28:03,120 the uh GitHub actions to configure the 783 00:28:01,500 --> 00:28:04,799 pi tester run you actually just hit this 784 00:28:03,120 --> 00:28:07,080 button and then the Devo like thought 785 00:28:04,799 --> 00:28:09,059 the demo but like the default stuff that 786 00:28:07,080 --> 00:28:13,100 it gives you is the stuff that will run 787 00:28:09,059 --> 00:28:13,100 the tests so that's all we need 788 00:28:13,140 --> 00:28:18,059 uh cool so now we've got that in place 789 00:28:16,140 --> 00:28:19,919 and we clicked that button that makes it 790 00:28:18,059 --> 00:28:22,260 a template so we can have our students 791 00:28:19,919 --> 00:28:25,020 go through and build on that template so 792 00:28:22,260 --> 00:28:27,120 let's give that a look 793 00:28:25,020 --> 00:28:28,679 so cool we're in our project and like oh 794 00:28:27,120 --> 00:28:30,600 good we've got this project we better 795 00:28:28,679 --> 00:28:32,460 start making new code space the code 796 00:28:30,600 --> 00:28:33,900 space that we've set up already has all 797 00:28:32,460 --> 00:28:36,000 the requirements and stuff that's built 798 00:28:33,900 --> 00:28:37,500 into it if you do want something more 799 00:28:36,000 --> 00:28:40,380 don't don't forget to make them make it 800 00:28:37,500 --> 00:28:42,000 a private account as well but yeah if 801 00:28:40,380 --> 00:28:44,100 you want something more technically 802 00:28:42,000 --> 00:28:45,779 involved you can not you can avoid not 803 00:28:44,100 --> 00:28:47,279 use the default one or build it on top 804 00:28:45,779 --> 00:28:49,860 of that one to give more specifications 805 00:28:47,279 --> 00:28:51,779 you can get your code contributors added 806 00:28:49,860 --> 00:28:53,580 in or you as a teacher so you can 807 00:28:51,779 --> 00:28:54,840 actually see what they've coded uh 808 00:28:53,580 --> 00:28:57,000 that's pretty important so you'll need 809 00:28:54,840 --> 00:28:58,799 to show them how to do that and here we 810 00:28:57,000 --> 00:29:00,900 go quickly we're setting up code spaces 811 00:28:58,799 --> 00:29:02,640 and we're going to jump in and we'll be 812 00:29:00,900 --> 00:29:05,880 able to quickly go through and make some 813 00:29:02,640 --> 00:29:08,880 edits to all that code adding the names 814 00:29:05,880 --> 00:29:11,120 of our people in the team 815 00:29:08,880 --> 00:29:11,120 foreign 816 00:29:16,340 --> 00:29:23,100 as well and then yeah that's all 817 00:29:21,360 --> 00:29:25,559 it's all happening now we just want to 818 00:29:23,100 --> 00:29:28,340 commit it and run the tests and see how 819 00:29:25,559 --> 00:29:28,340 that all goes 820 00:29:29,039 --> 00:29:32,880 sorry we've seen that 821 00:29:30,840 --> 00:29:34,980 let's Jump Ahead a little bit and we've 822 00:29:32,880 --> 00:29:36,659 committed the code the first time but we 823 00:29:34,980 --> 00:29:38,880 can see that it hasn't passed the test 824 00:29:36,659 --> 00:29:41,399 yet so we're going to go and we're going 825 00:29:38,880 --> 00:29:44,460 to actually write all of that code fill 826 00:29:41,399 --> 00:29:46,919 in all those to do's and then we can run 827 00:29:44,460 --> 00:29:48,840 the code one more time 828 00:29:46,919 --> 00:29:52,200 once we've committed it and we'll see 829 00:29:48,840 --> 00:29:53,100 that it will go green so that's what we 830 00:29:52,200 --> 00:29:55,500 want 831 00:29:53,100 --> 00:29:57,299 so it's as easy as that to get students 832 00:29:55,500 --> 00:29:59,760 seeing their code and having some 833 00:29:57,299 --> 00:30:02,640 testing involved in the code as well 834 00:29:59,760 --> 00:30:04,860 sorry what have we learned today we've 835 00:30:02,640 --> 00:30:07,919 learned that GitHub and get our friends 836 00:30:04,860 --> 00:30:09,720 to you and and to your students think 837 00:30:07,919 --> 00:30:11,760 about you know not losing those Major 838 00:30:09,720 --> 00:30:13,500 Works accidentally or being able to see 839 00:30:11,760 --> 00:30:14,820 what your students have contributed to 840 00:30:13,500 --> 00:30:16,500 different projects as we were hearing 841 00:30:14,820 --> 00:30:17,520 with questions to Ali like how do we 842 00:30:16,500 --> 00:30:18,600 know if they've actually done any work 843 00:30:17,520 --> 00:30:20,039 well you could actually see who's 844 00:30:18,600 --> 00:30:21,480 committed what parts of the group 845 00:30:20,039 --> 00:30:24,299 project so that would be really handy 846 00:30:21,480 --> 00:30:26,399 we've also seen how good is just like a 847 00:30:24,299 --> 00:30:28,140 shopping trip and Instagram you know 848 00:30:26,399 --> 00:30:30,960 Instagram worthy shopping trips and we 849 00:30:28,140 --> 00:30:33,600 know the children love Instagram so you 850 00:30:30,960 --> 00:30:35,700 can use that analogy and we've also seen 851 00:30:33,600 --> 00:30:38,340 that you can get yourself and your 852 00:30:35,700 --> 00:30:41,880 students to leg up by creating a project 853 00:30:38,340 --> 00:30:43,940 just saved like this uh so yeah I hope 854 00:30:41,880 --> 00:30:47,820 that's given you something to take away 855 00:30:43,940 --> 00:30:50,039 uh here's a link to some stuff that you 856 00:30:47,820 --> 00:30:51,299 can have for free I've got a cloud 857 00:30:50,039 --> 00:30:55,980 skills challenge if you want to learn 858 00:30:51,299 --> 00:30:59,100 more about git and Code Pilot and code 859 00:30:55,980 --> 00:31:00,299 spaces and GitHub actions and stuff so 860 00:30:59,100 --> 00:31:01,860 that you can just learn lots of free 861 00:31:00,299 --> 00:31:03,419 stuff on Microsoft learn so go get all 862 00:31:01,860 --> 00:31:04,980 the free stuff if you're an educator or 863 00:31:03,419 --> 00:31:08,039 an open source contributor to a major 864 00:31:04,980 --> 00:31:11,580 repo uh go and get that free stuff too 865 00:31:08,039 --> 00:31:13,320 and then yeah for your students uh get 866 00:31:11,580 --> 00:31:15,539 them signed up to imagine cup where they 867 00:31:13,320 --> 00:31:17,399 can like be part of a competition to win 868 00:31:15,539 --> 00:31:19,260 a hundred thousand dollars US which is 869 00:31:17,399 --> 00:31:21,659 even more money or imagine cup Junior 870 00:31:19,260 --> 00:31:23,760 for anyone under 16 and for University 871 00:31:21,659 --> 00:31:25,740 students Microsoft student ambassadors 872 00:31:23,760 --> 00:31:27,000 because then they can get good stuff for 873 00:31:25,740 --> 00:31:30,080 their resume so that's all I've got for 874 00:31:27,000 --> 00:31:33,500 you today and I'm all out of time 875 00:31:30,080 --> 00:31:36,960 thank you Renee thank you 876 00:31:33,500 --> 00:31:38,820 here is your how many is that now that 877 00:31:36,960 --> 00:31:41,000 you've got of python mugs I think this 878 00:31:38,820 --> 00:31:44,159 is five five 879 00:31:41,000 --> 00:31:45,600 congratulations thank you very much 880 00:31:44,159 --> 00:31:49,260 um ladies and gents if you've got 881 00:31:45,600 --> 00:31:51,299 questions pop them on to the 882 00:31:49,260 --> 00:31:53,460 um the Discord Channel and we'll do our 883 00:31:51,299 --> 00:31:55,799 best to answer those ones 884 00:31:53,460 --> 00:31:57,539 um I should let you go for lunch really 885 00:31:55,799 --> 00:32:01,620 um you haven't been naughty 886 00:31:57,539 --> 00:32:04,880 um back at 1 45 150 please and we'll see 887 00:32:01,620 --> 00:32:04,880 you then thank you very much 888 00:32:06,419 --> 00:32:08,899 you