I would like to thank all of you guys for your valuable replies.
The weird thing though into my eyes is that instead of encouraging scubanator not to go against his professor(s)' requests we started sharing our own personal experiences and "adventures" and we have kind of lost the control of discussion.
I think I must apologize to scubanator for that. My apologies for once again.
Scubanator - Here is again my advice (revised but conceptually the same) separated into valuable steps:
- Try not to come into collision / friction with your professors, I know they are human beings too and I know by first-hand that they do make mistakes too. You should take the advantage of it and learn more from their mistakes by not repeating them yourself.
- Always search on your own about what your professor says or teaches you, but first gather all your questions regards to the subject you have being taught and go to his / her office by asking further explanation, just to make it clearer into your eyes.
Now, if he still teaches you the wrong way, learn his way, temporarily though, to take the grade you deserve; also keep your sources with proper and valid results / answers about the subject of the course and always search more to clarify your doubts if there any.
- Go to forums, blogs, IRC, Search Engines, and find solutions by discussing with people your questions through questions. I cannot accept excuses like, "who knows", "my situation is extraordinary difficult and you cannot help me", and the like.
- Work hard, study exhaustively using many resources, books, Internet, and whatever other kind of sources you might have available.
- PRACTICE, PRACTICE, PRACTICE!
Here are the books I have on my possession [Long Live Amazon
]:
- C++ Primer Plus 4th Edition (Stephen Prata) - Amazing for newbies.
- Object Oriented Programming in C++ (Nicolai M. Jossutis) - I cannot comment to something so beautiful. It's well written like...Shakespeare being Programmer
- The C++ Standard Library (Nicolai M. Jossutis) - A must have for all programmers who wants to know how to use Standard Libraries to help themselves for portability (and not only).
- Standard C++ IOStreams and Locales (Langer, Kreft) - I received it on Friday and as far as I have read thoroughly it's a must have book for advanced programmers to learn how to use all classes, functions, and libraries to make their program safer, faster, and robust. Explains all IOStreams and Locales in depth [extremely detailed].
- Algorithms in C++ (Sedgewick) - The author of this book separated it into two parts, 1 to 4 for examples, and the second book is part 5 to show graphs in detail. Whoever loves Data Structures must have it. Explains amazing algorithms that reduces a program's memory in such degree that you wouldn't believe it.
- C++ Templates (Josuttis, Vandevoorde) - A book that explains C++ templates in depth, a proper way how to use them, how they should work, and why programmers should start using them if have not done it yet.
- The C++ Programming Language (Bjarne Stroustrup) - The Creator of C++ explaining everything in detail about his language. As a love and respect to this language you should have this book for respect. I have found inside programming humor too
- The Annotated C++ Reference Manual (Bjarne Stroustrup) - Another book by master creator of C++ explaining his language based on ANSI standardization of the language plus annotations and commentary. I think was the first official C++ reference manual for the time was printed if I am not mistaken.
- The Design and Evolution of C++ (Bjarne Stroustrup) - Dr. Stroustrup was asked by a friend through email if he had written a book about how C++ was designed and later on evolution. Well, his request became true. Just read it and you will start imagining images of the whole story like a documentary in your mind. It' an amazing programming story. Just read it.
Lots of other books will be purchased in the future (with God's will) and trust me scubanator; these books were not recommended to me by any of my college professors, but from ordinary people who work hard on their own to learn this language on their spare time.
You have a dream? YOU will make it come true! You should never, ever give up for anyone and for anything. ALWAYS try your best and if you bend, be happy for it. If you feel abandoned by society do not worry about it. You are not alone; you have us. The programming society that loves sharing knowledge. Because our knowledge is our power. Soon enough you will arise up again stronger than ever and you will start quoting yourself: No more words, just actions.
Your dreams are your missions. Accomplish that and you will gain your harmony.
Regards,
Stefanos_
P.S: I hope you find these books interesting.