tags:

views:

172

answers:

6

I'm trying to learn c++ and I really want to do a lot of coding but I'm not sure what I can code.. Tbh, book exercises are not very interesting to me (usually because they're just too short). I like to code OS related stuff like I/O stuff..

I'm thinking of looking at linux and try mimicking some of the tools there.. is that a good idea?

+5  A: 

Rewriting tools is a good idea - my C++ professor made us rewrite all the standard library string functions by hand before we were allowed to use them in our homework assignments so that is something that may help you as well. You could also check out Project Euler.

Andrew Hare
+5  A: 

Here's a good task that involves I/O, has interesting algorithm, is not too simple, not too difficult, and can even have practical application:

Write a simple compressor / decompressor.

Simple ideas to start with: LZW, Huffman codes.

Igor Krivokon
+1  A: 

Try TopCoder. They're competition applet has hundreds of example programming problems. Some of them are sure to be more interesting than the exercises in the books, and you have the added bonus of seeing how your problem solving abilities measure up to other users.

Jherico
+3  A: 

I write stuff I'm interested in ... games for example. Poker games or blackjack games. I also take existing libraries and see if I can make better versions of their stuff, like try and make a QuickSort that outperforms the Framework version. Some day I will write a chess game, but that will take some time. :)

JP Alioto
+2  A: 

Write a language! Make C# compile to Sparc V9 assembly (just kidding.) But seriously, I think, writing a small compiler that produces actual machine code is one of the greatest ways to learn a great deal about software and hardware (and operating systems, and libraries, etc. etc.) and pick up lots of useful skills along the way. Here's the The Dragon to get you started :)

Nikolai N Fetissov
+4  A: 

You can try getting involved in some open-source projects if you are wanting to write code. If you find a project that has some use to you personally, it is going to greatly increase your interest levels and decrease the likelihood that you'll get bored with it and move on to something else. Plus you'll be able to get some feedback from other developers on the same project.

Jamie Cook