An Aspiring Programmer needs help

Hello fellow coders.
I wanted to know as to what programming books , concepts I need to know before trying to crack the problems on Codechef. I already know C and C++ which I studied in 11th and 12th but I want to expand my knowledge to higher levels. I tried to decipher and understand what the other coders have submitted but was not able to understand a single thing and suddenly i thought c/c++ was some kind of alien language.LOL …

also need some info on compilers(i really dont know what GCC or GNU or whatever that is).

I think you are good to go. I think you did it wrong by looking at other’s code directly. Go and start practicing from the Easy section first. You’ll get to know the How To’s from there. Keep practicing and one day you’ll be comfortable to go ahead with the competitions.

Don’t look into other’s submission directly. You’ll never understand it in the first go if you haven’t actually attempted it. Try your self, if you find difficulty, post here and tell exactly where the difficulty is. 'm sure somebody would be able to help you.

You need to know the available data structures and your ability to think where to use what. But yes, there is no such book from where you can read and learn all these things. Only way to learn swimming is to dive into the sea, rather reading the books about how to swim. :slight_smile:

1 Like

Cool!! Thanks Rajneesh!! But at least I need to read some books on programming or algorithms.
And the most important thing I still need the info on compilers and the GNU and GCC thing . because i use Turbo C++ 4.5 and code compiled in that may not work here.

if you can post any links to other forum posts that also may help.


First thing, to start here you’ll have to forget turbo. :slight_smile:

If you are familiar with linux (any flavor) then you are good enough to roll. Have it installed on your system and most flavors would install gcc for you (even if it doesn’t, its pretty straight forward to get it there).

Windows 'm most uncomfortable with and might not provide much help. But still, if you want to stick to windows you may optionally use “CodeBlock” for writing/compiling/debugging your code. This link might help you with codeblock:

About books I won’t say anything. You need to know basic data structures. A rich knowledge of libraries would surely help you to build your solution fast but no worries if you don’t know it right now. It’ll come to you automatically as you proceed. :slight_smile:

PS: Read about GNU here: and GCC here:

1 Like

If you want to have good knowledge of algorithms and C++ STL , read the topcoder tutorials, they will surely help a lot. This link will help :


Linux Mint
Red Hat

i think Fedora or Ubuntu works well with C/C++… what flavour you use?

ummm… list of flavors!! Use the one you are most comfortable with (if you have already used all, you must be able to say which one you liked). Doesn’t make a difference. At least I feel so.

Link by sakuag333 is mostly what you were looking for.

Please don’t post your comments as reply to the question as it looks ugly and confuses other people also. Follow the small link below the reply which appear as “add new comment”.

1 Like

Just now you simply know the commands for the compiling and running the program. After some practice you may go in the depth.

1 Like

install ubuntu as it is most user friendly…You will get the gcc compiler built in there.
About books ,you should have basic knowledge of data structures and algorithms , for this you could visit topcoder website and start doing questions from practice section

1 Like

As a beginner and having some knowledge about how to build and run code in your favourite programming language, you might be looking for this book Programming Challenges

1 Like

“Mastering C++” is the book that you may want to see