Placeholder Image

字幕列表 影片播放

  • This is CS fifties office hours with Today, David and Bryan.

  • If unfamiliar, office hours are an opportunity at Harvard on campus, for students to visit Professor's office is literally and ask questions about the courses they're taking about computer science more generally, or life after courses like CS 50.

  • So we thought we would try to do the same here on the Internet, especially while everyone is home.

  • We do hope that everyone is doing well and is feeling healthy and family and friends, too.

  • And the whole of today really is just to have a chat about topics of interest to you.

  • Ramon has brought some questions that classmates have asked in advance to in case we need to call upon those and let me just give you a quick tour of zoom.

  • If unfamiliar, in the bottom left 10 corner of your zoom window.

  • There should be a mute or a Knute button.

  • If you do ask a question today, do be sure to mute or a mute yourself accordingly.

  • Next to that should be a start or stop video button.

  • Do if you have a webcam or camera of some sort of keep it on during office hours so that we get a sense of who were chatting with in the middle of your zoom window is probably a chat icon so that you can chat textually on your keyboard with classmates who were in the room as well.

  • We're see links that we might pace during the chat and then last but not least, let me go ahead and ask you everyone to do this on the chat but in and click on Manage.

  • Click on participants so that you see the names of everyone else in the chat room and below the list of participants on your screen.

  • You should see a hand icon that represents raising your hands.

  • If everyone could click that button just once so that we know who's here.

  • Wonderful.

  • So if you have a question at any point, please feel free to raise your digital hands that way, and Brian and I will do our best to call on you.

  • And please forgive if they're simply too many questions to ask during this hour.

  • We do hope to do more of these in the way again, and we're gonna also tragic everyone's microphones muted generally, so we don't hear background noise or TVs or traffic, but allow us to start right away here.

  • Print off.

  • Can we start with your first question for Brian or myself?

  • Yeah.

  • So, um hi.

  • Um audibles.

  • Yes, We can hear you high.

  • So a quick introduction of myself on front of Salvia.

  • I am a 14 year old student from India, Bangalore, India.

  • And firstly, I just like to thank both a few percent.

  • So David and Bryan especially goes, I think Perseus 50 course last year, the CS 50 Introduction one.

  • And I can't leave me.

  • I'm doing the mobile development one.

  • And so, being visually impaired, the content is very accessible, especially the way both explains.

  • Thanks a lot.

  • Yeah.

  • And secondly, Mike, my question is, um So, um, I want I have a few questions.

  • And firstly, the question the first question I had was that, um, you know, every year this year's 50 introduction course has so many different problems.

  • Right on dhe, however, does one problem, mainly that's been going on for years, and that's speller on.

  • So how come it's that spellers bean, that one constant problem that's been going on?

  • I mean, I've noticed that it's one of the most hardest problems in the course, and my second question is that this year.

  • So I was trying to help some students here, and I was looking at the Week eight Problem Sets on DSO Unlike last year where you had only one problem that was financed this year, you had like a whole rock barrage of problems encompassing Web R.

  • U s Android on gains.

  • And so was the idea behind the complete addition of problems because it seemed so much more interesting.

  • And I myself really wanted retake the course just to see, because they were, like so many changes this year, especially that one.

  • So what was the idea behind?

  • Like changing that and keeping a speller problem, However, sure, why don't I try to answer the first question and then turn to Brian for the second question?

  • Eso speller has indeed been with the course.

  • I think since 2007 when I first started teaching CS 50 it has indeed always been a good challenge.

  • But it's really meant to be a very climactic problem for students to solve.

  • In the very last week that we spend on see the programming language I think it's incredibly empowering for students in class to actually implement to their own hash table specifically, or in the past, students had the choice of implementing a try.

  • Alternatively, um, and I think the competitive part of it has been appealing to a lot of students.

  • If unfamiliar, this problem set allows you to implement your very own spell checker, for which we give you a big dictionary of 140,000 plus English words, and you have to implement the fastest spellchecker that you can and the one that uses the least amount of memory.

  • And then we have a competition of sorts of big board, a leaderboard where students are ranked if they opt into this, based on how little ram or how little time there code has used.

  • And that seems to be a fun way of not making the course competitive but making one small piece of it so and Brian can perhaps speak best to peace at eight.

  • And how and why it changed so much this year.

  • Yeah, sure.

  • So this past year and she is 50 we've introduced at the end of the class what we call our various different tracks used to be that at the end of CS 50 and everyone would learn a little bit of Web programming, which was a lot of fun for many students in nothing builds a really interesting and exciting projects.

  • But whatever goals this past year was to experiment with the idea of students building other tools and other applications that are interesting to them, and especially nowadays, where so much of what program where programming is happening and development is happening is in mobile apps like IOS and Android apps, For example, we thought it would be nice to give students an opportunity to learn to do that, too, if they wanted to.

  • So students now have an option at the end of the semester to choose between Web programming or IOS APP development for android up development.

  • We're even game development to, since new tools and graphics libraries that have been developed over the years, a really making possible still really exciting game tools and technologies that could be used to build game, that you can actually play eso these various different trucks, we hope are an opportunity for students to really see it.

  • The wide variety of applications skills you learn in CS 50 to be able to apply them to mobile contacts into the Web context and more beyond that, too.

  • Allow me to ask a question that now with everyone, if you open up your chat window, I've just pasted the Earl of a Google form.

  • We would love to know where everyone is from and what courses of CS fifties you have taken or are taking.

  • So if you're comfortable taking a moment to submit that form, we'd love to take a look at the data after.

  • And if you do, give us your email address.

  • What we'll do is when there's a future office hours with me, myself or any other members of CS 50 steam.

  • We'll send you a quick email like I did for folks yesterday to remind you of the day and time.

  • Let's go over next to ah, us.

  • If and let me just ask just so that we can field as many questions as possible today.

  • Do start by asking just one question, and we'll do our best to come back around or keep in touch over email or the like.

  • Yes, Can you say again?

  • Your mike is a little close to your mouth, I think.

  • Yeah, I get it.

  • Eso Michael's niece lived it too.

  • After seeing Dylan get you again.

  • My closeness letter to artificial intelligence.

  • Okay, let's let's turn to Brian for this.

  • Who, as you may know, his course on a I just launched yesterday.

  • Yes.

  • Have you seen their movie Matics?

  • Ah, well, then we Yeah, in that movie, the humans are being plugged into a machine.

  • That machine is kind of a love child and car rattling.

  • Yeah.

  • So my closeness that is it possible to create such a virtual world with its own population of people?

  • Well, I, uh, in that movie, we are actually looking in real people, but, uh, I'm in creating with people, be there on behaviors there on captures a whole world by your own programming skills.

  • Is it really okay?

  • I think I misheard your question the first time I actually have seen that movie.

  • Nothing.

  • Now that you mention it.

  • So the question is about, like simulating people.

  • In short, a lot of what I did not simulating.

  • I mean, actually creating people.

  • Ah, the characters created in that world will believe that there really living.

  • They have no idea that they are being created.

  • Babel Gamble.

  • How old would you really?

  • People in a simulated world?

  • Yes.

  • Well, okay.

  • I guess that's gets a little bit less about artificial intelligence and more into the world of, like, virtual reality.

  • It's probably the closest thing we have to that now, in terms of you have the ability to put yourself into a virtual space and accept that.

  • That was the thing I was saying.

  • You're The fact is that we cannot go.

  • We can all actually interact with the world.

  • I mean, that world is well chilled.

  • The people instead is also we are displaying.

  • Gord, how you feeling?

  • Yeah, I guess so.

  • You want a You want to really just re create entire virtual world that you can actually interact with at the moment.

  • I think that's more in the realm of science section, but you never know Sort of what happens with technology.

  • Thank you for the question.

  • Can we go over next to Ah, Zion, I'm sorry if I'm not pronouncing your name right, Malik?

  • All right.

  • It's okay.

  • It's okay.

  • So your question can you also pronounce her name for us?

  • and tell us what country you're from.

  • All right.

  • My name is that Malik.

  • I am from Austria.

  • And, yeah, I participated in CS 50 because I want to be a A leading computer Scientists one day, hopefully.

  • And now the first question is I started with CS 50 ah last week, and I'm working pretty good with it.

  • But the problem is that when I, um and when I work with a problem set And when I tried to solve a problem, sometimes on the more comfortable problems I struggle, For example, the credit problem on week one.

  • Um, I said two days in front of that, and I was really confused at the end.

  • So I ended up submitting only the cash problem.

  • And I wanted to ask, um, is there a way to improved my problem solving or can I learn it?

  • Yeah, it's a really good question and not uncommon.

  • And don't get discouraged.

  • The more comfortable problems and the course is homework assignments are indeed meant to be more challenging by design.

  • I think the best strategy, especially if you're finding yourself hitting a wall, so to speak, we're just not sure how to solve it.

  • And you have tried reaching out to anyone you might know locally or online for help.

  • Come back to it later.

  • Honestly, I think a very good strategy is to do all of the less comfortable problems throughout the semester.

  • And then once you get to the middle of the semester or maybe even end, then go back and do the more comfortable problems.

  • And I bet you will feel yourself much more capable of doing those problems, and they will come much more easily.

  • But I think if you do them on Lee within the individual week, it's hard to solve some of them because you're not yet more comfortable.

  • But you will be after more weeks of practice.

  • Thank you.

  • Sure.

  • Good question.

  • Can we go over next?

  • Thio Showcase.

  • I'm so sorry.

  • I'm not gonna be able pronounce this correctly, but I think you see me going in there.

  • Do you want to pronounce your name for us?

  • Shook Is Jack on?

  • Just remember to amuse yourself.

  • Still muted.

  • All right, The loss.

  • Actually.

  • Someone Oh, there we go.

  • Go.

  • Yes.

  • Hello.

  • My name is Sean home?

  • Yes.

  • So where you going?

  • What are you from I am from Pakistan's that's Ah, Central Asia.

  • Wonderful.

  • What's your question?

  • My question related to also again, improvement is that's as it is awaking off idea or logical thinking in my mind, too, when I solving any problems related to maybe all great Mick, uh, questions.

  • And I just, uh, I'm goingto solve any problems related to, maybe, or a sortie or such kind off a raise and graphics.

  • And, uh, I want to solve any problems you know, related to God.

  • Algorithmic.

  • Maybe it doesn't matter.

  • Yeah, what what kindof resources or it vice.

  • You recommend me to improve my political sinking?

  • Sure, it's a very good question and very broadly applicable to computer science in general, I think I have two pieces of advice to give their piece of advice.

  • Number one is when you're tackling a big algorithmic challenge.

  • It's often easiest to start by thinking about what are the smaller stepping, stepping stones.

  • I can try and get to first along the way.

  • In other words, try and break down a bigger problem into smaller problems.

  • Zayed, for instance, was earlier talking about problems that one credit where you're trying to figure out what kind of credit card number.

  • What credit card company produced a, particularly with credit card number, And that's a bigger challenge, but a smaller challenge.

  • You might start with that.

  • Okay, given a credit card number, figure out what the 1st 2 digits of the credit card number, for example, maybe a ah smaller problem that's a little bit easier to talk a little bit easier to reason about.

  • And by breaking the bigger problem down into smaller problems that are easier to tackle, you can hopefully build your way up to the answer to the bigger problem on the other.

  • Strategy, I think, is just more longer term.

  • And it's about just getting practice with solving more problem.

  • It's the more problems you try and practice holding, the better equipped.

  • You'll feel to deal with more problems in the future because you'll start to notice.

  • Patterns will start to realize that this problem you're trying to solve now is very similar or have some things in common with a problem you've already solved before.

  • And that might guide you towards figuring out what tools are algorithm, some strategies you might use for solving your current problem now, and I imagine you mean computing problems specifically, But it's perhaps timely us today.

  • I've just pasted into the chat window the Earl of CS Fifties Annual CS 50 X Puzzle Day.

  • Honestly, the entire design of that event is to empower students to just solve problems more collaboratively.

  • So if you haven't seen that yet, you might enjoy solving some problems this weekend.

  • Thank you for that question to can we go next to Christine Skyping Bone?

  • Next question from Christine.

  • I think she's on muting her.

  • Mike.

  • Yeah, fact everyone.

  • Um, yes, I'm Christine, and I'm from Dubai.

  • So my question ISS So I so calm communication and university back in the university.

  • But I had my minor elective and I was supposed to go through the computer science route.

  • So is there a reason why any computer science courses has to start with C?

  • Because that's always been my struggle, like so I was supposed to after See, I think I was supposed to take javascript after and then Web development.

  • But then she has always been my struggle.

  • I always struggle with it, so it kind of discouraged me.

  • So I ended up on changing my elective.

  • My minor elected after that.

  • So because my were you right now is if if I am struggling right now with the seat part of the cores.

  • So my worry is, can I actually take on the other languages?

  • You know, that's that's in the syllabus.

  • So I'm quite quite scared about No, it's certainly understandable.

  • I would try not to be scared.

  • I would take comfort in the fact that many, many, many students at Harvard and beyond have that same emotion I've just pasted into the chat window and answer.

  • I wrote on Cora actually some time ago, about why CS 50 uses.

  • See most intro courses these days.

  • Don't to my knowledge on.

  • In fact, it's much more common these days for introductory courses.

  • Use Java or python, which I do admit can be more accessible, a little easier to pick up because they don't have pointers.

  • They don't have a CZ many of the same pitfalls as a language that C has, and they also have more features that make a few things more easy, more easily done in code.

  • So I wouldn't get discouraged.

  • I think if you can take some other course first, maybe in some other language that it's totally fine if your school allows and then come back to a course and see what many universities do is.

  • They don't start with C.

  • But if you are interested in what's called systems programming, low level programming, then you will learn CIA's your second or maybe third language.

  • So it really depends on the institution.

  • So certainly don't get discouraged.

  • Certainly don't equate, see with computer science, or even see US 50 for that matter.

  • But if we come full circle to the question earlier about peace at five are spell checking problem sets.

  • It's pretty rare for students, I think, in an intro class to be implementing their own hash table on Lee mid semester on, and that's indeed meant to be a challenge.

  • So if and when you're ready to get to that point, I think you'll find see, very enlightening and empowering but definitely challenging at first.

  • But don't get discouraged.

  • Just takes time and practice.

  • Could we go next?

  • Thio?

  • How about Ron W If you'd like to say your name and where you're from, too?

  • Yeah, it's run.

  • I'm from Germany.

  • I'm the strike nursed.

  • Um, so I'd like to know why and how did you become programmer and what tips do you have to stay motivated?

  • Good question.

  • I think we could probably each answer this differently.

  • I don't think of myself as a programmer, per se, even though I enjoy doing it, I will admit, I don't think I personally would enjoy doing it full time as a software development job.

  • I've never really had that interest.

  • What's most gratifying for me about programming is being able to literally solve problems that are of interest to me, personally or professionally.

  • A lot of the code that I Britain certainly in recent years is all related to see us 50 in some way, either creating tools or adding the tools that are students used or that are teaching fellows or staff use on.

  • So for me, I just get a real kick out of writing software that other people use.

  • But I don't think personally I would want to do it all day long, even though I have many friends, too.

  • Do exactly that, Brian.

  • Yeah, I mean, I also don't consider my like, I'm not a programmer.

  • Professionally, I do write some programs, but most of my job is in the education setting, but I first really stumbled across programming.

  • Um, just by, like, taking my first class in it.

  • It was in high school.

  • I took my first computer science class and just found it very empowered in terms of the problems that enabled me to solve.

  • I remember very early on just building some very simple programs that we're able to be useful to me and other people.

  • And I think that was the motivating thing for me Is the power that programming has to enable you with just, you know, a couple lines of code to be able to build something that was actually impactful, other, useful or meaningful in some way.

  • And as for practice, I think I would just solve as many problems in code as you can.

  • If you're not taking courses, keep an eye on open source communities that is freely available, code on, get hub and get lab and the like, and those air good ways to practice, as by contributing to other people's code bases and getting feedback from them as well.

  • Can we go next to Jacob?

  • If you'd like to say hello and where you're from?

  • Oh, still need enough.

  • Okay.

  • Hi, everybody.

  • I am from Latvia.

  • Uh, so I have not had any price.

  • Prince in Korean suicide takes years 50.

  • So I did a bit off.

  • Right on on Dhe, see has been a bit soul for me as a newbie, and I find it very difficult to solve.

  • Most of the I'm said problems.

  • I'm just talking.

  • He said, too.

  • I have not been able to move.

  • That's one.

  • Andi, I don't know how.

  • I only take me to solve those problems.

  • And secondly, I'm sitting king If I should go into web development or a machine and it a science, but not too short.

  • So how do I?

  • I decided to use a business people out what to do or just keep blaming.

  • And another thing I don't know.

  • Sure.

  • I think my short answer is that you should really pursue courses that air of genuine interest to you and not simply do them because you think you should.

  • Generally speaking, the advice we give students here, at least, is that once you've taken to rigorous courses in software, whether it's CS 50 and some other class or two different courses altogether, generally speaking after learning a bit of procedural programming, which CS 50 teaches and functional programming, which other classes teach or object oriented programming.

  • Once you have a breath of background, you really are able to then start taking on part time opportunities and programming, maybe even full time entry level positions, but a common next data structures and algorithms.

  • As for Web, and I let me turn to Brian because he happens to teach CS 50 zone versions of those two options.

  • Okay, thank you, Yeah, so they're certainly if you're interested in Web programming, artificial intelligence.

  • We do offer courses about that, too.

  • I'll go ahead and taste the links for both of those in the chop.

  • For anyone who is interested in those, there's the I cost on the Web programming classes well and those they're really just meant to serve as introductions to the field of artificial intelligence and Web programming.

  • So if you'd like, you can take a look at those lectures there to get a sense for what a I is all about, and to get an opportunity to write Sameh I programs of your own.

  • The goal of both of the classes is really to provide that sort of introduction so that if you are interested in pursuing either of them in the future, you'll have some projects under your belt.

  • You'll have some foundational knowledge to then go forth and work on your own projects as well.

  • And this is such a common question, honestly, because it feels there.

  • I mean, there's an infinite number, of course, is out there.

  • You can take either in universities or for free these days, and it's not clear what point you should stop.

  • But honestly, I think once you've taken a few courses, it really is time.

  • Thio leave the nest, so to speak, just like a baby bird would and start defend for yourself and say yes to some project or say yes to some opportunity that scares you a little bit, and you might not even be sure how you're gonna do it.

  • But once you then get your footing and get your confidence, I think you'll find that you can start taking courses to fill in gaps in your knowledge, but not necessarily to prepare you for opportunities that you don't yet know about.

  • Thank you for that question.

  • Can we go next to Nadia?

  • Sure.

  • Thank you.

  • Owe somebody miss naughty, um, from Ukraine from Kiev.

  • And thank you for the upcoming puzzle day.

  • I'm really excited.

  • It's a second year of mine, and I was really bad last year, hoping for something better.

  • So, um, I just actually found myself.

  • I completed the CS 51st introductory course last year, and I was really excited about it.

  • And I found myself really worried that I lacked some theory and what I did.

  • I bought some theory books, don't loaded them, started reading, and I did not really find, like what if a well, you in those because I could not fit old information into my brain.

  • So how do you think so, after completing the CS 50 course, what would be the best way for the student?

  • I'm not from the computer signs.

  • I did not have the computer science degree.

  • I'm a teacher.

  • Uhm so, um, what it would be but the best thing to start different court other courses on computer science, maybe to do some logic tasks or go to the leak code because or actually fill in the gaps with the books on the theory.

  • So how Can we move after that?

  • Yeah.

  • Let me paste one link that I that I often recommend.

  • Some friends at Princeton teach this course here, which is freely available.

  • I just pasted it into the chat window on course era.

  • It's Princeton's introduction algorithms, part one.

  • And there's also a part two.

  • That's a very common next step when you want to learn a bit more computing theory after taking one or more programming classes.

  • More fundamental than that to computer science itself is this one.

  • I'm gonna go ahead and paste the link of a book on Amazon.

  • This link might not work in all countries, but you should still be able to see the title there by Michael Sip, sir.

  • Who's a professor at M.

  • I T.

  • And the book is called Theory of Introduction to the Theory of Computation.

  • This, for those unfamiliar, really gets to the heart of what computer science is in what is possible with computers.

  • And I actually use that book.

  • When I was a student some time ago in Harvard, uses it now in their introductory course, are has over the years, and that's a good, pretty accessible book.

  • But you would benefit, certainly from doing some of the problems in the book or from a course on Brian has taken more courses.

  • More recently, who could perhaps speak even better to these options?

  • You actually stole my recommendation There I was also about to pace the theory of computation book by Michael Simpson.

  • If theory of computation of something interesting to you in terms of what computers can do and what and how you think about computers a little more theoretically a little bit more mathematically.

  • That's a great book that I would definitely recommend.

  • Thanks a lot.

  • Thank you.

  • I unfortunately have to go back to work.

  • But it was a pleasure to talk to you.

  • And thank you for your course in the upcoming puzzle day.

  • Once again.

  • Yes.

  • Good luck on the puzzles to practice.

  • Thanks.

  • Thank you.

  • Can we go next?

  • Thio?

  • Guillermo, if you'd like to say hello and where you're from Well, hi.

  • I'm from Uruguay.

  • Ah, you said my name.

  • Right?

  • I'm surprised.

  • Um so basically my question is to you, David, as to I was thinking, you know how many people admire the way you explain your classes and basically what I'm trying to say is that when you have to teach all these people, you know, when you have to teach us people without experience or maybe like very experienced evil, how do you find balance, too?

  • Explain something like computer science to all of us, like, What's the key element and teaching?

  • I don't know if I can make Do you Get Away.

  • I do is no thank you for the kind words.

  • It's not easy, and I don't know if we do a great job all of the time, but I think the simple answer is empathy and remembering what it was like to not understand material yourself and remembering what it was like to feel like everyone else in the room or in the class was smarter than you are knew better than material and to try to put yourself into the shoes.

  • So to speak of that student, to help them with a narrative both verbally and in the course is homework assignments and slides and so forth.

  • Get from the starting line, so to speak, to the finish line without like letting go of their hands during that process, and I think it takes practice.

  • I thinks It takes sensitization, for instance, even though this course CS 50 happens to be taught to our college undergraduates at Harvard, I first got my start teaching in a lectureship role at Harvard's Extension School, which is a much broader demographic of students, young students, old students, everyone in between who have gone or who have not gone to college.

  • And so it was a much more diverse audience of students both in Cambridge and online.

  • And I think that to help sensitized me two different learning styles I think we have always.

  • I have always had students who are, Ah, very different backgrounds geographically, socially, economically, academically.

  • And I think that helps too, not assuming that your student body is all of the same type or of the same mindset.

  • So in short empathy, um, hi, David, uh, I'm from India.

  • I a couple of questions I endured for this year's with People's and it was amazing.

  • I had an amazing experience I haven't taken.

  • I haven't had any other courses as compared to this one.

  • Learned, Um, I wasn't a very much interested in the Howard courses, so I saw on the Google and got some Howard causes really check to see if we feel that will see us doing PNC.

  • It's one point people for this tree this great mathematics in DC have you have you any plans for, uh, showcasing them into GTX?

  • Really?

  • Good question.

  • Let me turn to Brian to, in part because we've been talking about this quite a bit.

  • Yeah, so you see, it's 20 and CS 1 24 The courses you mentioned our theory of computation classes that are taught at Harvard CS 20 is more of an introduction.

  • Thio the mathematics of computer science and then see us 1 24 takes that a little bit further into the analysis of algorithms and the efficiency of those algorithms and studying data structures.

  • So see, a 50 itself does not have a specific course that is about algorithms.

  • But if you are looking to take similar courses David earlier in the chat paste that are linked to the Princeton coursera algorithms loss, which covers many of the same topics that CS 1 24 does as well on so that, I would suggest, is a class potentially look out.

  • If you're interested in continuing to study algorithms as well.

  • If you're also interested in algorithms, I can tell you the textbook that is used for CS 1 24 The algorithms classes heart at Harvard as well as other algorithms classism against this one that I just pasted here.

  • Introduction to algorithms by Corman, Liza Descend, Bravest and Stein often abbreviated to just see LRs for the initials of the authors of That's quite a popular and famous book about algorithms and is very comprehensive.

  • So if you're interested in studying and nor learning more about algorithms, I would definitely suggest that book as well.

  • I wish.

  • Go ahead.

  • Go ahead.

  • Rojo.

  • Did any X triple of problems sexual, uh, related related to this year's 50?

  • Our problem sets related to CS 50.

  • Yeah, apart from this year's 50 problem six.

  • Oh, not per se.

  • But if you go to this, you are l which I will paste into the chat window.

  • We have previous years of homework assignments.

  • The problem sets have changed over time, and if you look at previous years, you'll see some older problem sets.

  • They're not maintained as well anymore, though, so things like check 50 might not work anymore, but they're there, all right, Thanks.

  • Thank you.

  • Sure could be next.

  • Goto a severe If you'd like to say hello and where you're from Never a question.

  • Let's go to severe first If he could out Still muted the way I did even Hi, Brian.

  • Listen okay.

  • I am Sabeel you in 40.

  • What?

  • I'm from Nigeria and still you talking All right, Busty, but in muscles and suffering, for my question is currently I'm doing a recycling shop.

  • Intelligence.

  • Well, honey, look, I know that body language what America put in English.

  • So I mean, it's what kind of whom you recommend me for me.

  • Lund.

  • Actual intelligence.

  • I'm again.

  • See, I have imprisoned sequel Emma language.

  • And what increase that interest is you are Brian, the way you teach.

  • It's a wonderful almost most that passion for when I saw the way you teach.

  • It's kind of like in Korea.

  • What?

  • Book?

  • Off this.

  • It's more like a thank you.

  • Sure.

  • Brian, do you want us to part?

  • Yeah, certainly.

  • So thank you.

  • I'm glad you're interested in artificial intelligence again.

  • I think I posted this already, but yesterday we just launched a course about artificial intelligence.

  • If you're interested in a new introduction to some of the ideas on artificial intelligence.

  • That course we cover topics ranging from how you would solve their yes, from types of search problems to how a I can play games, too.

  • How a I can understand human language and translate languages, for example, as well as topics and machine learning, like neural networks and other popular topics there, too.

  • So it's not something that you're interested in.

  • That course is available as well.

  • And I think you also asked about textbooks, the artificial intelligence textbook that I happen to really like in the one that shares a lot in common with the course that we teach is called Artificial Intelligence.

  • A Modern Approach by Stuart Russell and Peter nor Big on.

  • I've pasted the link to that book as well.

  • So if you're interested in a textbook about artificial intelligence, that book is quite good on Biff.

  • You're looking for more videos.

  • We have videos and problems that the course on FedEx about artificial Teligent well, and I'm not sure if you mentioned C.

  • Also, I've just pasted into the chat window a link to a book called Hackers Delight, which is a fun book on learning See at all the lower of a level.

  • A cz Well, as algorithms.

  • More generally.

  • Thank you for that question.

  • Could we going next, Thio koban.

  • If I'm pronouncing it right, you'd like to say hello and where you're from?

  • Hi, I'm from the U S.

  • Ah, wow.

  • I did not expect that.

  • Uh uh.

  • First of all, I'd like to think David and Bryan I took finished CS 50 recently.

  • It was the best course I've ever taken.

  • I noticed Brian, uh, released you 50 eh?

  • I yesterday I looked at the first lecture and I tried to promise that.

  • All right, I noticed that when you try to download the distribution clothes Ah, lot of the code doesn't actually function on CS 50 i.

  • D.

  • So I was wondering after you finished your 50 What I desire, what terminals do you recommend to move on?

  • Sure.

  • Brian, Want to field that one?

  • Yeah.

  • So I'll start by just pointing out that for that very first problem in the eye course you should be able to run.

  • The program will be distributed to data sets.

  • With that problem, a smaller data set on a bigger one.

  • You should be able to get the smaller one working on the I d.

  • But for the big data set, a lot of AI ai now is about analyzing big data.

  • You're unfortunately a little bit constrained by the fact that the idea is running in the Internet and has a limited amount of memory available to you.

  • So the big Data said.

  • Actually, it's too much memory that will actually fit in the I.

  • D.

  • On.

  • For that reason, it might be a good idea to start.

  • We want to encourage students to start programming on their own computers as well on the way to get started with.

  • That is really just to start with a code text editor on.

  • There are a whole bunch that are quite popular, probably the most popular of the three that I'll paste into the chat.

  • Now there's visual studio code developed by Microsoft.

  • Um, And then there is Adam, which is developed by get hubba Um, And then there is sublime text, which is also quite popular.

  • That used to be a little bit more popular.

  • Any of the those three editors, which will work on max or on PCs, are on Lenox are probably good text editors to get started.

  • They have all the syntax highlighting and the managing a different files and terminals that you can run code in on.

  • So those might be a good place to get started in terms of editing code on your own computer instead of on the idea.

  • Someone else also mentioned pie charm.

  • That's another popular one in terms of an i D for python specifically on there.

  • Definitely others other than the ones we've just mentioned to their many different choices that you have available to you here, just a couple of popular ones that I happen to like.

  • Indeed, it was pasted the aura of python itself, sometimes computers to come with versions of python.

  • But it might be older, so you can also download install python from their website directly.

  • Can we go next to Lori if you'd like to say hello and where you're from?

  • Hi, I'm Laurie.

  • I'm originally from the Dominican Republic, but I've been living here in the States for a couple of years.

  • My question is, in regards to just resource is simple.

  • It's hard to be called student, especially.

  • It's like first generation Kohler students so as professors.

  • What are some prison full community that you guys will recommend us to join a look into just so that we have kind of the camaraderie or that help that, especially now that one quarantine can't have me.

  • Basically, he's Yeah, it's a really good question.

  • You know, I think I have been following on red.

  • It's a number of communities which are nice.

  • I don't know if they are strictly university oriented that odds are it's a broader demographic than that.

  • But let me see if I can pace the Ural of at least one subreddit here.

  • So if unfamiliar red, it is a popular site for discussion, so learn programming is actually a really nice one.

  • I've found the discussions there to be pretty healthy and very supportive of students.

  • There's another one.

  • Let me see if I can find it real quick about computer science education more generally, and let me I'll see if I can find that soon.

  • Brian, do you want to chime in with some thoughts to while I look for that?

  • Yes, the other thing.

  • I'll mention it just CS 50 zone communities.

  • If you're interested in interacting with other CS 50 students who are currently taking or have taken any of our courses.

  • And there is a link to all of our various different communities is definitely a very active group of students that are on Facebook that are communicating and forming community together.

  • A swell is on discord that are always chatting about CS 50 of programming or any of the specific problems on.

  • So that could be a place where a lot of our own students online have been able to sign community.

  • And we've noticed that these have been even more active now that more and more people are staying indoors.

  • So definitely other people there.

  • I have the disk discord chat and it's been really it's been really helpful, especially like I said now that for indoors.

  • So it's nice to have that camaraderie again, indeed.

  • And I can pace the link of all of CS fifties communities, which should appear in the chat room in just a moment.

  • That's a link to all of our own specific ones.

  • And then the other subreddit I was thinking of which talks about life after college theater science is this one here.

  • CS Career questions on Reddit you might like that, too created anything very supportive of people asking questions of each other.

  • I am from Hong Kong right now.

  • I am in Taipei due to various reasons.

  • Political interested in running for my life.

  • I have some questions.

  • I have a couple of questions with the recent project and also a personal I asked.

  • That was really short.

  • I'll just sort of the technical question.

  • I always work around, Uh, what developers and coffee shops when I try to, uh, code when python and doing more off analytic works, or even a little bit of financial derivative of predictions.

  • Ah, with with with with my life?

  • Because my client knows mass.

  • I don't know math.

  • But I find it very difficult to communicate with my Web developers in the sense that, uh, recently I was trying to use last a p I to build a server interruption to automate some excel spreadsheets.

  • We are gooey.

  • And then and then I was.

  • I built it all fitted authentication, uh, end point where where I lost myself out during the tech development of my FBI and then let the Web developers who were like May I look at your cookies and I was like, Are those cookies gluten free?

  • So it gets to the point where it starts very as a python user, it's very hard to communicate with drama, script developers or other people of different domains.

  • And how did I or is it just too abstract?

  • It's Python.

  • You might as well to think of it as English, and you could just search Google and there would be a documentation for every single thing.

  • And it's just different structure, a way of thinking.

  • Reason.

  • Python.

  • How's my first question?

  • So are not really.

  • Honestly, I think you won't have that same impression of the language once.

  • I think you have more familiarity with other languages.

  • There's so many similarities among a lot of these more popular languages today.

  • Python can be used procedurally.

  • It compulsively used partly functionally those air terms that I used earlier as well.

  • Um, and I think you'll find that each of these languages or environments or frameworks just has different ways of solving the same problem.

  • Something like cookies has nothing to do with programming languages per se.

  • It has only to do with http, which is used by Web browsers and Web servers.

  • So if you're feeling that way, I've been trying to just give yourself more exposure to other languages, take a very short course or read a one or more tutorials on Java script.

  • Read a little bit about c++ or C sharp.

  • Just give yourself a little more breath of exposure, and I don't think you'll put as much weight on Python is being a standout, which I don't think it really is.

  • Can we go next?

  • Wait an extra or shop if you'd like to say hello and where you're from.

  • Hey, David, I'm their ship from idea s.

  • So I took CS 50 a couple of years ago and, uh, after that have taken very questions.

  • But every year I keep coming back.

  • Acrisius 50.

  • Let's look at the new problems.

  • And then you contend that this year, like it was really amazing.

  • Um, my question to you is I have moved on to or doing research, and I see a lot of undergraduate student polished wood into our interest rate.

  • But just doctor out and pure science water blistered and research.

  • So I started a community so very berry like small projects, and contribute open source our girls to see if the buzzer the aspirin so would be re government.

  • Oh, are are there Those birds are covered.

  • Our graduate students who are participating.

  • Or have you discovered anything I could do?

  • Yeah.

  • Let me turn to Brian for this because he's done this more recently or personally, too.

  • I didn't catch the end of the question.

  • I said I heard.

  • How do undergraduates doing research do what?

  • Could you repeat the end?

  • Still you did your job.

  • Ah, yeah.

  • You know?

  • Yes.

  • How can I encourage undergrad students to participate in your research?

  • What started out?

  • Our starting but a computer science Oh, are good Dominica munity who smaller projects are Oh, something's Oh, yeah, That's a great question about encouraging undergraduates.

  • Todo research.

  • Yeah, about encouraging undergraduates to do computer science research.

  • I think one of the challenges with starting to do computer science research just after taking one or two classes in computer science is that there's a big learning curve to be able to get up to speed on everything you need to know about the research project in all the background information for whatever the field of research happens to be.

  • And so, if you want to encourage undergraduates to be ableto work with a particular research project, I think trying to come up with, uh, smaller tasks that are more, uh, more easily graspable by someone who may not have much experience in that particular domain of research can be quite helpful.

  • I know that.

  • Definitely.

  • When I was just starting computer science and starting to do a little bit of research, that's what a lot of faculty helped to do for me.

  • It's not require me to understand the entirety of the project that give me some smaller piece of that project where I could focus just on understanding that tackling that and then over time, start to get a better sense for what the larger project ISS, but diving into a big project all at once.

  • Condemn finitely be a little bit intimidating and we go to Rohan.

  • Uh, they, um I want to thank you all so you could hear me.

  • Yes, we can.

  • Okay.

  • Uh, I wanna thank you all for you and your team for your effort.

  • And I appreciate that.

  • Um, I'm from Egypt.

  • My name's one on dumb.

  • My question is Um, do you recommend any specific websites for training?

  • Like I know, there are a lot off websites.

  • I want to know what the recommended the best ones are for learning computer science and programming, specifically practicing.

  • Oh, for practicing.

  • It's a good question.

  • A couple come to mind, and other everyone else who's on a call should feel free to paste your links into the website.

  • Some time ago, we started playing with Hacker Rank, which, despite its name has a nice collection of introductory problems and more sophisticated problems alike.

  • Brian, do you know some more recent options, too?

  • Hacker ring Is that definitely quite a popular one?

  • The other one I really like just cause it has a big range of problems that you can solve in any programming language of eyes Project Oiler s.

  • So go ahead and paste that in there as well.

  • Project Oiler basically just asks you a whole bunch of questions and in order to answer the question, that usually involves writing some code in order to solve the problem.

  • And in that sense, you can write code in any link you could write the solution and sea or in pi phone or any other programming language that helps you get to the right answer.

  • And so I find that to be a pretty interesting way to find interesting computational problems to solve and after you solve it, too, then think about how you might go about solving it more efficiently or solving unit a different language.

  • There's a nice community around those problems as well.

  • On I See in the chat, there are many other suggestions that people have that might be worth taking a look at two for other sources of problems to solve.

  • Simon, can we go to your next?

  • Yes, thanks very much for the time I just had.

  • So I'm Simon.

  • I'm from London, England.

  • I'm Carly in my third year of an undergraduate degree studying computer science on doing my master's next year, but I still have no idea what off computer science I really want to go into.

  • Um, it's something that Jacob touched on earlier.

  • Like, Do you have any tips for exploring different areas, like whether it's systems or ml or logic, because I've done modules in each of them, But I'm struggling to really pick a topic to do my dissertation on like further research.

  • And is that because you like too many of them or you don't like enough of them?

  • I well, I think it's because I like them all neutrally, but none of them I really like, like, a lot.

  • Yea

This is CS fifties office hours with Today, David and Bryan.

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

A2 初級

大衛和布萊恩的辦公時間--2020年4月2日。 (Office Hours with David and Brian - 2 April 2020)

  • 2 0
    林宜悉 發佈於 2021 年 01 月 14 日
影片單字