Tutorial :Where to go from here


I have a basic understanding of C++ (and cicual basic, but I dont like it). I know the syntax, classes inheritance, pointers,m stuff like that. I can answer most basic exercises I come across and make simple programs like imperial/metric conversions and things like that. Best program I wrote (and I was chuffed with myself!) was a program that accepted football player names and goals and sorted them how you wanted (alphabetically, goials scored, games:goal ratio) and saved them to a file.

Now I am stuck. It's just a hobby (I am 26, work with computers but only excel and some sql) but I am really enjoying myself and would like to start writting better code, and more usefull stuff. Any ideas?


Practice and motivation!

Write a program that you would enjoy using.

Project Ideas:

  • Puzzle (sudoku, rubiks cube, etc) solver
  • Webpage to pull useful information together (weather, movie showtimes, sports scores, etc)
  • A program to assist with any other hobby (ie: advanced football statistics)
  • Find a program you like. Rewrite it to make it better.

Other ideas:

  • Buy some books.
  • Develop the same project (above) in two different languages.
  • Decide if you want to be a general programmer or specialize in something specific:
    • Graphics
    • Website Design
    • Logic and Mathematics
    • Databases
    • OS Development
    • Interface design


I'm not too thrilled about cicual basic, myself (;-D) but I wouldn't want to put you off.

Although familiarity with Excel and SQL is very useful and valuable, try a FOSS (Free and Open Source Software) operating system, like Linux or BSD, for an enormous choice of free programming languages to play with.


If you are more mathematically bent I'd suggest checking out:

Project Euler

The problems there (at least the first 50 or so) are very similar to the ones I experienced in my computer science undergrad.

I am not sure how "useful" they are, but they are a good illustration of the types of problems that computers are good at solving.

Thinking of applications you want to make, and then working on a small manageable part of them is always good practice too. edit: Make it interesting, make it simple. I know it's hard to judge what is doable when you are a beginner, and with this in mind I can't stress the "simple" enough.


You need to work on other people's code. Look for an open source project written in C++ that you like, and try to improve it. You will learn a lot simply by looking at the code.

You can also look for small projects on github and fork them. It might be less overwhelming for a beginner.


Find for an interesting open source project, and start contributing. You'll learn a ton in several dimensions.


Go online and practice your skills in online communities like Stack Overflow, Top Coder and the like. Top Coder also has work for hire that you can attempt. You could also attempt to join an open source project. All of these things will improve your skills and experience and look good on a resume.


Take a look at interpreted languages like ruby or python. Functional programming is getting hot right now, haskel and skala are nice.

The only thing that will make you better is writing code and getting it reviewed by people you trust.

Reading books is nice. They have the not so great downside that they are quite expensive. But the really good ones are language agnostic like: Coders at work, The productive programmer, The pragmatic programmer...

This should be enough to get you started. After that get some language specific books and let your imagination sore.


Search online for the most recommended books on software development, try to find books that don't necessarily teach a language but teach principles of software development. Maybe something like Clean Code or Code Complete.

The reason I don't recommend a book for learning an actual language is because it is much faster to learn a language through online text and video tutorials. If you don't like C++ then use online resources to learn a new language like Java, Python, Ruby, JavaScript, etc.

My third piece of advice is to watch the online lectures for either an online class like on Udacity or Coursera or from an actual university like the edX site or MIT OpenCourseWare. These should help you learn a lot of new stuff and once you stop feeling stuck in your learning ideas should start flowing for programs you want to write, at which point you will think of new things to learn and you can look them up in turn.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »