I spent a lot of the last year studying math computer science and all sorts of academic things and while this is really interesting and things that I think will be useful throughout my career I think it was a mistake it was not the best use of my time in this video I'm going to go over what I learned what I studied and most importantly what I would do next time if I could start over so it was November 2023 a little over a year ago when I decided I was bored with web development I wanted
to do something different and I thought ai ai sounds great and so I picked up a couple books this one uh deep learning so turns out it is a graduate level math textbook and I did not have the preparation for that this one is pretty great uh it required a little more math than I had that was reasonable and uh also required uh pandas numpy a bunch of python stuff so I bounced off of that a little bit and both these together set off my journey of learning this journey lasted a little over a year
and I made a lot of mistakes which you can now learn from so let's go over what I learned so uh first I learned a bunch of math and that's because I was so shocked when I read these books that I was like wow there's something that I can't just jump into and so I started first I did these lecture Series so linear algebra this is actually a great lecture series and this on discrete math is pretty great uh this book is good but it doesn't take you quite as far as you need to go
uh however the thing with just doing courses and lectures is that you think you know a lot more than you actually do you get an idea of it and the most extreme case of this three blue one brown amazing forgetting intuition you will not be able to solve a single problem after watching one of these videos which is okay he understands that and if your goal is math entertainment or to get a basic understanding of the concepts there's no better place but if your goal is to actually be able to do the math and to
understand what you're doing then then you have to do it you can't just watch it or even just read about it and so the best thing I found for that is math academy and so uh they have mathematics for machine learning course so it will uh do a quiz and it'll tell you where you were I was like 80% of the way through foundations 2 when I started and then you just do a bunch of questions you level up your skills and the great thing about this is once you're done you will understand it uh
the bad thing is it takes a lot of time it was about 4 months from when I started this to uh when I finished and it was my primary side project during that time so as far as math in general what I like is that for any place I go in science and engineering knowing these things will be useful however one of the least useful places for math is software engineering which is what we do and so oops uh 99% of the time when you're working with AI you're not going to be building the model
you're not going to be using this math so yeah but I'm still not sad I did it it's just not the best use of my time next up computer science so as a web developer I was able to skip a lot of this when I was just starting out and I did do a computer science minor but uh I only covered a small portion of this and it has been over a decade so a lot of this was as if it was new so there are a couple clusters here so this cluster is all about
lowlevel and hardware and I did this because I thought it would be really useful if I you know decided to start doing Cuda programming which silly reason ever since I heard the phrase Kudo mode I was like yeah that sounds fun I want to go Kudo mode uh but I've not yet gone kud UDA mode because this is not the best way to do it I should have actually just started programming C++ if I had been serious about it and actually just started programming Auda kernel but that's not what I did and this is nice
useful background knowledge I recommend all of these sources uh if you want to learn it but you should actually do exercises and projects uh and then another cluster so I guess a little background this database internals should probably be down here in computer science but oh well and I also started another CMU course where uh all about database internals it was called introduction databases which really means introduction to building your own database and the introductory exercise was to build a tree or try t r i e in C++ so I was like well I guess
I'm learning algorithms now and so that's why did these uh this is the neat code Ro map which is a much better way to get started with leak code and algorithms than really any other source I found because what it does is it starts out with the easy ones you learn the tricks then you go to harder ones you learn more tricks that build on the previous tricks and you just keep going and when you do it that way it's like a puzzle game and it's fun instead of uh well I see why it gets
a bad rap cuz if you jump on leak code and start trying to solve them you're going to have a bad time and it seems arbitrary but if you do it this way it's fun it's a puzzle game and uh you know if I had a lot of time I would just keep doing them uh like it's more fun than web development but uh no one pays you directly to do elak code I'm only going to do this if I start looking for a job again uh which is not right now if you're my boss
don't worry uh we're fine and then there's random other stuff that I thought kind of fit in computer science uh like this computer networking class uh good stuff once again probably can't remember it uh cuz I didn't do any exercises all right so next is data engineering and this I actually did use in my day job because a lot of it was learned for my day job and so that's great the stuff I learned directly for the day job actually isn't on here it was like stuff like DBT stuff like data dog uh lots of
tooling understand the flow of data and you know how to see when it goes wrong cuz it's not like front end or you know directly in a database where you can just see the error I got to have some tooling there and yeah not a whole lot to say here except for this book uh designing data intensive applications it is as good as everyone says it is and uh you know it's a high level overview but if you've never thought about well this is actually my second time reading it the first time I read it
it blew my mind second time reading it I'm like yeah this is just as good as I remember and I understand a lot more cuz I've seen more data intensive applications since then then finally there's the thing that started it all which is looking into machine learning and Ai and so uh this book is good uh it's a great overview of a lot of different algorithms there and how to use them uh split into two parts there's like the scikit learn which is the machine learning then there's the carison tensorflow which is the Deep learning
and uh the big downside to this one is that kison tensorflow is sorted falling out of favor uh pie torch is the new big thing so you'll be learning you know it's like learning front and systems by uh learning angular or Ember or backbone or something I don't know maybe it's not that bad but the Core Concepts are still the same even if uh I'm going to have to learn some other tooling to actually you know get into the mainstream uh and this course as great as everyone says it is I you know I done
surprisingly little in MLA considering that this actually is what started the thing and so yeah with that said let's go ahead and get to what I did wrong and what I would do next time if I could do it over okay I guess I'll say some positive things first uh so some people if you're a full-time student you may look at this and be like that's nothing that's child play remember I had a full-time job and a new baby which is great but also takes a lot of time uh so anyways back to the things
I did wrong so you'll see here it's a lot of things that I learned that I consumed but not a lot of things that I produced or that I did there are no real accomplishments here and yeah that's a big problem because if you don't actually do something you won't remember it and just like with the math you could be tricked into thinking that you understand it by the lecture being really good uh but you don't actually have all the scaffolding to remember that and apply it on your own the things where I did actually
do something it was more like small exercises such as in the algorithms leak code work and in the mathematics work and those two are the ones where you do really need to build from the bottom up start with the easy problems go to the medium problems go to the hard problems uh for other things in programming most other things you want to start from the top down you figure out what you want to do and then you work backwards and you learn what you need in order to imp Implement that and that keeps you focused
that makes it so that you're not all scattered around like this cuz notice this is so scattered like over here we've got some stuff that's useful if I was doing Cuda coding here we've got stuff that's useful if I was doing uh you know research on new Transformer architectures here we've got stuff that's useful for if I'm building a pipeline to feed the data into models and so that's like three different whole different career tracks that require different things and yeah of course I'm not going to get super far on any one of them uh
because I'm doing all of them and that none of them actually connect to what I do daytoday very much except for uh the data engineering that connects a little so if I was doing it all over what I would do to focus myself is I'd say okay what's a project that I can do in a month where I can learn everything I need in a month and I need it to stretch me do things that I don't know how to do yet but not so much that I get stuck in these rabbit holes and there
are things where you do need to get stuck in the rabbit holes like math I don't know how you do a math project uh or an algorithms project but for everything else you can take the knowledge that you have and expand just a little bit and then you've solidified that knowledge by using it and then you can expand from there and do something harder and build up that ability so that's what I'm doing for the next year uh you know maybe I'll do some courses as well but it's going to be super project focused and
my plan is to share some of that with you on here and so I've already got my first project going uh hope to have a video out uh fairly soon maybe a week or two uh just showing what I've learned from that and uh what I've built and so if there's particular stuff you want to see or if there's anything that I did over this last year that you're like oh my goodness we need content around that well I mean I'll consider it uh probably not though anyways I'll see you soon