This course has been updated! We now recommend you take the Complete Intro to Computer Science course.
Transcript from the "Introduction" Lesson
[00:00:02]
>> Brian Holt: So I am so stoked to be back here. I love teaching in Front End Masters, and today we're gonna talk about four semester of Computer Science. In five hours, in four hours, however long it takes before people just start leaving, right? [LAUGH] We'll find out. This is part two, not version two which I have had some people be confused about which is probably terrible branding on my part.
[00:00:29] This is in addition to the other one, whereas other courses have done revisions, right? This is not revision, this is more content, like Mark alluded to earlier. You don't have to take part one before you take this. They're more or less bite sized modules, hence then how you'd qualify a bite size.
[00:00:50] Let's go self contained modules. Part one will help because we'll be talking about trees and stuff like that, which part one covers. But I will at least touch on it enough that hopefully you can still get by, even without having taken part one. In any case, part one is really great.
[00:01:09] I put a lot of time into that course, I think it's worthwhile. I'll leave you to be the judge of that. I have up here the course website. Which is a long URL, so I made this bit.ly right here, bit.ly/fem, Front End Masters, -4cs, all lowercase, should get to this particular page, so.
[00:01:33] These are all my notes, literally what I have up here, literally what I'm teaching you from are these notes. So if you get behind, this is a good thing to refer to. This will be open source, well it is open source, it will be forever so feel free to share this with people.
[00:01:49] Front End Masters is really, really nice about stuff like that, they're all about getting knowledge to the people, so yeah. This is open source, you can definitely share it. In fact, I would encourage you to do so. Cool, so, let's just start diving into it. We have ten sections here today, and I'm pretty excited about this.
[00:02:21] So, a little bit of background on me. I'm a college dropout. So if you're thinking why am I taking college level material from a college dropout, that's a good question. I'm not actually sure of the answer to that, but let me try my best. I went to college for about three years, mostly doing computer science.
[00:02:45] And I absolutely love learning about data structures, algorithms. I was doing Java which is not my favorite thing but you know what, even Java is fine, it was a good time. Some point, I found out, someone would pay me instead of me paying these universities so I chose that path.
[00:03:02] But nonetheless, I still got a lot of these computer science concepts down while I was learning in school. Then I transitioned into the development world, I was a backend developer. Taught wrote PHP for a while. And then I kinda transitioned to the front end space and had some opportunities to know some really really amazing engineers that were all self-taught.
[00:03:28] That didn't have the same opportunities that I did to learn these sorts of computer science concepts. And that isn't to say at all that they were bad developers or anything like that. I mean many of you here are already web developers, you don't necessary have to know these things to be able to write React or things like that.
[00:03:48] But knowing these things will make you a better developer, I can assure you that, computer science to me is the science of trade-offs, right? So it's a science of analyzing some strategy or algorithm or something like that to say. I can either choose to go fast but take up a bunch of memory, or I can choose to use no memory but not go as fast.
[00:04:06] And these sorts of trade-off things right? It's kind of given you language to describe these problems, right? And all those sorts of things, so that's why I really encourage people to go through and actually go learn these sort of computer science concepts. Cuz it will make you a better developer, it will make your apps better.
[00:04:25] And let's be honest, it will help you get better jobs because most of these stupid companies wanna ask algorithm questions that have nothing to do with what they're doing. So this is also kind of a FU to the companies, it's like I'm gonna teach everyone how to pass your damn interviews [LAUGH].
[00:04:40]
>> Speaker 2: [LAUGH]
>> Brian Holt: So that's kind of the kind of the idea here. Yeah stupid gate keeping, I can't stand that people ask some of these questions. But now you're gonna be able to pass them so screw them, okay, I'm not upset.
>> Speaker 2: [LAUGH]
>> Brian Holt: This course is entirely in JavaScript.
[00:05:03] That's primarily cuz I know JavaScript, if we're being totally honest about it. But that's secondarily because it's the language of the web. This is primarily targeted at web developers. That isn't to say if you wrote Ruby, you couldn't take this, but that's why it's in JavaScript. If you are not super familiar with JavaScript already Front End Masters has amazing, amazing material on it.
[00:05:24] Just sit down and just cuddle up with old Kyle Simpson and just download everything that man has to say, it's fantastic. That's what I do. He taught me a lot about JavaScript, a lot about how it teaches. I'm not gonna say borrows, it's stolen from him. So yeah, so Kyle's books are all really great as well.
[00:05:45] I will be using modern JavaScript like ES6 and beyond. I will try and explain those things as I'm going through cuz I don't expect you to necessarily know those things. But again please check out all of Kyle's material, it goes into ES6 and beyond stuff really, really well.
[00:06:02]
>> Brian Holt: Last here, I have a correction to issue from the last course. I said that Cormen's Algorithms was free, that is not true. I was basically telling you to pirate things which I'm not telling you to do. You should buy the book because someone wrote it and someone deserves to get paid for it.
[00:06:17] Anyway, so Cormen's algorithms, it's a book from the MIT press. It's a textbook in every sense of the word. It's really long, its really dry, its kind of boring but if you go through Cormen's Algorithms and you understand everything in that book. You'll understand everything that you need to know for the rest of your career.
[00:06:40] So I do suggest it, I've done it one and a half times. [LAUGH] It's worth it though. So anything else I wanted to go over? There's other great algorithm books as well. I know Cormen himself wrote a shorter book. I think it's Algorithms Unleashed or something like that.
[00:07:02] I've not read it, but if it's from Cormen, it's probably pretty good, too. So, cool.