Life tip: If you want to study X but aren't sure if you need to study Y first, just start studying X.
If you read a textbook is too hard, you will quickly discover and correct your mistake. If you read a textbook is too easy, you risk wasting months on material below your capabilities, and you won't find out until you move on to the textbook you should have started with in the first place.
As a strategic note, I am increasingly skeptical of the idea of trying to learn a bunch of skills that you may or may not use, especially advanced math skills. The key problem with learning is that skill ability decays over time unless you invest a lot of time on maintenance. So if you invest X hours learning a skill, you will have an asset whose value decays over time, while if you spend the same amount of effort making money, you will have an asset that grows exponentially in value over time.
A few questions that I've had recently:
- Do you really need multivariable calculus for probability theory?
- Would taking a traditional statistics course be a good place to start learning statistics and probability theory, or do they tend to teach a "bad frequentist mindset" that later has to be unlearned?
- Is Cormen et al. suitable as an introductory algorithms text?
I've seen differing opinions on this one, so I wanted to make it a poll:
Is Jaynes suitable as an introductory probability theory textbook? [pollid:594]
"Probability theory" is an extremely broad term. You don't need any calculus to understand discrete random variables (and if your motivation is directed towards MIRI research, this is mostly the kind of probability that's relevant). You'll want to know some one-variable calculus to understand continuous random variables (so you can manipulate probability density functions and maybe characteristic functions). It would be helpful to be comfortable with some multivariable integral calculus for the purpose of understanding collections of continuous random variables, but something like Stokes' theorem won't be particularly relevant.
My impression is that most traditional statistics courses are very bad (not even because of anything to do with frequentism, they're just very bad). Don't take one.
Can you clarify what you mean by this?
Thanks, that's really helpful.
For #3, I was basically looking for some feedback on this text. It was recommended in the best textbooks on every subject thread, but I've heard mixed reviews about it. The top rated review on amazon claims
Students will need a very strong mathematical background and a strong arm to even think about picking up this book because the it is heavy (both physically and metaphorically). Mastery of discrete math is a must, graph theory, programming, and, combinatorics will also help.
and another review by a Comp Sci professor calls it "Magisterial, and Impenetrable".
These are not things you see written about something like Sedgewick's book. Interestingly enough, the reviews on this one all similarly praise Sedgewick's book over Cormen.
So I guess my question was "Is Cormen et al. actually a good introductory text on algorithms for someone who has not taken an algorithms course before?"
The answer is "probably not". Cormen is too comprehensive and dry for self-study; it's best used as the textbook to back an algorithms course or as a reference to consult later on.
A very good book is Skiena, The Algorithm Design Manual. I usually recommend it to people who want to brush up on their algorithms before programming interviews, but I think it's accessible enough to a novice as well. Its strengths are an intelligent selection of topics and an emphasis on teaching how to select an algorithm in a real-life situation.
Traditional statistics classes teach procedures, but not the math needed to understand them. Being told to use maths without being told how the maths work is infuriating to certain sorts of people, and those sorts of people are abnormally concentrated on LessWrong. Jaynes builds up procedures from first principles, which appeals to some but is pointlessly abstract for others.
Different minds learn differently. The answer to this poll entirely depends on who you are.
Original link (at Abstruse Goose).
Skimming through these two textbooks, it seems that:
1) Information Theory... would go down a lot easier if you are already comfortable with probability theory. Nothing fancy, but being able to solve basic "balls and urns" problems, which require some knowledge of combinatorics. Also, knowledge of linear algebra would help a lot.
2) ...Economic Analysis seems to require comfort with calculus. Comfort with reading, manipulating and understanding graphs---similar to the kind you encounter in Newtonian kinematics---would also go a long way.
I am an aspiring autodidact in math who's having motivation issues and would like to identify their cause. I've been, embarrassingly, stuck at basically the same high-school, introductory level for a few years now in all of the material I've begun studying so far, and this is because I've been studying with a frequency ranging from one week per month, to once every three months or something. My chosen study methods are slow and thorough.
I often feel frustrated about the material I'm studying, and find it rather tedious. I suspect that one reason for this is the fact that I'm a freshman undergrad in a STEM field, so I've already gone through all of what I'm studying now and more (albeit more superficially), have been acquainted with more difficult math and would really like to get into the meat of things -- however, I'm aware that I don't have a solid grasp on the basics and need to practice even the easy exercises until it becomes second nature to me.
I often wonder whether my struggles with finding the motivation to go through my textbooks are an ordinary part of the life of people who eventually overcome them (through better study plans, or increased conscientiousness or whatever) and go on to become good mathematicians, or whether it just means that I'm simply naturally disinterested in math, and will always be so, and consequently I'll never raise above the level of a mediocre STEM undergrad. I mean, if I were cut out for math, then I'd be naturally curious and enthusiastic about studying it, right? Or at least I'd have the conscientiousness / work ethic to study diligently even when it doesn't feel exciting. So far none of these conditions apply; does it mean that they never will? (I expect this feeling of tediousness to go away once I start to become good at college-level math. But maybe there's a selection effect at play here: only people who are naturally good at math master the undergrad level; people who naturally suck at math give up by the end of high school.)
I've also noticed that my lack of motivation is not domain-specific: I fail to habitually study every other field I've ever meant to study. In fact, I've been comparatively successful in studying math (and, to a lesser extent, physics and programming). This leads me to thinking the issue is a lack of study habits. The funny thing is that I constantly -- habitually, even -- fret about lacking study habits, yet so far (3 years or so) this has never translated into the instillation of said study habits.
Have any LessWrongers had similar issues and managed to overcome them?
For introductory math, I've enjoyed the Art of Problem Solving series. I too prefer the slow and thorough method of study, and these books are really comprehensive.
For study motivation, try the Akrasia Tactics thread, as well as these posts.
For myself, I've found that the best study motivator is to attend a class on the subject, even if that means paying for it. In fact, paying for it is an extra motivator to do the necessary work.
I'm actually in a very similar situation to you. Several of the links above were provided by Jonah Sinick over at Cognito Mentoring. I'm in the middle of an email conversation with him and he's been very helpful.
Yes, I have had similar issues and I can't say that I did manage to overcome them successfully, but I'm committed to continue, and I'm in the middle of reorganizing my life so that I could direct more resources there.
I'm not offering any specific advice for now, beside the obvious: http://www.sparringmind.com/changing-habits/, http://www.sparringmind.com/productivity-science/, but I'm responding here to start the dialogue and to nudge us both in the right direction.
So yeah, I wish for you to untangle your motivations and follow through.
Thanks for the reply. I've tried just about any productivity technique except for Beeminder, which I'm fairly sure just isn't the right tool for me for a number of (financial as well as psychological) reasons. I've read The Willpower Instinct and a few other books on the topic. I'm currently looking into nootropics and neurochemistry as a last resort, more precisely dopaminergics, more precisely selegiline (I seem to fit the profile of someone who's generally low on dopamine, but I don't know for sure); modafinil too, for focus reasons.
The results have led me to think that I have positively affected plenty of areas of my life, except for the one I originally set out to improve, i.e. studying. Maybe I'm doing that wrong; maybe copying down entire textbooks is tedious as well as disheartening.
How does your case sound like?
You'll have to specify your needs a bit better.
Are you interested in algorithms (in which case you'd want to take a look at Knuth)? In the proper way to architect or organize software (in which case Design Patterns might be useful)? In how to write clear, understandable, efficient code (in which case language will have to enter into this)?
I highly recommend the book Concepts, Techniques, and Models of Computer Programming (http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695) which is the closest I've seen to distilling programming to its essence. It's language agnostic in the sense that you start with a small "kernel language" and build it up incorporating different concepts as needed.
The book's author is running a MOOC on EdX https://www.edx.org/course/louvainx/louvainx-louv1-01x-paradigms-computer-1203
Completely language-agnostic programming book is a bit of a contradiction. You're better off finding books on the subject that use the language you're most comfortable with. I'd look at books on object oriented programming and algorithm design, and when you're completely comfortable with those topics, move on to design patterns.
I generally recommend Code Complete by Steve McConnel for procedural and OO programming, less so for rapid scripting, even less suitable if you are into functional programming (where SICP rules supreme). For ways to deal with the common issues on a software development team, see his other books, Software Project Survival Guide. Rapid Development is also good.
People vary quite a bit, so this may only apply to a subset of readers. It definitely applies to me. I learn by working backwards much better than by finding a path from basics to an end result.
Also, for a whole lot of topics, "learn X" or even "study X" is not a well-formed intent. There are often an incredibly wide range of activities you could undertake that seem to be leading to your goal(s), but are actually part of a completely different result that happens to share the same name "know X".
Don't attempt to study machine learning. Pick an outcome you want (perhaps building a LessWrong comment classifier), and study enough to get that done. Then pick another outcome, and do that.
Don't attempt to study quantum mechanics. Instead, try to figure out why you should care about the many-worlds interpretation.
Instead, try to figure out why you should care about the many-worlds interpretation.
This strikes me as terrible advice. You're advising people to exclusively read filtered evidence on a topic they know nothing about.
Don't attempt to study machine learning. Pick an outcome you want ... and study enough to get that done.
For the record, machine learning is a topic where (1) it's easy to fool yourself with over-optimistic test result (2) it's easy to waste months improving parts of a project which do not matter in the end . These problems are both mitigated (somewhat) by learning the foundations.
Not to say you wouldn't learn a lot by just diving in. Diving in, then going back and figuring out what you were doing seems like it could be a good thing for many people.
My newest interest is to become a winning poker player. I have recently recented advice doing so professionally isn't quite feasible, since the sanity waterline has risen in the online poker world. However, I am not fully discouraged and I wish to pursue the skills needed to become an above average player, if not a professional one. Also, I am considering brick and mortar poker games in addition to online games.
I have been having some trouble calculating pot odds and implied odds. I grasp what they are conceptually, but actually calculating them has been a bust for me. These skills are needed for value betting, and what I have found online so far has been difficult to understand.
As I mentioned here, I am engaged in self-study to become a software engineer. I now have a (tentative) 3 year (roughly 2^10 hour) plan for learning the relavent skills. You can take a look at what I'm doing and track my progress here.
Currently, it includes learning touch-typing, math, logic, computer science, Java, C, Ruby, Haskell, SQL, HTML/CSS, Unix, and getting a degree in computer science with a concentration in software engineering.
The idea is to read and do all the exercises in the texts listed under each goal and move onto small personal and open source projects for the remainder of the time.
I'm open to and would appreciate constructive criticism of the plan, book suggestions, relevant anti-akrasia techniques, etc... Also, before I get any comments about the "slow" pace, keep in mind I own my own business, have an almost 1 year old son, and am going to school full-time.
I think your plan is good, and I like the idea of having it visible (and on github as well - a requirement for software engineers these days).
You have 32 hours for HTML and CSS but you could also include some time prior to that on core design principles / Human Computer interfaces. It is one of those skills that while not directly related to building the software (interface is often done by a design team), will set you apart as a developer.
I recommend this book DESIGN creation of artifacts in society as this covers the design process more so than technical interfaces. It is very useful. The book is written by Karl T. Ulrich and follows the free course, which is very good in itself, but I wouldn't recommend the time commitment required for it.
If the course Human-Computer Interaction runs again I would recommend doing it. A fair time commitment but you go through the process of building web interfaces and peer reviewing them against the various heuristics.
In terms of the nitty gritty details like layout, font selection, colours, spacings, etc I used blogs, wikipedia and other ineffective ways of learning, but I would love to see a good textbook recommendation on the subject.
Hey. Your plan looks interesting and I'm wishing you all the best with your project on self-studying. If you want to learn about logic take a look at the online courses on coursera from the University of Melbourne : https://www.coursera.org/course/logic1 https://www.coursera.org/course/logic2
Somehow, the way my education jumped about, I got through high school, acing advanced topics in physics, astrophysics, and scoring high enough on the advanced placement calculus exam to skip some college courses, all without learning the cross or dot products.
I didn't do so well in college physics.
(I tried researching these online, but everything I found was either impenetrably technical or used an inaccessible format for mathematic notation. I finally got a hold of javascript functions, but I still wouldn't know when to use them.)
Div, Grad, Curl is a great introduction to vector calculus.
That was the first CS I read, and was what convinced me to study Computer Science. There are no prerequisites.
EDIT: When I read that book, I had known Scheme) and calculus for several years. I don't recall either of them being required, but (outside view) they might have been. If you don't know how to program at all in any language, you may get lost. But in general that book does a very good job of exposition.
I'm having the exact problem that you're describing. I want to study computer science in a university here in Greece but to do that I have to give exams in subjects that are irrelevant to a computer science curriculum (anatomy,biology etc.) because in High School I was in a "medical" department. So now because I don't want to spend a year of my life studying those courses I can't study computer science in a university and I became autodidact , which is very challenging so far...