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.