DISCLAIMER: I understand that I might not be posting in the right part of StackExchange, or this question might have been asked before (I haven't found it). If this offends anybody, I apologize.

I'm 15 and a sophomore in High School. I have an interest in Computer Science in general. The thing is, I've learned a few languages here and there, but I just don't know how to keep learning on a regular basis. What I mean by this is that yeah, I can make a calculator with java, or some really basic scripts with python, but the fact of the matter is that I don't know what to do after that. Making a script that can count the words in a book seems so pointless.

What can I do to learn a programming language, practice it, and have an overall mastery of it? Anybody can learn how to do basic things like I've done, but what can I do so that at the end of some time, I can look back and say "yeah, I'm a real programmer now." I know that sounds cheesy, but help me out here.

  • 4
    $\begingroup$ Work on nontrivial projects that are both interesting to you and challenging. You might consider making your own computer game or working on mods for existing games. A lot of great programmers got their start this way when they were your age. 3D FPS games, in particular, interface with many deep subjects - computational geometry, physics, AI, and so on. Working on open source software is another opportunity. It is best if you find something that you are genuinely interested in, then really delve into it. $\endgroup$
    – Nick Alger
    Jan 18, 2015 at 0:56
  • $\begingroup$ Thank you, I'll try my best to find what I'm passionate about. $\endgroup$
    – Andrew Hu
    Jan 18, 2015 at 2:50
  • $\begingroup$ If you also want to understand the principles behind Programming languages, it'd be helpful to look at different paradigms, such as the Functional Paradigm. $\endgroup$ Jan 18, 2015 at 18:35
  • $\begingroup$ You pose a good question, but programming is offtopic here. I suggest you visit the chat (!) of Stack Overflow, or even our Computer Science Chat. $\endgroup$
    – Raphael
    Jan 19, 2015 at 13:29

1 Answer 1


If you're looking for some hands-on programming experience that also allows you freedom to do what you want, why not join an open source project? One such project is the Sage Math project


It basically is an open-source project that develops a Python-like language for coding math. It has some cool features, especially in algebra and graphs, but also suffers from many bugs. Of course, there are many other open source projects you could find.

This would help you on many levels

  1. Learn at your own pace
  2. Work on anything that you like (provided that it is math related)
  3. It will give you hands on experience at code development, committing, bug reporting and tracking. Basically anything and everything that you'll ever need to become a full-on programmer. Many people who work on such projects are top notch experts in their fields, so this could be a real opportunity.
  4. You are contributing to society!

Alternatively, you could also take some online coding tasks (http://www.topcoder.com/) and even get paid for them. However, if your coding knowledge is not too great, this may not be the ideal place to start.

Good luck!


Not the answer you're looking for? Browse other questions tagged or ask your own question.