I am currently half way through year 10 and I am interested in conducting research into computer science. I am from a public high school in a small town in Australia. I want to go to Massachusetts Institute of technology but sadly my high school doesn't offer a lot of opportunities when it comes to technology but I have taught myself C, Python and currently learning C++. I am nearly through the basics of C++ and I will be learning networking in C++ soon, probably by the next to month or two. I am really really really really interested in conducting research in computer science and can't wait to get started. But i just don't know where to start......How can I get involved in research???

  • 7
    You can write computer programs in a few languages. That's hardly computer science. You need to learn a lot more. Short answer to your question: build your foundation of knowledge by going to college and graduate school.
    – Nobody
    Jun 28, 2015 at 11:52
  • 2
    Well, you "get started" by studying what research other people have done. This is typically, though not 100% of the time, what you do during your undergrad in university.
    – xLeitix
    Jun 28, 2015 at 12:34
  • Possible duplicate: academia.stackexchange.com/q/42763/19607
    – Kimball
    Jun 28, 2015 at 13:10

1 Answer 1


To answer the first part of your question, it is definitely possible for high school students to perform research in computer science.

But let's look at the broader picture here first. Computer science spans a lot of sub-areas, which have very different flavors and require different sets of knowledge in order for you to be able to perform research in it. Being able to program is good, as this is needed in some of these areas, while there are some in which programming knowledge is normally not needed.

Research means to push forwards the frontier of mankind's knowledge. In CS, little effort is spent of replication experiments (i.e., when a finding by one group of researchers is tried to be replicated in their experimental setup). Rather, research is typically performed by trying out new ideas to solve problems that are considered to be interesting enough for research.

Now this is where the difficulty kicks in: in order to come up with a new approach for some problem of relevance, one needs to have a good overview of one area of research, which means to invest years in getting a good overview of the work performed in that area so far. Research students (e.g., PhD students) are expected to work on getting this overview themselves, while at the same time they also have an advisor at their disposal to guide them. Without an advisor that is already established in your sub-field of interest, there is a high probability that your research efforts are spent in vain (e.g., because what you would be trying to do would not be novel enough).

Thus, it may make sense for you to find an advisor that can guide you in your research work. There are definitely sub-areas in computer science for which - with the proper guidance - high school students can make non-trivial contributions, while possibly also using programming knowledge.

So as a proposed course of action, look into which sub-areas there are in computer science, which one interest you, and read up a bit on the major results. Afterwards, you can check if you can make contact with possible advisors. As a high school student, you may want to aim a bit lower than at the professor level. E.g. a postdoc at the university closest to your home town working in your area of interest may be a good first point of contact.

Allow me to also add that learning to program in various languages is related to research only to a small extend. The scientific part of computing has a different flavor than most people outside CS would expect. It you haven't done so already, consider looking into the Wikipedia article on complexity theory, which gives you insight into a sub-area of computer science whose results are used in most other are sub-areas of CS as well.

Not the answer you're looking for? Browse other questions tagged .