I am an electrical engineer who does quite some engineering math in my work. I also need to use computers quite a bit, but ALWAYS find the entire culture of unix and C/Fortran coding intimidating. Here is an example: I tried to compile my "hello.cc", I typed "gcc hello.cc" and got "a.out". I typed "a.out", it complained command not found, after hours of struggling I discovered I should type "./a.out" instead... I have always been using matlab for all my computation needs since the documentations are meant for mathematicians rather than computer scientists. I want to learn some C since I heard its faster, but so far I found all of those books heavy on computer side but light on math side, i.e., examples given in those books are unbearably boring and stupid and I will lose interest very quickly; on the other side they sometimes go too deep (for me) under the hood of unix and there's no way to follow those Greeks. I did find this book http://www.amazon.com/C-Mathematicians-Introduction-Students-Professionals/dp/158488584X a little more interesting, however those high school math examples are still on the boring side. What I'm interested in is solving LARGE SCALE problems, i.e., array operations, numerical linear algebra, etc. Is there a book that would assume little unix background and still teaches you how to use c++ to solve problem of this kind? Any suggestions are welcome. Thank you.