Can you please explain more about "Thinking for five minutes of plans that can be executed in five minutes?"
Thanks!
Can you please explain more about "Thinking for five minutes of plans that can be executed in five minutes?"
Thanks!
There seems to be a mismatch between your description of the problem and your description of the solution. If you are already able to grasp concepts, but not to apply them rapidly, then the solution ought to be on the application side, not on the comprehension side as implied by "turbocharge [...] ability to absorb and deeply comprehend".
This being so, I suggest you practice doing problems. Lots of them. Go through your physics textbook (or calculus, or whatever) problem by problem, and do them all. Practice makes perfect.
In addition, it is my experience that people who say they grasp the concepts but can't apply them haven't actually grasped the concepts at all. I have yet to encounter anyone (including myself) who really fundamentally gets it (where 'it' may be physics, calculus, or even algebra) without doing a lot of dang problems.
Finally: It may be the case that your current learning effort is a bit misdirected. You say you want a career in a software-ish direction; you don't need to know a whole lot of either math or physics for that. You mention pre-requisites, so perhaps it is unavoidable, but any additional effort besides coursework may be better spent on programming. Which, again, you should learn by doing exercises, not reading books. Fire up emacs, write "Hello World", compile from the command line, run ditto. Iterate from there. For the sake of the absent gods do not start with an IDE or anything that hides the compilation step.
I'm not sure how comment notification works here, and whether you will auto-see what I say in other comments, but I am considering a career in software, but not as a programmer necessarily. I want to be more of an administrator/motivator, but I'm floundering in the dark as to how to go about gathering the necessary skills. Hence, I sort of defaulted to more school, since in Montreal university is really cheap. I'm still figuring things out :)
Thanks so much for the post.
There seems to be a mismatch between your description of the problem and your description of the solution. If you are already able to grasp concepts, but not to apply them rapidly, then the solution ought to be on the application side, not on the comprehension side as implied by "turbocharge [...] ability to absorb and deeply comprehend".
This being so, I suggest you practice doing problems. Lots of them. Go through your physics textbook (or calculus, or whatever) problem by problem, and do them all. Practice makes perfect.
In addition, it is my experience that people who say they grasp the concepts but can't apply them haven't actually grasped the concepts at all. I have yet to encounter anyone (including myself) who really fundamentally gets it (where 'it' may be physics, calculus, or even algebra) without doing a lot of dang problems.
Finally: It may be the case that your current learning effort is a bit misdirected. You say you want a career in a software-ish direction; you don't need to know a whole lot of either math or physics for that. You mention pre-requisites, so perhaps it is unavoidable, but any additional effort besides coursework may be better spent on programming. Which, again, you should learn by doing exercises, not reading books. Fire up emacs, write "Hello World", compile from the command line, run ditto. Iterate from there. For the sake of the absent gods do not start with an IDE or anything that hides the compilation step.
Perhaps you are right wrt my belief that I understand concepts. An example of what I meant is; while explaining what a derivative is in class today, I understood rather easily what it is used for and how it works. However, as soon as numbers were put on the board, it was harder for me to interpret what was going on.
Based on JMiller's statements regarding 'prerequisites', it implies that he is seeking college-level courses in computer programming, and attempting to pass the classes to get access to the advanced Computer Programming classes in a C.S. degree. As a C.S. major, I can assure you that Calculus is considered a prerequisite to many programming courses. Computer Science is (still!) considered to be primarily a Math degree.
@JMiller: I regret to inform you that RolfAndreassen is correct in most other regards, however. If you want to learn computer programming, do programming. Academic Computer Science is purely about the theory of computers - I managed to achieve a degree in C.S. with less knowledge in how to program computers than when I started, because the entire degree is made up of math theorems stacked up on top of each other. I know how to design a computer from transistors and write a programming language and operating system for it - you might be surprised how seldom that actually comes up in the real world. ;)
If you do want to learn Theory, then by all means, focus on math. If you want to learn Programming, then you find symbolic logic more helpful - my Philosophy 101 courses on symbolic logic are far, far more helpful to me in my programming (even today!) than any of my C.S. courses ever were.
I've seen https://www.khanacademy.org/cs to be a highly valuable resource if you want to learn programming. They've got some very potent innovations there, such as an in-website programming environment. It's very nifty for beginning programmers. I'd recommend checking it out.
As I mentioned in another comment, I am not necessarily looking to become a programmer. I am more interested in big-picture design and management, but I figured that I ought to get as good fundamentals as possible first.
As a philosophy major who picked up CS after graduating, I have a recommendation:
If you want to start programming, start programming. The gaps in your knowledge will become apparent when you get to a problem you can't solve BECAUSE you don't understand the math behind it, and then you can backfill. Chances are you can develop a pretty solid grasp on the basics of programming before you get to that point.
This is not to say that taking math and science beforehand is a bad thing, but often people get hung up on prerequisites to the things they want to do and never get started.
My first course on programming was an earlier version of this course on edX: https://www.edx.org/course/mit/6-00-1x/introduction-computer-science/1122
It was far and away the best online class I've ever taken. Extremely high quality, designed specifically for the MOOC format, difficult enough that I had to really work hard, but doable with enough effort.
They're actually making it a part of a CS core series that looks like it will be very comprehensive.
Good luck!
I said software, but I don't think I meant programming. I intend to be in some sort of quarterbacking/ management capacity. I think my comparative advantage lies in the intersection between technical work and leadership/social skills. I figured it would be best to learn as much as I can first.
Seconding RolfAndreassen's comment. Quit learning concepts for a while, instead take a big pile of problems that should be solvable way below your current level of knowledge, and solve them. For example, you could Google for some 8th grade math olympiad problems, and start going through them without skipping any. If the first ten yield too easily, go up a grade; if they're too hard, go down a grade. Don't be afraid to go down as far as you need to be comfortable. After you go through a couple hundred problems, some habits should start to form.
That's a good idea. Thanks a lot.
My problem is that I can grasp concepts and ideas, but when it comes to solving specific problems with actual numbers, I seem to shut down. Specifically, it takes me much more time (read "hours") to solve problems that ought to take 10 minutes. This is a particularly bad thing on tests and exams.
I believe that the difficulty I am having stems from so little exposure to symbolic reasoning in the past 5-6 years. I am looking for resources, techniques and advice to "turbocharge" (to use CFAR terminology) my ability to absorb and deeply comprehend technical material, so that solving problems becomes second nature.
So, typically when you look at a math problem there's a process you can go through that reliably gets from the problem to the solution. Do you have a good idea what all of the steps in this algorithm are? Can you identify where you're getting stuck?
My guess is that learning how to do that will be the largest speed boost.
I suspect that watching people solve problems, interleaved with solving them yourself, is the best way to practice. It might be possible to identify the step you're bad at, and set up problems which only go through that step- but this may require cooperation from someone else to be effective.
I think the step I am worst at is not the "what am I being asked" step, but the "now that I know what I'm being asked, which formulas/ rules/ concepts am I allowed to use here" step.
If you get the concepts and can slowly do the problems, it likely means you need to work on "internalizing" what you know, or teaching your type 1 systems (instincts) to direct your type 2 systems (thoughtful logic) to look in more fruitful directions earlier. The only way I know to really get good at this is practice, preferably with the involvement of other people who you can race with and against (and who can show you where you're going wrong when you spend time on a bad path).
Finding people doing topcoder or other programming/puzzle contests would likely make short work of this.
Yeah, that sounds like it makes sense. Thank you.
Specifically, it takes me much more time (read "hours") to solve problems that ought to take 10 minutes.
How long can you concentrate on a single problem? Can you stay with a problem for an hour or does your mind drift?
I can concentrate for long amounts of time. A bigger problem is physical restlessness. I use a whiteboard to keep myself standing and moving, which seems to make it easier. My handwriting sucks, so it also lets me be a bit more neat.
I am not sure if this deserves it's own post. I figured I would post here and then add it to discussion if there is sufficient interest.
I recently started reading Learn You A Haskell For Great Good. This is the first time I have attempted to learn a functional language, and I am only a beginner in Imperative languages (Java). I am looking for some exercises that could go along with the e-book. Ideally, the exercises would encourage learning new material in a similar order to how the book is presented. I am happy to substitute/compliment with a different resource as well, if it contains problems that allow one to practice structurally. If you know of any such exercises, I would appreciate a link to them. I am aware that Project Euler is often advised; does it effectively teach programming skills, or just problem solving? (Then again, I am not entirely sure if there is a difference at this point in my education).
Thanks for the help!