1 00:00:00,000 --> 00:00:01,260 SPEAKER 1: I'm from Brazil. 2 00:00:01,260 --> 00:00:06,760 And I'm going to read the question from the form, because it's quite long. 3 00:00:06,760 --> 00:00:12,360 So for the last two years, CS50 has gone through some important changes 4 00:00:12,360 --> 00:00:17,070 It has transitioned from using PHPS-- 5 00:00:17,070 --> 00:00:22,270 it has transitioned from using PHP to using Python as the back-up-- 6 00:00:22,270 --> 00:00:24,180 at the back-end language. 7 00:00:24,180 --> 00:00:26,820 Some videos from the shorts don't feature anymore 8 00:00:26,820 --> 00:00:30,360 in the list of recommended videos to watch. 9 00:00:30,360 --> 00:00:35,670 The web development focused content has been moved from the regular course 10 00:00:35,670 --> 00:00:42,480 syllabus to being an individual track, [INAUDIBLE] with games Android and iOS 11 00:00:42,480 --> 00:00:43,560 tracks. 12 00:00:43,560 --> 00:00:47,670 And new courses like Web Development with Python and JavaScript 13 00:00:47,670 --> 00:00:50,590 have been created and released for free on edX. 14 00:00:50,590 --> 00:00:54,250 So many changes have happened in the last few years. 15 00:00:54,250 --> 00:00:58,650 So my question is what other changes and new stuff 16 00:00:58,650 --> 00:01:03,240 do you visualize happen in the next 5 or 10 years? 17 00:01:03,240 --> 00:01:10,142 And what kind of path do you see CS50 taking in the near future? 18 00:01:10,142 --> 00:01:11,850 SPEAKER 2: That's a really good question. 19 00:01:11,850 --> 00:01:14,880 And frankly, I would love to know the answer to your question. 20 00:01:14,880 --> 00:01:16,890 But a couple of thoughts do come to mind. 21 00:01:16,890 --> 00:01:20,160 I do think you've highlighted a number of the evolutionary changes 22 00:01:20,160 --> 00:01:24,480 that we've made over the past few years from languages to structures 23 00:01:24,480 --> 00:01:25,920 of the class. 24 00:01:25,920 --> 00:01:28,110 For context, any of the changes we've made year 25 00:01:28,110 --> 00:01:31,800 after year are usually in response to changing trends, 26 00:01:31,800 --> 00:01:35,010 either in industry or in education, or just 27 00:01:35,010 --> 00:01:39,180 because it's becoming easier to introduce students 28 00:01:39,180 --> 00:01:43,140 to more powerful techniques thanks to new and popular languages 29 00:01:43,140 --> 00:01:45,040 and frameworks and the like. 30 00:01:45,040 --> 00:01:50,430 So for instance, the PHP to Python change was a very conscious decision. 31 00:01:50,430 --> 00:01:52,770 We thought about it probably for two or three years. 32 00:01:52,770 --> 00:01:57,060 And at some point, we felt there was an inflection point where Python was just 33 00:01:57,060 --> 00:02:01,260 becoming so popular, and it was useful not only for web programming, 34 00:02:01,260 --> 00:02:05,480 but for command line programs, but for data science applications and the like, 35 00:02:05,480 --> 00:02:08,100 that it was just a very well rounded language, and therefore, 36 00:02:08,100 --> 00:02:11,940 might serve students better during and also after CS50. 37 00:02:11,940 --> 00:02:14,760 And so finally, that tipped us over the edge. 38 00:02:14,760 --> 00:02:17,490 I think moving forward in the future, honestly, 39 00:02:17,490 --> 00:02:21,010 if we knew what we might do differently in 5 or 10 years, 40 00:02:21,010 --> 00:02:24,240 we would probably just do it right now if we could. 41 00:02:24,240 --> 00:02:29,190 But I do hope that we will be able to do all the more real world 42 00:02:29,190 --> 00:02:32,400 examples, real world integrations with students 43 00:02:32,400 --> 00:02:36,480 that use for instance, web-based APIs, third party data 44 00:02:36,480 --> 00:02:37,950 services, and the like. 45 00:02:37,950 --> 00:02:41,040 Because one of the constraints right now, not so much 46 00:02:41,040 --> 00:02:44,490 on campus where you have the luxury of very good internet and everyone 47 00:02:44,490 --> 00:02:47,370 has access to a computer, but globally, not everyone 48 00:02:47,370 --> 00:02:52,240 has great internet access or very fast or very inexpensive internet, 49 00:02:52,240 --> 00:02:54,520 let alone an actual computer. 50 00:02:54,520 --> 00:02:59,400 And so I think once we are 5 or 10 more years down the road and bandwidth is 51 00:02:59,400 --> 00:03:03,030 better and people have better, more powerful phones and laptops 52 00:03:03,030 --> 00:03:07,080 and desktops, I think we'll be able to do more with those resources, 53 00:03:07,080 --> 00:03:12,180 and students will be able to learn and also produce even more amazing projects 54 00:03:12,180 --> 00:03:15,330 by building on the libraries and the frameworks that 55 00:03:15,330 --> 00:03:16,800 are then very much in vogue. 56 00:03:16,800 --> 00:03:20,130 So if I had to guess, I think there will be more integration 57 00:03:20,130 --> 00:03:23,220 with internet connectivity if possible, because right now, 58 00:03:23,220 --> 00:03:25,770 we tend to avoid dependencies on the internet. 59 00:03:25,770 --> 00:03:28,830 And the only counterexample to this really 60 00:03:28,830 --> 00:03:31,980 annually, is CS50 finance, where we actually pull real time 61 00:03:31,980 --> 00:03:34,020 data from a third party site. 62 00:03:34,020 --> 00:03:37,270 That's an example of a project that works great for a lot of students, 63 00:03:37,270 --> 00:03:40,028 but not for all students, if you need that constant connectivity. 64 00:03:40,028 --> 00:03:42,570 And so in fact, one of the projects [? Kareem ?] and the team 65 00:03:42,570 --> 00:03:46,120 have also been working on are tools like an offline CS 50 66 00:03:46,120 --> 00:03:50,280 IDE, so that if you don't have great internet access or if you're in a plane 67 00:03:50,280 --> 00:03:54,330 or on a train, you can still learn and still create. 68 00:03:54,330 --> 00:03:58,940 So we're hoping those things are easier too in the years to come. 69 00:03:58,940 --> 00:04:01,000