C++/Unix Home Project Ideas
-
04-07-2019 - |
Question
I am a C++, Unix developer, mostly in systems side, product domain. I would like to take up some side project to improve my skills in the following :
- Object oriented Design
- Multithreaded Programming, with ample scope for mutexes and semaphores
- Interprocess Communications in Unix
- Core C++ stuff (wanna use templates, handle exceptions, use smart pointers n stuff)
I have decent "bookish" knowledge of all of the above but haven't got enough opportunities to get my hands dirty. Recently I went for an interview and they gave me really good (and tough) real life problems from the above and I failed miserably. Hence this effort :-)
I am looking at something like a 6 month project, spending about 3 hours on a daily basis. Any suggestions would be great.
Thanks.
Solution
With that sort of extra time and motivation, you might as well get paid while you train! http://www.rentacoder.com
For a good challenge, try some sort of network application. Maybe a server that reports system status. Things you'd learn:
- Socket programming.
- Asynchronous event handling.
- Multithreading (handle one request while awaiting the next).
- System calls, to retrieve the status info
- Very useful real-world debugging skills.
- Patience. :-)
Good luck -- enjoy!
OTHER TIPS
Adam's suggestion is a good one - but if you're more inclined to just do it for yourself and have fun, I would implement a network multi-player action game using OpenGL, OpenSceneGraph, or one of the other game-oriented toolkits out there.
You could make sport of it at Top Coder.