Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

If one of your friend dropped of high-school and wanted to sharpen his programming & software engineering skills which book would you advise him to read & study to make up for the knowledge he could have gained from a top US Computer Sciences University.

All type of books are welcomed : Algorithms, Data Structures, Compiler Design, languages, design patterns, Machine Language, Maths (absolute minimum required for Sofware Engineers), Problem Solving, General Engineering book that can be of some help for SE ...

share|improve this question

closed as not constructive by ChrisF Jan 28 '12 at 14:17

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

What is your current level? –  user1249 Nov 14 '10 at 14:32
High School + a bit of programming on Ruby on Rails, PHP (mostly developping CRUD app) –  Tarek Demiati Nov 14 '10 at 14:53
Somehow the "absolute minimum maths" doesn't add up with most of the disciplines you want to learn about. –  Jas Nov 14 '10 at 15:25
"Catcher in the Rye" Knowing code is not enough. –  JeffO May 2 '11 at 13:19
Your friend could simple review or follow the on-line course material from MIT or Stanford. –  Meredith Poor Aug 3 '13 at 0:05

2 Answers 2

I did drop out of high school, well, sort of. In 10'th grade it was decided that the local community college would be a better place for me. All I did was raise some objections to how the business of schooling was being conducted, my parents who were amplified by irate public school administrators accomplished the rest.

The best advice that I can give someone in my circumstances (this was nearly 20 years ago) is, learn how to not take things personally.

No matter your next endeavour, if you advance as is often demanded, you'll be greeted by people who are more experienced than you in social settings. They won't be sufficiently mature to avoid advancing themselves at the expense of a cast out (even at age 40), in many cases, and they know how to test confidence in odd ways.

If I had to do it all over again, I'd take a menial job, save my money and learn how to interact with people who were older than I am. It took the better part of ten years for me to learn how to do that, I could have done it in two if I had just let myself grow up.

Opportunities depend on, and expand exponentially based on your level of tolerance and maturity. You don't get to introduce skill until you get past those things.

What, exactly is the urgency? Live a little, study, then live better. Sorry for not recommending a book :)

share|improve this answer
Urgency : Master evrything through books & practices, everything a smart BS in CS from Stanford has mastered in his curriculum. –  Tarek Demiati Nov 14 '10 at 14:55
@Tarek - You've provided a great overview of what you think has to be done, but not why. –  Tim Post Nov 14 '10 at 14:57
The reason is mostly for psychological/egotistical, for not feeling like a fraud or technically inferior. And being sure to be at least as sharp and knowledgable as a good CS graduate. –  Tarek Demiati Nov 14 '10 at 15:06
This link may help you to obtain courseware online: onlineuniversityrankings2010.com/2010/… –  Mamta D Nov 15 '10 at 3:39

First of all, please acknowledge that universities teach the hard stuff - i.e. math in disguise and strange things that may be as foreign to you as PHP would be if all you had ever done was to write SELECT statements in SQL.

Additionally also acknowledge that it will be harder for you since you don't have access to the mentors at the university.

That said and done, you can learn quite a lot on your own, depending on what you think is fun, but you must remember that doing the exercises is very important to understanding and learning.

I would recommend you start with these resources:

Report back how it went.

share|improve this answer
@TRA - +1 for MIT link, thank you. –  Michael Riley - AKA Gunny Nov 14 '10 at 15:34

Not the answer you're looking for? Browse other questions tagged or ask your own question.