1 00:00:00,000 --> 00:00:12,150 2 00:00:12,150 --> 00:00:13,470 >> DAVID J. MALAN: Hello, world. 3 00:00:13,470 --> 00:00:16,670 My name is David Malan, and this is CS50 live. 4 00:00:16,670 --> 00:00:20,060 Odds are, if you're tuning into this stream, you're a student in CS50x and 5 00:00:20,060 --> 00:00:23,990 CS50 perhaps through EdX, Harvard College or Harvard Extension School. 6 00:00:23,990 --> 00:00:27,340 Well, because so much of the course's material these days is provided to you 7 00:00:27,340 --> 00:00:30,500 on video, we thought we'd do the same, but this time make it a little 8 00:00:30,500 --> 00:00:33,110 interesting and actually broadcast all of this live. 9 00:00:33,110 --> 00:00:36,130 So if you see me trip, if you see me misspeak, if you see me screw up, all 10 00:00:36,130 --> 00:00:40,290 of that is happening literally right now in Cambridge, Massachusetts on 11 00:00:40,290 --> 00:00:41,570 Friday morning here. 12 00:00:41,570 --> 00:00:45,870 >> Well, we thought we would first give you a sense-- see, there it is. 13 00:00:45,870 --> 00:00:47,930 This is CS50 live, already. 14 00:00:47,930 --> 00:00:50,410 So over the past couple of weeks, people have been posting questions to 15 00:00:50,410 --> 00:00:52,560 Reddit and Facebook and Twitter and the like. 16 00:00:52,560 --> 00:00:54,820 And one of them in particular caught our eye that we thought might be a 17 00:00:54,820 --> 00:00:56,020 frequently asked question. 18 00:00:56,020 --> 00:00:57,820 So I thought I'd read to you here live. 19 00:00:57,820 --> 00:00:58,860 >> So in Week 0. 20 00:00:58,860 --> 00:01:02,450 Anyone else feeling a little confused and/or overwhelmed already? 21 00:01:02,450 --> 00:01:04,099 Well, this was posted on Reddit. 22 00:01:04,099 --> 00:01:06,290 And the student elaborated as follows-- 23 00:01:06,290 --> 00:01:07,875 I don't have much prior experience. 24 00:01:07,875 --> 00:01:10,980 Could that be why I seem to be catching on much more slowly than the 25 00:01:10,980 --> 00:01:12,610 rest of the people posting here? 26 00:01:12,610 --> 00:01:15,780 I'm really interested in all of this, but scratch is a little confusing to 27 00:01:15,780 --> 00:01:16,870 me for some reason. 28 00:01:16,870 --> 00:01:18,520 I don't seem to know where to start. 29 00:01:18,520 --> 00:01:21,680 What should I do to try and grasp all of this a bit better? 30 00:01:21,680 --> 00:01:24,410 I'm disappointed that I'm already getting confused. 31 00:01:24,410 --> 00:01:27,550 >> So this is absolutely, indeed, a frequently asked question. 32 00:01:27,550 --> 00:01:30,700 In fact, if you tuned in to Week 0's lecture already, you'll know that at 33 00:01:30,700 --> 00:01:35,190 least here on campus, 73% of your classmates here have no prior 34 00:01:35,190 --> 00:01:36,310 programing experience. 35 00:01:36,310 --> 00:01:39,510 And realize too, that a lot of the chatter on Facebook and Twitter and 36 00:01:39,510 --> 00:01:42,940 Reddit now is perhaps biased toward those students who already do have a 37 00:01:42,940 --> 00:01:44,440 bit more comfort and savvy. 38 00:01:44,440 --> 00:01:46,620 And that's, after all, why they're gravitating toward 39 00:01:46,620 --> 00:01:48,440 those forms so quickly. 40 00:01:48,440 --> 00:01:52,290 >> So certainly, don't be overwhelmed by so many of the amazing projects that 41 00:01:52,290 --> 00:01:55,220 are already being shared in the Scratch Gallery, as well as on Reddit 42 00:01:55,220 --> 00:01:55,850 and Facebook. 43 00:01:55,850 --> 00:01:58,820 But really take comfort in the fact that there are hundreds, nay, 44 00:01:58,820 --> 00:02:01,650 literally thousands of other people just like you. 45 00:02:01,650 --> 00:02:05,420 And they might not be speaking up, but they are indeed out there. 46 00:02:05,420 --> 00:02:07,150 >> So what is CS50 live meant to be? 47 00:02:07,150 --> 00:02:09,940 This is going to be an opportunity for us, every once in a while, to speak 48 00:02:09,940 --> 00:02:11,025 back and forth live. 49 00:02:11,025 --> 00:02:15,520 And we'll either take in questions via video, or do our best to allow you, in 50 00:02:15,520 --> 00:02:19,770 the future, even to tune in yourself live via live streaming video. 51 00:02:19,770 --> 00:02:23,240 >> But for now, we've got a number of fun segments prepared for you, the first 52 00:02:23,240 --> 00:02:25,730 of which is going to be a glimpse at Harvard University. 53 00:02:25,730 --> 00:02:28,100 For those of you who have never stepped foot here in Cambridge, 54 00:02:28,100 --> 00:02:32,070 Massachusetts, we thought we'd show you some of the more well-known sites, 55 00:02:32,070 --> 00:02:35,190 as well as some of the sites unique to CS50. 56 00:02:35,190 --> 00:02:36,810 Let's take a look. 57 00:02:36,810 --> 00:02:39,740 >> We're here outside the main gates of Harvard University, and through these 58 00:02:39,740 --> 00:02:43,250 gates you can see the John Harvard statue, which is most folks' first 59 00:02:43,250 --> 00:02:44,180 destination. 60 00:02:44,180 --> 00:02:45,430 Let's go in. 61 00:02:45,430 --> 00:02:50,360 62 00:02:50,360 --> 00:02:53,470 So this is the John Harvard statue, one of the most popular locations on 63 00:02:53,470 --> 00:02:54,640 campus for tourists. 64 00:02:54,640 --> 00:02:59,170 What you'll see here is emblazoned with John Harvard, Founder, 1638. 65 00:02:59,170 --> 00:03:01,730 >> Well, turns out, if you take the tour, one of the things you'll learn is that 66 00:03:01,730 --> 00:03:03,030 there's three lies here. 67 00:03:03,030 --> 00:03:04,760 One, this isn't John Harvard. 68 00:03:04,760 --> 00:03:09,380 Two, he wasn't the founder, and three, Harvard was not founded in 1638. 69 00:03:09,380 --> 00:03:13,060 But what is true is that if you rub his foot up here, you might just get a 70 00:03:13,060 --> 00:03:14,310 little bit of luck. 71 00:03:14,310 --> 00:03:16,650 72 00:03:16,650 --> 00:03:19,960 >> Shall we take a look at CS50's studio? 73 00:03:19,960 --> 00:03:23,450 So we're here in Maxwell Dworkin G-123. 74 00:03:23,450 --> 00:03:25,510 Maxwell Dworkin's our computer science building. 75 00:03:25,510 --> 00:03:28,380 If you'd like to look this up on Google Maps, we're at 33 Oxford Street 76 00:03:28,380 --> 00:03:29,960 in Cambridge, Massachusetts. 77 00:03:29,960 --> 00:03:33,210 So here, against this backdrop, is where we shoot CS50's shorts, 78 00:03:33,210 --> 00:03:34,685 walk-throughs, and other material. 79 00:03:34,685 --> 00:03:37,760 >> What you'll typically see is that we'll come in here, turn on a lot of 80 00:03:37,760 --> 00:03:42,180 these lights, and the subjects, Zamyla, Rob, and others, will have 81 00:03:42,180 --> 00:03:44,420 them situated up here, against this white backdrop. 82 00:03:44,420 --> 00:03:47,040 Or alternatively, if we drop this green screen, we can actually 83 00:03:47,040 --> 00:03:49,720 digitally put in behind them anything we want-- a 84 00:03:49,720 --> 00:03:51,320 computer screen, TV screen-- 85 00:03:51,320 --> 00:03:52,560 really, anything like that. 86 00:03:52,560 --> 00:03:54,850 >> Well, around here, we have some of the lighting that we throw on to the 87 00:03:54,850 --> 00:03:58,760 subject so that you get a nice, clean shot against them and the backdrop. 88 00:03:58,760 --> 00:04:01,700 Here we have some remnants of what was once the CS50 lounge. 89 00:04:01,700 --> 00:04:03,460 So this used to be a place where computer science 90 00:04:03,460 --> 00:04:04,560 undergraduates would hang out. 91 00:04:04,560 --> 00:04:07,230 We've since turned it into something more high tech for these shoots. 92 00:04:07,230 --> 00:04:09,840 >> In fact, here's a remnant of CS50 puzzle day. 93 00:04:09,840 --> 00:04:13,330 At the start of the semester, we have some 200-plus students get together 94 00:04:13,330 --> 00:04:16,190 and solve puzzles, which is meant to be demonstrative of the fact that 95 00:04:16,190 --> 00:04:18,510 computer science really isn't about programming, per se. 96 00:04:18,510 --> 00:04:20,670 It's more generally about problem solving. 97 00:04:20,670 --> 00:04:23,610 >> But here you see from yesteryear, some of the markings that we've left 98 00:04:23,610 --> 00:04:25,140 forever up on these glass walls. 99 00:04:25,140 --> 00:04:27,650 Now if we pivot around, you'll see what things are like from the 100 00:04:27,650 --> 00:04:29,010 producer's perspective. 101 00:04:29,010 --> 00:04:30,250 Over here, we have a tripod. 102 00:04:30,250 --> 00:04:34,170 And on this tripod is really just a computer screen that is reflecting 103 00:04:34,170 --> 00:04:35,060 against a mirror. 104 00:04:35,060 --> 00:04:37,805 So if we actually turned on the camera, turned on the computer, you 105 00:04:37,805 --> 00:04:40,780 would actually see the words on this screen that I or one of the team 106 00:04:40,780 --> 00:04:43,050 members are actually reciting on camera. 107 00:04:43,050 --> 00:04:46,730 >> What we do in this studio is really the only scripted content for CS50. 108 00:04:46,730 --> 00:04:49,330 And we script it with a teleprompter, so that we can get the takes just 109 00:04:49,330 --> 00:04:52,820 right, and so that when we make mistakes, it's a lot easier to redo, 110 00:04:52,820 --> 00:04:57,010 redo, redo, and deterministically, say the same thing again and again. 111 00:04:57,010 --> 00:04:59,750 Sanders Theatre, meanwhile, is very much off the cuff. 112 00:04:59,750 --> 00:05:01,790 And it's a much more organic environment where we have me and 113 00:05:01,790 --> 00:05:03,560 students and others interacting on stage. 114 00:05:03,560 --> 00:05:04,970 So why don't we take a look there next. 115 00:05:04,970 --> 00:05:11,330 116 00:05:11,330 --> 00:05:14,330 >> So we're coming up here on Memorial Hall, which is where CS50's office 117 00:05:14,330 --> 00:05:16,100 hours and lectures are held. 118 00:05:16,100 --> 00:05:18,080 Here in this entrance is Annenberg Hall. 119 00:05:18,080 --> 00:05:20,940 This is actually where all of Harvard's freshmen take their meals. 120 00:05:20,940 --> 00:05:23,890 And it's also where in the evenings, one or more nights a week, that we 121 00:05:23,890 --> 00:05:26,960 have hundreds of CS50 students gather sometimes to work on their problem 122 00:05:26,960 --> 00:05:29,480 sets alongside each other, as well as CS50 staff. 123 00:05:29,480 --> 00:05:32,030 124 00:05:32,030 --> 00:05:33,760 >> So we're here on the steps of Memorial Hall. 125 00:05:33,760 --> 00:05:36,330 These are the main doors that will lead us to Sanders Theatre, where 126 00:05:36,330 --> 00:05:39,560 lectures are held. 127 00:05:39,560 --> 00:05:40,810 Shall we? 128 00:05:40,810 --> 00:05:43,060 129 00:05:43,060 --> 00:05:46,920 >> And this is Sanders Theatre, where CS50's lectures are held. 130 00:05:46,920 --> 00:05:48,170 This is CS50. 131 00:05:48,170 --> 00:05:58,780 132 00:05:58,780 --> 00:06:00,870 So there's this expression going around the internet 133 00:06:00,870 --> 00:06:02,260 known as, Had One Job. 134 00:06:02,260 --> 00:06:06,190 And I indeed Had One Job about two minutes and a half ago, that my 135 00:06:06,190 --> 00:06:09,710 colleagues here, Ramon, Colton, Dan, and Padrick, very quickly reminded me 136 00:06:09,710 --> 00:06:11,590 of, as soon as we went to that tour. 137 00:06:11,590 --> 00:06:14,820 >> Because in fact, what we were supposed to begin with here today were a few 138 00:06:14,820 --> 00:06:17,790 hellos from some of your predecessors in the class. 139 00:06:17,790 --> 00:06:20,760 So we're actually going to rewind a little bit, and bring up William now, 140 00:06:20,760 --> 00:06:24,390 who hails from Wales in the United Kingdom, who was one of our youngest 141 00:06:24,390 --> 00:06:29,102 students last year, who would like to say hello. 142 00:06:29,102 --> 00:06:30,400 >> SPEAKER 1: What's your name? 143 00:06:30,400 --> 00:06:31,020 >> SPEAKER 2: William. 144 00:06:31,020 --> 00:06:33,690 >> SPEAKER 1: What's this? 145 00:06:33,690 --> 00:06:36,745 >> SPEAKER 2: CS50. 146 00:06:36,745 --> 00:06:38,810 >> DAVID J. MALAN: So that then was William. 147 00:06:38,810 --> 00:06:42,120 Let's now head elsewhere, down to Nigeria, where another classmate of 148 00:06:42,120 --> 00:06:44,280 yours from years past is [? Annette, ?] 149 00:06:44,280 --> 00:06:47,760 who would similarly like to say, Hello, world. 150 00:06:47,760 --> 00:06:50,190 >> SPEAKER 3: Hello, world. 151 00:06:50,190 --> 00:06:53,840 I'm really excited to be taking CS50 this year, all the 152 00:06:53,840 --> 00:06:56,160 way from Lagos, Nigeria. 153 00:06:56,160 --> 00:06:59,570 I felt the need to hone my computer skills, and I've always wanted to 154 00:06:59,570 --> 00:07:02,830 become a good programmer, and so I signed up for the course. 155 00:07:02,830 --> 00:07:06,860 I want to say thanks to Harvard and MIT and schools that came together to 156 00:07:06,860 --> 00:07:10,200 make this happen for thousands of people across the world. 157 00:07:10,200 --> 00:07:12,740 >> I only just finished my first game ever. 158 00:07:12,740 --> 00:07:17,690 Got done with P-set 0, my Scratch program, which is lots of fun. 159 00:07:17,690 --> 00:07:21,160 I look forward to having more fun with the course, and with my classmates as 160 00:07:21,160 --> 00:07:24,230 we go through p set after p set. 161 00:07:24,230 --> 00:07:24,840 My name is [? Annette ?] 162 00:07:24,840 --> 00:07:28,872 [? Onoja ?], and this is CS50. 163 00:07:28,872 --> 00:07:31,880 >> DAVID J. MALAN: Now, particularly if you're worried that you're the eldest 164 00:07:31,880 --> 00:07:34,040 student in the class, rest assured that you're not. 165 00:07:34,040 --> 00:07:39,270 CS50 and CS50x has quite the gamut of ages from as young as 10 years old to 166 00:07:39,270 --> 00:07:40,960 much, much older than that. 167 00:07:40,960 --> 00:07:43,680 In fact, a number of your students who have been posting on the bulletin 168 00:07:43,680 --> 00:07:45,790 boards have been sharing videos to that effect. 169 00:07:45,790 --> 00:07:48,140 And we'd like to share one in particular from last year-- 170 00:07:48,140 --> 00:07:48,830 [? Alecio ?] 171 00:07:48,830 --> 00:07:51,680 from Brazil, who would also like to say hello to his 172 00:07:51,680 --> 00:07:54,870 successors in the class. 173 00:07:54,870 --> 00:07:56,790 >> SPEAKER 4: Hello, world. 174 00:07:56,790 --> 00:07:57,700 I'm [? Alecio ?] 175 00:07:57,700 --> 00:07:58,390 [? Omida ?] 176 00:07:58,390 --> 00:08:00,430 from Brasilia, Brazil. 177 00:08:00,430 --> 00:08:07,050 I'm 78 years old, and I'm very enthusiastic about this online course. 178 00:08:07,050 --> 00:08:12,270 I'm sure it will help me lots to perform my work in the area of 179 00:08:12,270 --> 00:08:14,180 distance learning. 180 00:08:14,180 --> 00:08:19,350 I take this opportunity to thank EdX for the initiative of courses like 181 00:08:19,350 --> 00:08:25,870 this, and also to thank Professor Malan and all the CS50 gang. 182 00:08:25,870 --> 00:08:26,930 My name is [? Alecio ?] 183 00:08:26,930 --> 00:08:29,795 [? Omida ?], and this is CS50. 184 00:08:29,795 --> 00:08:32,408 185 00:08:32,408 --> 00:08:35,159 >> DAVID J. MALAN: So now we would be cutting to a tour of Harvard 186 00:08:35,159 --> 00:08:37,559 University, for those of you who haven't seen Harvard before. 187 00:08:37,559 --> 00:08:40,789 But something tells me you have now seen Harvard University before. 188 00:08:40,789 --> 00:08:43,720 So we're going to forge ahead to a segment known as our inbox. 189 00:08:43,720 --> 00:08:46,410 Over the past few weeks, you've indeed been submitting quite a few questions, 190 00:08:46,410 --> 00:08:47,910 for which we've been keeping an eye out. 191 00:08:47,910 --> 00:08:51,470 >> And some of you were kind enough to ask those same questions via video. 192 00:08:51,470 --> 00:08:54,850 In fact, here in Kuwait, we have Dhruv, who would like to pose a 193 00:08:54,850 --> 00:08:59,490 question to us, the staff, about CS50 and about computer science and 194 00:08:59,490 --> 00:09:00,670 programming more generally. 195 00:09:00,670 --> 00:09:01,730 Dhruv? 196 00:09:01,730 --> 00:09:02,390 >> DHRUV RAMANI: Hi. 197 00:09:02,390 --> 00:09:04,853 I'm Dhruv, and I live in Kuwait, Middle East. 198 00:09:04,853 --> 00:09:06,302 I'm a student [? in class 10th, ?] 199 00:09:06,302 --> 00:09:07,560 and I've done four languages by now. 200 00:09:07,560 --> 00:09:12,060 I have taken CS50 in 2013, and the first question that came to my mind is 201 00:09:12,060 --> 00:09:14,488 which is the best language to learn in today's world? 202 00:09:14,488 --> 00:09:17,866 203 00:09:17,866 --> 00:09:19,880 >> DAVID J. MALAN: So that's a great question. 204 00:09:19,880 --> 00:09:21,940 And there actually isn't one answer to it. 205 00:09:21,940 --> 00:09:24,990 There really isn't the best language, but rather there's the best language 206 00:09:24,990 --> 00:09:26,220 sometimes for the job. 207 00:09:26,220 --> 00:09:28,120 But even then, you often have discretion. 208 00:09:28,120 --> 00:09:31,180 For instance, pictured here is quite a few of the most popular languages 209 00:09:31,180 --> 00:09:35,200 today, and C is just one of them among them, as is PHP and others that we'll 210 00:09:35,200 --> 00:09:38,140 explore later in the semester, in CS50 itself. 211 00:09:38,140 --> 00:09:41,720 >> Now, very much in vogue these days are languages like Python and Ruby and 212 00:09:41,720 --> 00:09:46,000 Perl, and even Java to some extent for web-based programming, whereas Java in 213 00:09:46,000 --> 00:09:48,380 particular is used quite a bit for enterprise software, 214 00:09:48,380 --> 00:09:49,880 made by large companies. 215 00:09:49,880 --> 00:09:52,545 C is quite common in low-level embedded systems. 216 00:09:52,545 --> 00:09:56,120 But we actually tend to use C because it's a fairly small language, on top 217 00:09:56,120 --> 00:09:58,550 of which a lot of its successors have been built. 218 00:09:58,550 --> 00:10:01,890 >> So if you're wondering which language you should use for a particular task, 219 00:10:01,890 --> 00:10:03,080 well, it really depends. 220 00:10:03,080 --> 00:10:06,900 And quite often, a programmer's own personal preferences weigh in. 221 00:10:06,900 --> 00:10:09,590 Right now, for instance, I'm going through a phase where I really like 222 00:10:09,590 --> 00:10:10,270 JavaScript. 223 00:10:10,270 --> 00:10:12,970 Not so much in the browser, but actually on the server side. 224 00:10:12,970 --> 00:10:16,960 You can actually use it with a framework called Node.js to program 225 00:10:16,960 --> 00:10:18,580 the command line in a server. 226 00:10:18,580 --> 00:10:22,035 >> Now in the real world, much like you could, for instance, try to get a 227 00:10:22,035 --> 00:10:24,880 screw like this into the wall using most any tool-- for instance, even the 228 00:10:24,880 --> 00:10:26,550 most heavy-handed of hammers. 229 00:10:26,550 --> 00:10:30,080 This would indeed work if you hit the heck out of the thing into the wall. 230 00:10:30,080 --> 00:10:31,880 But you could be a little more sophisticated. 231 00:10:31,880 --> 00:10:34,720 And you could reach for instead, something like a flathead screwdriver. 232 00:10:34,720 --> 00:10:38,300 Because if you get it just right, that would fit into the crosshairs of that 233 00:10:38,300 --> 00:10:40,630 screw, and you could probably get it into the wall. 234 00:10:40,630 --> 00:10:43,880 >> But the best tool for the job, or the one most appropriate for this 235 00:10:43,880 --> 00:10:47,820 particular application, so to speak, would be a Phillips head screwdriver, 236 00:10:47,820 --> 00:10:52,140 where the head of the screwdriver fits perfectly into the head of the screw. 237 00:10:52,140 --> 00:10:54,190 So when choosing a programming language, it's similar 238 00:10:54,190 --> 00:10:54,880 in spirit to that. 239 00:10:54,880 --> 00:10:58,380 And you could use different languages to solve the same task, but some of 240 00:10:58,380 --> 00:11:00,390 them might yield a more elegant solution. 241 00:11:00,390 --> 00:11:02,380 >> Some of them might yield a faster solution. 242 00:11:02,380 --> 00:11:05,500 And arguably, some of them might indeed yield a better solution. 243 00:11:05,500 --> 00:11:08,830 So one of the takeaways, hopefully, you'll get out of CS50 is when to use 244 00:11:08,830 --> 00:11:11,370 particular tools for a particular job. 245 00:11:11,370 --> 00:11:14,130 >> Well, next up, let's take a look at another question that was submitted by 246 00:11:14,130 --> 00:11:17,610 one of your classmates, this time from Bernardo from Brazil. 247 00:11:17,610 --> 00:11:23,844 248 00:11:23,844 --> 00:11:24,980 >> BERNARDO: Hey. 249 00:11:24,980 --> 00:11:26,090 My name is Bernardo. 250 00:11:26,090 --> 00:11:27,170 I am from Brazil. 251 00:11:27,170 --> 00:11:29,076 And I'd like to ask two things. 252 00:11:29,076 --> 00:11:34,130 First of them, how fast is the internet speed at Harvard, and second, 253 00:11:34,130 --> 00:11:35,915 who had the idea to make the appliance? 254 00:11:35,915 --> 00:11:39,424 255 00:11:39,424 --> 00:11:41,150 >> DAVID J. MALAN: So that too was a great question. 256 00:11:41,150 --> 00:11:43,130 And we actually didn't know the answer to that. 257 00:11:43,130 --> 00:11:46,220 So last night, I sent off an email to some friends in Harvard's networking 258 00:11:46,220 --> 00:11:48,770 group, and posed precisely Bernardo's question. 259 00:11:48,770 --> 00:11:50,770 Well, it turns out-- drum roll-- 260 00:11:50,770 --> 00:11:55,370 that Harvard's internet connectivity to the outside world is 10 gigabits. 261 00:11:55,370 --> 00:12:00,360 To put that into perspective, that's 10 billion bits per second. 262 00:12:00,360 --> 00:12:03,290 >> Now to put that into perspective, if you were to download a movie from 263 00:12:03,290 --> 00:12:06,060 something like iTunes or elsewhere online these days, they might in fact 264 00:12:06,060 --> 00:12:07,970 be really big if it's an HD video. 265 00:12:07,970 --> 00:12:10,390 That might be two gigabytes in total. 266 00:12:10,390 --> 00:12:14,690 Well, if your bandwidth is 10 gigabits per second, you can download a movie 267 00:12:14,690 --> 00:12:19,060 like that in mere seconds, rather than the minutes or hours it takes most of 268 00:12:19,060 --> 00:12:20,070 us at home. 269 00:12:20,070 --> 00:12:23,470 >> Now in fairness, not each and every one of us here on campus has access to 270 00:12:23,470 --> 00:12:25,880 10 billion bits of bandwidth per second. 271 00:12:25,880 --> 00:12:28,570 In reality, it's shared across quite a few people. 272 00:12:28,570 --> 00:12:32,270 But in fact, why don't we take a look at a speed test, whereby we'll conduct 273 00:12:32,270 --> 00:12:35,530 a test that tests just how fast some bits can travel for my particular 274 00:12:35,530 --> 00:12:37,810 laptop to some other nearby location. 275 00:12:37,810 --> 00:12:39,520 >> That isn't necessarily an authoritative 276 00:12:39,520 --> 00:12:41,190 answer as to the bandwidth. 277 00:12:41,190 --> 00:12:44,530 In fact, if you try this at home, you might find that your internet service 278 00:12:44,530 --> 00:12:49,170 provider, or ISP, is kind of misleading you, whereby a lot of ISPs 279 00:12:49,170 --> 00:12:51,230 these days allow you burst speeds. 280 00:12:51,230 --> 00:12:54,700 And by burst, I mean for the first few seconds of downloading something or 281 00:12:54,700 --> 00:12:57,790 doing anything with your internet connection, it might actually download 282 00:12:57,790 --> 00:12:58,685 quite fast. 283 00:12:58,685 --> 00:13:02,170 But if you watch a progress bar-- the speed at which your bits are being 284 00:13:02,170 --> 00:13:02,880 downloaded-- 285 00:13:02,880 --> 00:13:06,630 you'll often see that it's slowing down and down and down. 286 00:13:06,630 --> 00:13:09,800 >> So these speed tests, frankly, aren't necessarily representative. 287 00:13:09,800 --> 00:13:13,980 But for short downloads, you'll indeed get this many bits down per second. 288 00:13:13,980 --> 00:13:15,230 Dan, shall we run the speed test? 289 00:13:15,230 --> 00:13:31,060 290 00:13:31,060 --> 00:13:32,310 Come on. 291 00:13:32,310 --> 00:13:35,160 292 00:13:35,160 --> 00:13:37,320 There's our download speed and now our upload speed. 293 00:13:37,320 --> 00:13:39,470 Come on, come on. 294 00:13:39,470 --> 00:13:41,320 Come on! 295 00:13:41,320 --> 00:13:42,570 Come on! 296 00:13:42,570 --> 00:13:44,810 297 00:13:44,810 --> 00:13:46,130 Too much, I'm being told. 298 00:13:46,130 --> 00:13:46,660 >> All right. 299 00:13:46,660 --> 00:13:50,340 So that was in this studio here, Hauser Studio, in Widener Library of 300 00:13:50,340 --> 00:13:51,500 Harvard University. 301 00:13:51,500 --> 00:13:53,810 The speed that my little laptop is getting, through 302 00:13:53,810 --> 00:13:55,580 Harvard's outbound internet. 303 00:13:55,580 --> 00:13:58,760 Now lastly, we have a question from a third of your classmates-- 304 00:13:58,760 --> 00:14:05,206 Mauricio from Peru, who would like to pose the following question from here. 305 00:14:05,206 --> 00:14:06,480 >> MAURICIO RADA: Hello. 306 00:14:06,480 --> 00:14:08,750 My name is Mauricio, and I'm from Peru. 307 00:14:08,750 --> 00:14:13,560 My question is, am I allowed to start [INAUDIBLE] to teach CS50 for our 308 00:14:13,560 --> 00:14:15,890 schools using CS50 materials? 309 00:14:15,890 --> 00:14:17,300 [INAUDIBLE]. 310 00:14:17,300 --> 00:14:20,842 My name is Mauricio, and this is CS50. 311 00:14:20,842 --> 00:14:22,770 >> DAVID J. MALAN: [INAUDIBLE] 312 00:14:22,770 --> 00:14:25,550 Mauricio, and anyone else that's interested in this particular question 313 00:14:25,550 --> 00:14:28,380 know that the answer is absolutely, wholeheartedly yes. 314 00:14:28,380 --> 00:14:31,960 In fact, a student here on campus named Gabriel [? Grimardes ?] 315 00:14:31,960 --> 00:14:35,910 who hails from Brazil actually did exactly that in his hometown with a 316 00:14:35,910 --> 00:14:42,410 course he dubbed CC50, available here at CC50.com.br, those of you who speak 317 00:14:42,410 --> 00:14:43,930 Portuguese, if you'd like to take a look. 318 00:14:43,930 --> 00:14:47,020 >> And what Gabriel did a couple of years ago was literally downloaded all of 319 00:14:47,020 --> 00:14:50,520 CS50's handouts and exams and problem sets and videos. 320 00:14:50,520 --> 00:14:53,230 And he translated most of that content himself. 321 00:14:53,230 --> 00:14:56,510 And then, with his dad's help in the back of the classroom in his high 322 00:14:56,510 --> 00:15:01,030 school, he himself started teaching his own version of CS50, to first 50 323 00:15:01,030 --> 00:15:02,440 of his classmates in high school. 324 00:15:02,440 --> 00:15:05,670 Then the subsequent semester, some 150 of his classmates. 325 00:15:05,670 --> 00:15:08,190 >> And it's quite, quite inspiring to see him. 326 00:15:08,190 --> 00:15:11,540 So if you do go to this URL after this broadcast, click on the YouTube video 327 00:15:11,540 --> 00:15:12,250 that's embedded there. 328 00:15:12,250 --> 00:15:15,500 And you can see Gabriel teaching pretty much the same material that we 329 00:15:15,500 --> 00:15:17,970 taught that same year in CS50 on campus. 330 00:15:17,970 --> 00:15:21,240 And I'm so pleased to say that that same Gabriel, formerly a high school 331 00:15:21,240 --> 00:15:24,330 student from Brazil, is now here on Harvard's campus as a Harvard 332 00:15:24,330 --> 00:15:28,450 freshman, and this coming year will be CS50's head teaching fellow, and all 333 00:15:28,450 --> 00:15:31,120 the more involved in CS50 goings-on. 334 00:15:31,120 --> 00:15:34,100 >> So if you yourself would like to do this like Mauricio, please just go to 335 00:15:34,100 --> 00:15:37,930 CS50.tv, which is the course's own OpenCourseWare site. 336 00:15:37,930 --> 00:15:41,060 There's a license there that you can read, and it's actually something 337 00:15:41,060 --> 00:15:44,140 called a Creative Commons license, which pretty much says that you are 338 00:15:44,140 --> 00:15:48,280 free and welcome to use the material, to modify the material, so long as you 339 00:15:48,280 --> 00:15:50,990 yourself share alike with others. 340 00:15:50,990 --> 00:15:52,620 >> So that's it for this week's inbox. 341 00:15:52,620 --> 00:15:55,910 Why don't we take a short break here, and allow you a chance to watch 60 342 00:15:55,910 --> 00:15:57,488 seconds of kittens. 343 00:15:57,488 --> 00:16:58,865 344 00:16:58,865 --> 00:17:01,860 >> DAVID J. MALAN: [INAUDIBLE] 345 00:17:01,860 --> 00:17:05,720 live, and what we thought we'd do is conclude today from a film that one of 346 00:17:05,720 --> 00:17:08,760 CS50's own staff members, T.J. Barber, has put together. 347 00:17:08,760 --> 00:17:14,730 As you probably know, CS50 here on campus culminates with a CS50 fair, an 348 00:17:14,730 --> 00:17:16,730 epic display of students' final projects. 349 00:17:16,730 --> 00:17:19,757 Those of you taking CS50 through Harvard Extension School online, or 350 00:17:19,757 --> 00:17:23,119 through EdX online will have a similar opportunity, albeit virtual and 351 00:17:23,119 --> 00:17:27,010 online, to exhibit your final project some number of months hence for the 352 00:17:27,010 --> 00:17:28,480 whole world to see. 353 00:17:28,480 --> 00:17:31,530 >> But we thought we'd give you a sense here, with some fun backdrop on our 354 00:17:31,530 --> 00:17:35,880 big screen display, of exactly what happened just a few weeks ago here on 355 00:17:35,880 --> 00:17:39,670 campus with the on-campus version of CS50's fair. 356 00:17:39,670 --> 00:17:40,920 Let's roll. 357 00:17:40,920 --> 00:17:43,234 358 00:17:43,234 --> 00:18:17,370 >> [MUSIC PLAYING] 359 00:18:17,370 --> 00:18:21,354 >> SPEAKER 5: Hi, [? I'm Allison ?] here at the CS50 fair, with-- 360 00:18:21,354 --> 00:18:22,350 >> SPEAKER 6: [? Curt Stone. ?] 361 00:18:22,350 --> 00:18:22,848 >> [? SPEAKER 5: Curt Stone. ?] 362 00:18:22,848 --> 00:18:23,860 Great to see you. 363 00:18:23,860 --> 00:18:26,159 So, can you tell us a little bit about your project? 364 00:18:26,159 --> 00:18:27,638 >> SPEAKER 6: Oh, well absolutely. 365 00:18:27,638 --> 00:18:29,117 >> SPEAKER 7: We made music visualizer. 366 00:18:29,117 --> 00:18:34,047 367 00:18:34,047 --> 00:18:35,297 >> SPEAKER 8: [INAUDIBLE]. 368 00:18:35,297 --> 00:18:39,963 369 00:18:39,963 --> 00:18:42,428 >> SPEAKER 9: So neither of us had any experience [INAUDIBLE]. 370 00:18:42,428 --> 00:18:43,414 >> SPEAKER 10: That's awesome. 371 00:18:43,414 --> 00:18:45,170 Same as 70% of other students. 372 00:18:45,170 --> 00:18:47,292 >> SPEAKER 11: I was one of the 70% of people who didn't 373 00:18:47,292 --> 00:18:47,930 know anything about-- 374 00:18:47,930 --> 00:18:49,364 >> SPEAKER 5: And now you're like [INAUDIBLE]. 375 00:18:49,364 --> 00:18:55,100 376 00:18:55,100 --> 00:18:57,682 >> SPEAKER 12: It's an amazing chance to bring students together 377 00:18:57,682 --> 00:18:59,566 and see what happens. 378 00:18:59,566 --> 00:19:03,050 Look at some 600-odd apps being demonstrated here that didn't exist 379 00:19:03,050 --> 00:19:05,526 before because of one entry-level course amazing. 380 00:19:05,526 --> 00:19:45,331 381 00:19:45,331 --> 00:19:49,380 >> SPEAKER 13: They really do cater to your experience coming into the class. 382 00:19:49,380 --> 00:19:54,520 Like me, I had zero, zero computer programming skills. 383 00:19:54,520 --> 00:19:57,395 I knew what Java was, so that was about it. 384 00:19:57,395 --> 00:19:58,650 They really, really do. 385 00:19:58,650 --> 00:20:00,580 And especially-- and the TFs, amazing. 386 00:20:00,580 --> 00:20:05,260 The TFs are a wonderful, wonderful component to this course. 387 00:20:05,260 --> 00:20:06,510 This was CS50. 388 00:20:06,510 --> 00:20:16,915 389 00:20:16,915 --> 00:20:19,200 >> SPEAKER 14: Hundreds of projects walk through this hall. 390 00:20:19,200 --> 00:20:23,710 Hundreds of boxes of candy, hundreds of boxes of popcorn, and quite a few 391 00:20:23,710 --> 00:20:26,580 attendees, and just all of the stress balls that have been 392 00:20:26,580 --> 00:20:28,085 thrown and taken home. 393 00:20:28,085 --> 00:20:32,233 This has been CS50, and this has been the CS50 bear. 394 00:20:32,233 --> 00:20:33,925 Good night. 395 00:20:33,925 --> 00:20:37,220 >> DAVID J. MALAN: That, then, is what awaits you here in CS50. 396 00:20:37,220 --> 00:20:38,790 That's it for CS50 live. 397 00:20:38,790 --> 00:20:41,780 Thanks so much to Ramon, Padrick, Colton, and Dan, who are here behind 398 00:20:41,780 --> 00:20:42,440 the display. 399 00:20:42,440 --> 00:20:45,800 And do keep an eye out on Twitter, Facebook, Reddit, and elsewhere for 400 00:20:45,800 --> 00:20:48,660 announcements via which you yourself can submit videos and questions so 401 00:20:48,660 --> 00:20:52,120 that you can join us here in the studio for the next CS50 live. 402 00:20:52,120 --> 00:20:53,370 This was CS50. 403 00:20:53,370 --> 00:21:20,448