Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Quote:

Nathan:
hey I'm thinking about attending DevBootcamp(.com) as a way of getting an entry-level programming job and to work from my laptop ASAP but I'm nervous that 1) learning web design may be so different from other kinds of programming that it may not be worth the time investment, and 2) that I may not be able to get a job working from my laptop for some time (one guy I spoke to who won Facebook's national hackathon said that I'd need to work at least 2-3 years in an office before they'd let me telecommute, and even then people come in twice a week for meetings).
Also, do you think it's worth memorizing common cubes, squares, primes, and multiplication up to 20? (eg 13x18) What about learning fast math tricks (eg the book Secrets of Mental Math)? I've got a goal I'm half-committed to of getting a perfect score on the SAT and GMAT as a way of motivating me to keep going onto even higher math, and I've read online from people who did well on those tests that it's worth the little time it takes to memorize it.

Tom:
1) This is typically not true anymore. Many websites go with a MVC (model view controller) paradigm, designed to store data, display that data, and interact with that data. A simple example is a LAMP stack (Linux Apache MySQL php), wherein you use php to generate your pages and interact with a MySQL backed database. php is a little dirtier than other languages, but it still operates on similar principles. I learned it in a day or two. More robust sites use java instead of php, and that's definitely something respected as a programming language.

2) That might be true.

Again I wouldn't recommend memorizing any math. It's just not a productive use of time. That should come naturally with enough exposure. I would recommend finding a book on linear algebra and learning that though. (MIT has two linear algebra courses -- one is more concrete (Strang) and one uses Artin's Algebra)

In fact, why not look at some of MIT's OpenCourseWare sites, like this for linear algebra:http://ocw.mit.edu/courses/mathematics/ ... /index.htm . 

Honestly I think linear algebra is the most accessible college-level math topic, even moreso than calculus. It should really be taught *before* calculus, since calculus uses some of the ideas of linalg, and so in practice they end up poorly-developed. I'm teaching multivariable calculus this term, and I wish my students knew some linalg -- it would save a lot of hand-waving. (And I try not to handwave, so it just means that my lectures are even more pressed for time).

I think OCW is a pretty good resource, and they have all the problem sets for a term as well as lecture notes and video lectures. In fact, you might be part of the target audience for these things.

Nathan:
Thanks a lot for the advice; I've been using Khan Academy for a while to brush up on my math, so I think I'll watch his videos on Linear Algebra and then try the OCW stuff (I've known about OCW for a few years but always found the learning curve a little steep for the courses I checked out).

I honestly think Anki will help a lot with math and CS, just to get the syntax stuff beaten into my head. I understand what you're saying about how that stuff will get in there anyway if I spend time on projects, but the problem I have is that I'll get bogged down in problem after problem while working on a project, and it'll be so frustrating that I'll give up for a few MONTHS. For example, I still haven't made much progress on the USACO puzzles since I last sent you and Choketsu Chris Uga an email about it over the summer, and the reason isn't that the CONCEPTS of the puzzles are hard, but that figuring out how to translate my Python solutions into C++ for the website's grader is usually an extremely slow and painful process, so I end up dreading the thought of working on them.

Another problem I have is that I'll read a book and find a bunch of the info really interesting and useful, but I'll end up forgetting it. For example I was reading Prata's "C++ Primer Plus" over the summer and found it really interesting and useful, but I could tell I wasn't going to remember most of it. I think using Anki to rehearse stuff I've read/learned will help me cement it in my mind.

Tom:
Something you said above is really important: "Another problem I have is that I'll read a book and find a bunch of the info really interesting and useful, but I'll end up forgetting it. "

As a graduate student for math, I have to read and learn a *lot* of abstract math, from a lot of books. And the problem you mention -- forgetting things after reading them -- is a huge issue. And for a while I tried re-reading constantly and rote memorizing the parts that I needed.

I found three things happened that were undesirable: 1) The amount of material you have to do this with gets excessively large without having some mental framework under which a majority of the results are trivial; 2) You forget everything soon after you stop your memorization routine (take a week off and you're screwed); 3) While I knew the statements of the results, I did not know how to apply them.

What I've been doing now that's been more successful is to treat mathematical reading as an active process. Fight back against the book. Theorems might be structured like: if P and Q then R. Well, why is P necessary? Provide a counterexample to the theorem when P is false. Similarly for Q. Then give a good reason why P,Q give you R. Now you probably won't forget the theorem ever.


Unfortunately books will almost never go into this level of depth. A good lecturer will do so in class, but you almost never see that, either. So, it's up to you to do it for yourself. If you really want to be a strong self-learner, in my opinion there's not really any other option that will get you what you want.

Likewise if you are, say, learning dijkstra's algorithm and are implementing it from scratch in C++, you're likely to screw it up a few times before you get it to work. This will teach you all the subtleties of why it works by making you invent good debugging technique and watching the state of the algorithm as it goes. This is super valuable and builds the foundation for genuine skill.

Lastly, I just think that trying to memorize things leaves you with an academic equivalent ofhttp://en.wikipedia.org/wiki/Technical_debt , where you now are adding more and more tasks to your day just to pay for what you've learned already. Ideally you want the *opposite* to happen -- over time you should be freeing up more and more of your day to think about or do more challenging things, rather than maintaining what you know already. It's much less stressful .

That said, keep me posted on how you're doing, and fundamentally whatever works best for you works best for you. Best of luck!

Nathan:
Thanks a lot for letting me know about your experience. I definitely noticed that I improved on the LSAT very quickly by using the strategy you talk about here (picking everything apart and seeing how it works). But I also have good memories of using flashcards on the LSAT and in Chinese to remind myself what my weaknesses were. I'm going to think more about this.

Nathan:
I'm going to try to give you a monthly update as a way of motivating myself; there probably won't be much for you to say about it, so don't worry about responding.

I spent the past month and a half doing a few different things:
- I was doing a lot of the exercises on KhanAcademy; it tracks how many you've completed and gives you points for doing them, and I've found that pretty motivating (surprisingly).
- I watched about 1/3 of Sal's videos on Linear Algebra, and the first 2-3 videos of the MIT course. I stopped, though, after I watched a video by Sal where I started to get lost (because I was only half-paying-attention), and I never got myself to go back and watch the video again.
- I've been using Anki to study spanish, german, chinese, processing (a programming language built on java), and miscellaneous facts I've learned from the math videos I watch. I've been keeping what you said in mind while I did this and have been noticing those things you talked about (technical debt, needing a mental framework, forgetting things quickly, knowing a particular fact but not how to apply it). I still think Anki has been helpful, but I think I need to experiment with it more to see how to use it as effectively as possible.
- I've read Hartl's Ruby on Rails Tutorial book and visited different coding bootcamps in San Francisco
- I've been working on a chess program I'm making in processing. I want to use chess as a way of experimenting with the visualization of information in a way that allows humans to make smarter decisions.
- I've been reading what you wrote multiple times to try to figure out how to apply it to my situation.

My goal for the next month is:
- I have 3-4 Python solutions to USACO puzzles that I haven't been able to motivate myself to translate into C++. I want to translate them so I can move onto the next batch of USACO puzzles.
- I want to watch at least another 1/3 of Sal's lin alg videos, and I want to get through at least 10 of the MIT lectures on lin alg.
- I want to implement proper chess moves into the chess program, so that pieces move according to the rules and can capture each other.
- I want to make Anki flashcards for SAT advice I have in this book I bought a while ago.
- I want to make Anki flashcards for this speed-math book I bought.

Tom:
Cool. For an MIT course we had to implement a chess program, along with an AI that would play the game (by alternate sets of rules as well). It can get really tough. If you're implementing the game rules though, a neat next step would be to implement some sort of AI for the computer to use. A good starting point is alpha-beta pruning:http://en.wikipedia.org/wiki/Alpha%E2%80%93beta_pruning.
I assume the linear algebra material you've been looking at focuses more on matrices, and less on the more abstract viewpoints? (I actually usually find the matrix approach more confusing, but it's good for being concrete.)

Nathan:
Thanks for the tip; I hadn't heard of Alpha-beta pruning before. Sal's videos are basically him proving things from the ground up, which is helpful, but I'm still struggling with the typical "what motivated these ideas?" problem. I feel like I'm being led around blindfolded. I love the math books that describe the history behind stuff, because everything makes more sense when I know exactly why mathematicians needed to know how to do XYZ. I think it's a lot like reading someone else's programming code and wondering why they did it the way they did.

Also, I forgot to mention this, but I had a bit of an "Aha!" moment recently: I was trying to make a function that would make a chessboard square's color glow from its normal color to a glow color and back every x seconds, but couldn't figure out how to translate the input (the fraction representing the current position in the period of the glowing, from 0 to 1) into the necessary output (a fraction that would start at 0, gradually go up to 1 in the middle of the period, and then gradually back down to 0 at the end of the period). It was holding up progress for like a month or two, but a few days ago I was lying in bed and just started mentally playing with the image of the graph that the input would make, and asking myself, "What transformations would I need to apply to transform this into the output?" And so I had the idea to multiply the input by 2 in the first half of the period so that the line would be up at 1 by the middle instead of only at 1/2 (I was visualizing the picture changing while I thought to myself), and then I realized I would need to cut the input line in half, multiply it by -1, and subtract to get the second half to look like what I wanted it to look like (a downward sloping line). I can't remember solving a problem that way before, so I was pretty excited about it. I think the KhanAcademy exercises have been a huge help with my ability/willingness to visualize these things.

Tom:
I've always viewed linear algebra as the natural extension of coordinate geometry -- linear equations are lines and planes and so solving these things is the same thing as finding intersections. Matrix transformations are the same things as dilations/rotations/etc -- very natural things to want to do to geometric objects. A lot of the computational (let's solve these systems, rather than draw pictures) approaches don't start off with this motivation (it does, after all, take time), but I think intuition benefits from it.

Fundamentally you're still doing the same computations at the end of the day, but it's nice to know where things are coming from. Most importantly, I've always liked to think about it as "what am I allowed to forget?" Remembering a couple of important things (and understanding them well!) gives you a solid core of understanding. I think people often "remember" things by deducing them quickly rather than memorization. (Basically some sort of contextual memory -- e.g. not being able to write down your password, but you can type it just fine).

What transformation you did is a triangle wave http://en.wikipedia.org/wiki/Triangle_wave. See that a sine wave would have worked too -- you might want to experiment and see which looks best for you . But that's a very strong observation you made -- and reinventing things from scratch is a great way to learn.

By the way, a lot of mathematics turns out to have this structure:
1) What objects am I studying? (Say, vector spaces)
2) What are structure-preserving transformations between these objects? (Say, Linear transformations or matrices)
3) What other properties are preserved (in any way) by these transformations? (Say, dimension, linear independence, lots of things)

 

 

 

...






Quote:
AoPS (mostly quotes from Richard Rusczyk)
I've gone through pages 5 and 6. I stopped on page 4 (I'm working my way backwards):
http://www.artofproblemsolving.com/Foru ... &start=120

NoYoo-hooForMe worked with RR at DE Shaw:
His profile: http://www.artofproblemsolving.com/Foru ... le&u=16466
Where he says he worked with RR: http://www.artofproblemsolving.com/Foru ... 38&t=47853


While it's not expected that you'll make a million dollars in year 5, neither is it impossible. If you're not making at least middle six-digits by year 6-8 as a quant in a hedge fund, then something has gone very wrong for you. 

(My experience may somewhat skew these remarks - I happened to have a very quick rise because I got lucky in the group I landed in when I arrived at Shaw. That said, nearly everyone I know who has been involved in trading for 7-10 years is very, very wealthy. FWIW, I was only there for 4 years.)
[...]
In general, I'd say that if you can get a position at a good trading firm right out of undergraduate, in the long run you'll be way ahead of where you would be if you waited until you had a PhD. [this is exactly what Wes said: it's an apprenticeship industry, so an MBA isn't as useful as many people believe it to be]
Source: http://www.artofproblemsolving.com/Foru ... 38&t=83897


Hedge funds seem to go more for the folks with pure science degrees. That said, they aim more at the people with applied knowledge (e.g. physics) than at the pure math people

Whatever route you go, learn how to program.
Source: http://www.artofproblemsolving.com/Foru ... 38&t=84593


I worked a fair amount at Shaw, but I work way more now on AoPS. I would say the average work week at places like Shaw or Jane Street is closer to 55 hours, maybe lower (unless things have changed dramatically).
Source: http://www.artofproblemsolving.com/Foru ... 38&t=90486


Question: Can you please give me some examples of what kind of fields I will be able to work in financial industry if I am not hired as a quant?

Answer: The largest is consulting. Others include government work (NASA, NSA, etc., all hire lots of quants), startups of various kinds (particularly if you know how to program), or starting your own company. Many biotech companies now require serious modeling as well, though that may require more education. Speaking of education, academia is also an option.
[...]
Rrolack: I work as a hedge fund quant in NYC, and despite the fact that I love my job, I am a bit frustrated by the lack of quant jobs outside the New York area. They say NYC is the capital of the United States for finance jobs in general. This holds even more true for quant jobs, IMO.
Source: http://www.artofproblemsolving.com/Foru ... 38&t=85185

I'm on record as noting that the group I worked with at Shaw was more impressive than the groups I went to MOP with. [wow]
[...]
In evaluating quants, they'll want to see experience coding to apply mathematics to problems. As for the area of math, that's of somewhat secondary importance. A candidate with a purely theoretical background and no experience with applications or computers is unlikely to get hired (and such a candidate is also unlikely to be happy at Shaw - if pure theoretical research is the only thing you love, then you'll be happier elsewhere. In trading, you have to get your hands dirty and wander into some grey areas/guesswork).
http://www.artofproblemsolving.com/Foru ... 0&start=20


If you are aiming at being a quant, learn how to program and get some mathematical modeling (applied math) experience, too. That is probably more important than economics.
http://www.artofproblemsolving.com/Foru ... 0&start=40


RR: The environment is very competitive/cooperative, since you both want to stand out among your peers, but you also do better when they do better. It is competitive, but often much more of 'our firm' against 'everyone else' instead of you against the person sitting next to you. If you're in the latter situation, find somewhere else to work. It's not as cutthroat as pre-meds in undergraduate school tend to be, for example.

Yoohoo:My belief is that a lot depends on how you approach the quant role--to be honest, I think Richard may have been smarter in how he approached it than I was. You need to take the approach that being a quant is something that you are going to do during a certain phase of your life to attain a certain level of financial security. You need to set the goal that it is something that you are doing to make a substantial amount of money within a relatively short amount of time--and, although it involves risk, it is probably less risky than other paths (like a tech startup) that technically oriented people could follow to achieve financial security.

Yoohoo cont'd: It is important to, early on in any quant job, get a sense as to how they approach their mathematics. You aren't (in my experience) going to find complete mathematical rigor in any quant job. Within any quant group, there are certain things that seem to be accepted more or less on faith--and they vary from one group to another. It is key, early on, to get a sense as to what the group simply accepts on faith. Within that basic structure, they then apply rigorous mathematical techniques to maximize their profits. If you use your mathematical ability to maximize their success within their basic structure, you will be successful. If you try to use your mathematical aptitude to challenge their basic assumptions--even in cases where those basic assumptions might not be 100 percent true all the time--you will be less successful.

http://www.artofproblemsolving.com/Foru ... 38&t=47853

...