It's unbelievable that the average human being has access to the lectures of some of the best universities in the world for free. 31 hours of in-depth mathematics by some of the best people in their field.
Although I have always been struggling with keeping up with long lecture playlists. I always try to find shorter videos which explain the concept faster (although probably lacking depth). And end up ditching it halfway as well. Perhaps the real motivation to keep up with the material comes from actually enrolling the university? Has anyone completed such type of lectures by themselves? How do you stay consistent and disciplined?
I find courses in some platforms (coursera/khanacademy) a bit more motivating because they kind of push me with deadlines. I guess I am used to deadline-oriented studying.
I love math, completed a PhD, and am very self-disciplined. But even so, I don't think I would have been able to learn much on my own with video lectures, at least not at the start. For some reason, it seems like you need to reach a "critical mass" of knowledge first before you can do that, and I've observed that a crucial component is being in a program with others, and definitely having a very experienced mentor.
Without a very experienced mentor, I think it's very difficult to get to the independent-learning stage with math. That's the key. You need someone to go through your work, correct you, and make sure you don't go off in a very wrong direction.
So my advice is find at least a graduate student in math to help you. It's like a piano teacher, if you've ever taken piano, you know it's absolutely mandatory to have a teacher. People who self-learn from the start end up being able to play but not very well.
Edit: one other crucial component is time. If you're really interested in knowing something like linear algebra, analysis, or calculus with fluency, expect to spend at least 10 hours per week on it for a year. Two hours per week will give you a cursory and very weak understanding only.
> But even so, I don't think I would have been able to learn much on my own with video lectures, at least not at the start.
This was exactly my situation. Videos can give you a lot of structured, well presented information. And for MIT courses you'd get this knowledge from the very best. The problem is that no matter how well the subject matter is presented, I would hit some conceptual snag that I couldn't resolve just by repeating the sections in the video.
Now, years ago, to clear up the concepts, I would go to math stack exchange, write down exactly what I wanted to understand using mathjax and hope that someone will provide a detailed enough explanation. Most of the time I did learn from the answers, but sometimes the answer would be too succinct. In such cases there would be a need for a back and forth and stackexchange is not really designed around that usage pattern. This hassle would eventually make me give up the whole endeavor.
Now however there are LLMs. They don't need mathjax to understand what I am talking about and they are pretty good at back and forth. In the past 6 months I have gone through 2 full MIT courses with practice sheets and exams.
So I would encourage anyone who went through the route of self learning via videos and found it to be too cumbersome and lacking to give it another go with your favorite LLM.
My only concern with using LLMs to learn new material is being certain that it's not leading me astray.
Too many times I've used LLMs for tasks at work and some of the answers I've gotten back are subtlety wrong. I can skip past those suggestions because the subject is one I'm strong/experienced in and I can easily tell that the LLM is just wrong or speaking nonsense.
But if I didn't have that level of experience, I don't think I would be able to tell where the LLM was wrong/mistaken.
I think LLMs are great for learning new things, but I also think you have to be skeptical of everything it says and need to double check the logic of what it's telling you.
I have the same doubts, it's like the old rule of reading a newspaper story. When it's outside your area of expertise you think they're a genius. When it's something you know a lot about you think it's an idiot.
But it might still help, especially if you think about the LLM as a fellow student rather than as a teacher. You try to catch it out, spot where it's misunderstood. Explain to it what you understand and see if it corrects you?
LLMs are indeed excellent as conversation partners for helping with difficult concepts or for working through problem sheets. They’re really opened up self-learning for me again in math. You can use them to go much deeper with concepts much deeper than the course you’re taking - e.g. I was relearning some basic undergrad probability and stats but ended up exploring a bit of measure theory using Gemini as well. I would go so far as to say that an LLM can be more effective for explaining things than a randomly selected graduate student (though some grad students with a particular talent for teaching will be better).
What the LLM still does not provide is accountability (a LLM isn’t going to stop you from skipping a problem set) and the human social component. But you could potentially get that from a community of other self-learners covering the same material if you’re able to pull one together.
Even if they don't skip, they adopt weird hand positions that are hard to correct. There is just too much motor movement that needs to be done right that cannot really be explained or learned by watching a video or reading a book. It's actually similar to math in a certain way, where motor memory is replaced by subtle steps in logical reasoning.
Not sure why you added "but even so", getting a PhD is fundamentally about believing in the necessity of the mentor/mentee relationship for learning. It's not at all surprising that you would find:
> You need someone to go through your work, correct you, and make sure you don't go off in a very wrong direction.
I've learned enough to publish (well received) technical books in areas I've never taken a single course in, and have personally found that in-classroom experiences were never as valuable as I had hoped they would be. Of course starting from absolute 0 is challenging, but one good teacher early on can be enough.
Though I also don't think video lectures alone are adequate. Rather than focusing on "exercises", I've found I get the biggest boost in learning when I need to build something or solve a real problems with the mathematical tools I'm studying. Learning a bit, using it to build a real project, and then coming back when you need to unblock the next hurdle is very effective.
On top of this, books are just better for learning than videos (or lectures in general). Lectures are only useful for getting the lay of the land, and getting a feel for how types of problems are worked out. Especially with mathematics, you need time to look at an equation, read ahead, flip back, write it in a notebook, etc until you really start to get it.You really can't possibly get any of these ideas in 45-60 minutes of someone talking about it.
That's why, for me, online lectures don't really change the autodidact game all that much. Reading books and solving problems seems to have been the standard way to learn things well for at least the last several hundred years, and lectures don't improve on that too much.
Because the "even so" was for the "self-motivated" part, not the "getting the PhD" part.
> I've learned enough to publish (well received) technical books in areas I've never taken a single course in,
I'm talking about pure math here, not other technical fields which are more hands on and don't require as much mentorship. Programming is easier to self-learn than math for sure, because it is not very abstract compared to math. It's also guided by whether the code works or not.
Well the post is "Mathematics for Computer Science" which I don't think anyone considers "pure math". Most of my writing has been in the area of applied mathematics, the closest I've gotten to pure math would be some stuff on measure theory.
So yea, it might be a challenge to self teach something like cluster algebras, but at that level much of the work in the field is academic communication anyway.
I would say that you need to start at a lower level when self learning with a simpler resource. Something like Openstax. People get far too obsessed with the name attached to a resource than whether it is the right method of learning.
I am about finished with my CS PhD and I taught databases at the university during covid. I, personally, would have failed in the remote learning environment we were providing.
I am amazed at those wo fought or even flourished through that.
I’m currently enrolled in an online MS program, and I had never struggled so much in courses. The lack of social component might be what’s causing that. The material is mostly a recap of undergrad and things I already knew, so the coursework should not be so difficult for me, but it’s been incredibly difficult.
Then again, William & Mary had some incredible teachers, and maybe the online program through a different school just isn’t very good at designing assignments and teaching by comparison. But I feel that there was a difference in how I could succeed at challenging assignments when I was among other students in a social setting. The work in undergrad was highly rigorous, though exploring it alongside other real-life students made it a very different undertaking.
I'm a fourth-year W&M student considering an online MSCS program post-grad (possibly the same one you're in) - I'd love to hear more about your experience in it, as compared to traditional undergrad, if you'd be willing to share?
I've found you have to be very careful with LLM as teacher since, especially when it's the one explaining, it is wrong more often then you might think, and there's no way to know.
The best use of an LLM I've found in learning is for when I explain to it my understanding of what I learned and have it critique what I've said. This has greatly reduced the amount of backtracking I need to do as I start to realize I've misunderstand a foundational concept later on when things stop making sense. Often simply having the model response with "Not quite, ..." is enough to make me realize I need to go back and re-read a section.
The other absolute godsend is just being able to take a picture of an equation in a book and ask for some help understanding it notationally. This is especially helpful when going between fields that use different notation (e.g. statistics -> physics)
Of course there are bad teachers out there. The question wasnt "are there human yeachers as bad as an LLM" it was whether an LLM is as good as a good human teacher
> We just need the Wille—the will—to ask it.
Thats the thing. Its is a very good search resource. But thats not what a teacher is. A good teacher will help you get to the right questions, not just get you the right answers. And the student often wont know the right questions until they already know quite a bit. You need a sufficiently advanced, if incomplete, mental model of the sybject to know what you dont know. An LLM cant really model what your thinking, what your stuck on, and what questions you should be asking
> You need a sufficiently advanced, if incomplete, mental model of the sybject to know what you dont know.
I believe that through a few common prompts and careful reflection on the LLM's responses, this challenge can be easily overcome. Also, nobody truly knows what you're stuck on or thinking, unless you figure out the existence of unknown and seek it out. However, I do agree with your point that "a good teacher will help you get to the right questions," since a great teacher is an active agent; they can present the unknown parts first, actively forcing you to think about them.
- when people see some things as beautiful(best), other things become ugly(ordinary)....Being and non-being create each other. — Laozi, Tao Te Ching
Perhaps the emphasis on the greatness of an LLM gives the impression that it undermines the greatness of a great human teacher, which has already led to a few downvotes. I want to clarify that I never intended to undermine that. I have encountered a few great teachers in my life, whether during my school years or those teaching in the form of MOOCs. A great teacher excels at activating the students' wille to seek the unknown and teaching more than just knowledge. Also, the LLM relies heavily on these very people to create the useful materials it trains on.
Metaphorically speaking, the LLM is learning from almost all great teachers to become a great 'teacher' itself. In that sense, I find no problem saying "LLM could be the teacher, one of the best already."
>Perhaps the real motivation to keep up with the material comes from actually enrolling the university?
For most people in most situations, the real motivation to keep up with the material comes from the wage premium one gets after getting the sheepskin. It is unsurprising you, a humble autodidact, are having a lot more trouble than an actual MIT student, because unlike an actual MIT student, you will not walk out of this course any closer to having an MIT degree.
>I guess I am used to deadline-oriented studying.
You can always reverse the curse, and promise to pay someone if you don't finish X material by Y date. You probably also want some kind of proof mechanism to show that you actually did it, like eg a graded test.
>Has anyone completed such type of lectures by themselves? How do you stay consistent and disciplined?
I've read through several textbooks cover to cover including problem sets since graduating. My motivation is mostly just burning curiosity. I can't stand the feeling of not only not knowing a thing, but knowing that I don't know it or feeling like I'm faking it every time I do act on what I know.
At first your comment rubbed me the wrong way, too cynical.
But it is completely true. No one would ‘learn’ the way college courses are structured. The only reason these courses get completed is the pace/cadence, GPA requirements to get jobs and the degree.
In the ‘real world’ you just learn enough to solve the problem in front of you and as you face more and more your knowledge tree expands.
No one in their right mind would go through a syllabus-like sequence - it is just boring, dull as hell.
>At first your comment rubbed me the wrong way, too cynical.
It's only cynical if you think making money is bad! I think it's terrific that your average B student and up is mature enough to reliably take on tens of thousands of dollars in debt, and work hard for several years without any immediate reward, in exchange for a pretty reliable pathway towards high paying specialized labor for the rest of their lives. It spits in the face of the narrative that young people are too stupid, or too naive or whatever to have agency in their own lives.
>The only reason these courses get completed is the pace/cadence, GPA requirements to get jobs and the degree.
I cite The Case Against Education, as usual. [1]
>In the ‘real world’ you just learn enough to solve the problem in front of you and as you face more and more your knowledge tree expands. No one in their right mind would go through a syllabus-like sequence - it is just boring, dull as hell.
I cite too John D. Cook's "Just-in-case versus just-in-time" blog post. [2] I don't work through actual syllabi, but I love working through textbooks from start to finish. But you are also correct that I am emphatically not in my right mind, and my career has suffered for it. ;)
I echo this sentiment. One of my favorite periods of my life was college, actually getting to learn about some advanced topics in CS. Then I graduated and got a job and now I struggle so hard to learn new things (despite lecture videos and textbooks and LLMs existing) without a professor grading assignments/giving exams/that you can talk to, or classmates.
I’m thinking about enrolling in an online college just for fun. Though the problem I have is that I think the Venn diagram of colleges that are online, aren’t expensive, have advanced CS/ML courses, have an experienced professor that you get to interact with is pretty much zero. If anyone has suggestions, do let me know.
Try not to beat yourself up too much about it, I certainly have and it hasn't been very useful to do so.
You have a finite amount of energy in a day and learning takes a lot of energy. It's why a kid's job is the learn.
You could try front running the learning, but it will impact your energy levels at work. It still takes a monumental amounts of discipline, but you may have the energy to make it work.
Georgia Tech has a great online MSc CS program (OMSCS) that's very affordable for what it is, though the amount of direct interaction with the professor varies from class to class.
and of course https://librivox.org/ and https://www.gutenberg.org/ --- for a benchmark on why, well, when my father retired to a rural Virginia county, the library was a metal carrel of books in the basement of the old courthouse, and my favourite books during the summer (when I didn't have access to the school libraries) were Hal Clement's _Space Lash_ (which my father found in a tower at the prison where he worked where reading material was forbidden) and an English textbook containing a number of short stories which my mother purchased from a table of remaindered books in a department store in a town 26 miles away to which we might drive once a month or so.
I got through a few lectures by recognizing that I didn’t have the mathematical training/practice to finish up one video in one sitting. Often times I would need to scurry on over to have some basics explained to me on another site. I did one lecture over several days (weeks if I had to). I think most of the discipline comes from expectation management. Expect to get stuck and need a few moments or days or weeks to mull something over until it becomes more intuitive. Keep a list of things you do and don’t understand (a simple text file / paper is enough) and keep doing it for a few months if you have to and you’ll get there.
Part of the value of a university is exactly that. It builds momentum and incentives. Self paces lectures can be available, but it's extremely hard to follow them if you don't have a good evaluation at the end, or if you don't have deadlines to give assignments.
But also remember, many of those lectures are at a slower peace, so one or two lectures per week. It takes time to internalize the material. People that don't follow university usually try to binge watch them, but this leads to low outcomes.
I think the best strategy is to put deadlines and risks for yourself, and follow them at a natural peace. And, do the exercices.
I completed an earlier version of this class and found structure to be helpful. Found consistent time and place each day to spend some time learning and that helped a ton, but still had weeks of not touching it so the struggle is real :)
A bit of a side note but I find that the lectures are not the most interesting/useful part of those courses. The problem sets and the time spent trying to solve them ended up solidifying so many ideas that I had fooled myself into believing I understood. So I highly recommend heads-down solving some problems. It sinks much more time than the lectures but you come out of it better off
In my experience, coursera/khan academy courses have never been able to compete with a rigorous university course. They're great resources when you need alternative explanations, but never stood up on their own.
I think long lecture playlist is a feature, not a bug. It's much harder to commit to such material when you're not full timing education.
My 5 cents, the value of KA is that it gives you some sort of basic curriculum you can follow. To finish calculus (the "basic", single variable) I've had to pull in lots of other books, youtube channels, courses from other universities, but it still has it's worth. It's like a rope bridge over a high river.
Major weaknesses are some cool sections like Linear Algebra that have no exercises in their respective "tree", but that's very rare.
Discipline is just making the same choice every time no matter how you feel or what thoughts enter your mind. Your mind will lie to you with thoughts and feelings about why you can’t attend to a lecture. Treat your mind like a child pretending to be sick to get out of school.
Even if it is true that in the moment you aren’t focused or whatever other excuses your mind comes up with, so what? “Go to class” anyway. At worst you learn nothing but improve your discipline skills.
Set a regular time to watch the lectures so you can’t lie to yourself about doing it later.
I want to be clear, it isn’t about willing yourself through it despite everything even if it can read that way. It’s about honoring the choice you made to attend to the lectures and not accepting excuses from your mind.
Recognizing that you can choose, recognizing that past you had good intentions for you and deserves you to honor those intentions, and recognizing that your thoughts and feelings in the moment may not be true and “aren’t the boss of you” even if they are true helps tremendously.
Explore use of LLM instead of passive viewing of videos.
Pass the link to LLM and ask to summarize it and generate a synopsis and quiz you.
We don't learn from lectures, we learn from problem solving
Also, be modest and assume you're dumber than you think you are - start with courses where you already know at least 50% of materials covered.
This reminds me of Asimov's Jokester story where the same themes are explored - there is an all-knowing computer but someone needs to ask the correct questions.
"Early in the history of Multivac, it had become apparent
that the bottleneck was the questioning procedure. Multivac
could answer the problem of humanity, all the problems, if it
were asked meaningful questions. But as knowledge accumulated
at an ever-faster rate, it became ever more difficult
to locate those meaningful questions.
Reason alone wouldn't do. What was needed was a rare
type of intuition; the same faculty of mind (only much more
intensified) that made a grand master at chess. A mind was
needed of the sort that could see through the quadrillions of
chess patterns to find the one best move, and do it in a matter
of minutes."
That is the goal post moving, its done by AI optimists that thinks "we just need something that can solve X and it will be as smart as a human expert".
Wasn't true for chess, wasn't true for Go, we will see when its true, but they are constantly moving the goalposts and then arguing its others who are moving it.
This fallacy also assumes that free will exists (it does not) and you could have made different choices (you couldn't have). Accepting that your choices are not free and are influenced by multiple factors (such as your current state, your knowledge at the time, your emotions, your past, upbringing, genetics even, the people you interact with) makes you realize that regret is meaningless.
But I consider myself lucky that the issue could be reproduced on a local machine (arguably, one with 8 cores and 64GiB RAM) and not only on the 32 core, 256GiB RAM server. Having to work remotely on a server would have easily added another week of investigation.
And then there are those rare cases where inserting a print or a new condition to use for conditional breakpoint forces the compiler to output slightly different code which does not produce the bug. Essentially this is similar to the Observer effect in quantum mechanics where the system is disturbed simply by observing it. Also the bug cannot be reproduced with optimizations disabled.
How are those cases debugged then? By enabling the debug symbols AND the optimizations and using the debugger, looking at the code and the disassembly side by side and trying to keep your sanity as the steps hop back and forth through the code. Telling yourself that the bug is real and it just cannot be reproduced easily because it depends on multiple factors + hardware states. Ah! I sometimes miss those kinds of bugs which make you question your reality.
Those kinds are almost never that the bug isn’t created unless you don’t put in the printf, it’s that the bug only causes the overt manifestation when the printf isn’t there. The actual bug is almost always there in both situations.
It’s almost never the compiler. It’s almost never an error in the bare metal.
The bug in question was a out of bounds writing to a stack allocated buffer. The compiler would choose to store some variables to registers for optimization purposes. When calling a function - these registers' contents would get pushed to the stack. The faulty called function would modify those same register contents on the stack. When returning to the parent function and restoring the context - the registers would have faulty values.
When adding a print or a check - the compiler would choose different variables to store in the registers. They would still get overwritten by the faulty function but the bug would not be observed.
I agree that it's almost never the compiler's fault though - but sometimes its optimization choices make it harder to reproduce a bug.
Edit:
The faulty function was a somewhat standard function, part of the SDK. This taught me that the standard functions are almost never faulty. Until they are :-)
In my opinion politics should stay out of software but sadly it gets harder and harder every day. In any case - banning people (some of them contributors and developers) from all platforms only because they suggested that Godot should "focus on software instead of politics" is terrible and harms the project and its community. And all of this started because of a woke tweet which had nothing to do with Godot engine whatsoever. We are living in interesting times. I hope Godot does not follow all the other companies who walked the "go woke go broke" route.
Between this and vaxry’s ouster from freedesktop because his project’s Discord allowed crude and tasteless speech years ago, I’m wondering how many more projects will fracture or make some of their discussion channels private. I believe Free Software will survive social media, but it’s deeply troubling how quickly people insist that they can’t possibly work with someone who has differing politics or worldview in general, or how many actually go and seek out a hill to die on for their tribe. It seems the best policy
It reminds me of the old Emo Phillips joke about the Northern Conservative Baptist Great Lakes Region Council. You’ll find a reason to spurn anyone if you look closely enough, and it seems to fill a religion-shaped hole for some culture warriors. https://youtu.be/l3fAcxcxoZ8
This sketch is a gem, I liked it! It is absolutely correct - people can and will divide if this is their goal. Sadly this mass social disintegration on all levels affects negatively various free software products. I don't even hold any extreme political beliefs (I think) but nevertheless I avoid discussing any politics in any professional environment because it's just not the place for these types of discussions and it usually doesn't lead to anything constructive or positive. I never cared what my peers' political/religious beliefs were and through the years never had problems with any of them. It was a simple life - as long as all of us did our job the final products were of decent quality.
Perhaps some kind of a policy which would treat politics as off-topic and would discourage discussing it would be beneficial to such projects in the long run.
>In terms of capability, I speculate that the best an attacker can achieve is a sticky, privileged process that accepts arbitrary commands at runtime, which can be used to read the disk, analyze other running processes, install and exfil sensor data, etc.
The worst-case scenario would be if the attacker somehow manages to rewrite your motherboard and/or SSD's firmware with a malicious firmware. And even if you reinstall your OS - he still manages to re-install the rootkit afterwards. I've only read about such type of malware but never have I seen or heard of anything like that in the wild.
Although I have always been struggling with keeping up with long lecture playlists. I always try to find shorter videos which explain the concept faster (although probably lacking depth). And end up ditching it halfway as well. Perhaps the real motivation to keep up with the material comes from actually enrolling the university? Has anyone completed such type of lectures by themselves? How do you stay consistent and disciplined?
I find courses in some platforms (coursera/khanacademy) a bit more motivating because they kind of push me with deadlines. I guess I am used to deadline-oriented studying.
If anyone else is struggling with attention span and is looking for shorter lectures (although they may not have the same depth): https://www.youtube.com/@ProfessorDaveExplains/playlists