Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I know "hi's" and such are not wanted on questions, but in this case an exception may be made (IMHO).

Hi! I am a 16 years old and in my 4/6th year of pre-university education. Programming, math and algorithmics is my hobby and I enjoy it so much I have no doubt I will make it my job. In fact, I enjoy it so much that I spend pretty much all my free time one it, learning fast.

However, I stumble upon one big problem: I have no teacher. On my school we have what we call "Informatica" (dutch), computer science in english. The level of this class is very low though, to the point I know more than the teacher. I occasionally buy books on programming, but english is not my mother tongue and sometimes I just waste hours or a day because I'm not familiar with a word (I wasted weeks before I understood the verb "to iterate over", something we don't have in dutch).

Another thing is I have to learn everything myself. I had to teach myself what compiling, linking, libraries, including, etc, etc is. That took me a lot of time. Thank god there is stackoverflow. When I was completely stuck on something I could ask there and it would usually be solved within an hour. But I get stuck like every hour on something small every proffesional would sigh and shake it's head and explain it within 5 seconds.

Now I would love it if there exists some free student-tutor program that assigns you with a mentor or someone that you occasionally can chat/email with (on IRC, MSN, I don't care) asking your questions.

So my question, do you know such program? (Or perhaps if you'd like to do it, who knows?)

I'm sorry for my english if you spot any mistakes, I learned it all by myself too :) (once again the level of the english class at school is really basic)

share|improve this question

closed as off-topic by MichaelT, Bart van Ingen Schenau, amon, GlenH7, gnat May 6 at 3:28

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – MichaelT, Bart van Ingen Schenau, amon, GlenH7, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

    
More schools need to supplement their expertise with non-teaching outsiders (esp. in math, computers and science). It may have to be initiated by a local developer. –  JeffO Mar 23 '11 at 22:40
    
Sadly enough there is not enough interest for that. On my school (about 450 students) I'm the only "computer-nerd". –  nightcracker Mar 23 '11 at 22:44
    
Why One Person? When you can have So many Experienced mentors from all around the world on forums and Q&A sites.What matters is that your problem gets solved right? Get used to this idea it will help you a lot in your career You might not be lucky to find a real life mentor at all times. –  Aditya P Apr 8 '11 at 3:50
    
Just a simple, off-topic, comment on your english: It is fine. Oh, and we use "itereren over" for "to iterate". See nl.wikipedia.org/wiki/Iteratie –  Andre Apr 8 '11 at 9:09
    
@Andre: Dat wist ik niet! (in english: I didn't know that!) –  nightcracker Apr 8 '11 at 12:14

4 Answers 4

up vote 4 down vote accepted

I don't know of a general programme like the one you wish you could find. In fact, like you found out, stack exchange is a pretty darn good resource. Indeed you will very rarely find a single person as available to you for every question you have, nor will they be as knowledgeable on every question you have. So a forum of diversely knowledgeable and diversely available people is probably best for the sort of question you might have.

You may of course benefit from a mentor but do not expect the mentor to be available to you every waking hour. Instead if you do find a mentor (or a few mentors for different aspects of your learning) you should try and only use them for fundamental questions, questions that actually stop you from moving from one level of understanding to the next, the sort of question that might come to you once every few weeks or every few months, but not for general everyday step by step learning. Usually this is what you pay a teacher for. A mentor is there for general methodology, guidelines, ideas, to bounce solutions or try out answers without any fear of consequences. The mentor is generally not there to hold your hand.

The only idea that would go some way in your direction would be to find a programmer's club near you. Or possibly an online project (there are loads) that you'd like to contribute to, to be chosen based on what you could learn. If you choose to take part in such a project, try and choose one where developers interact via some form of chat, this way you will have instant access to those guys for periods of uninterrupted time, but be sure to bring value or they will soon tire of you.

As to English, the only way to get better is through practice. One resource amongst millions that I would always recommend is "A Word a Day". The rest is reading, writing, speaking, getting corrected, digging deeper and perfecting the language consciously continuously (BTW English is my second language).

HTH

share|improve this answer

Coming at this backwards, one of the things that can be incredibly useful for learning a language (or anything for that matter) is to teach it!

So you might also want to mentor someone else - maybe a friend in your computer science class?

Why is this useful?

  • You have to have the subject straight in your mind to explain it.
  • They will ask some incredibly unpredictable questions that you need to try and figure out an answer to.
  • They'll ask you to look at their code, and help them find bugs. You'll see some interesting pitfalls to avoid, and sometimes will learn new tricks.
  • Most of the time if you're 10 pages ahead in the book, that's enough!
  • Saying "I don't know I'll tell you tomorrow" is perfectly fine. Then you go figure it out.

(My first programming job was 25% teaching introductory courses on the language I'd only just learnt, though I had help to call on when needed. The class exercises they did taught me an immense amount, fast)

Good luck.

share|improve this answer

This response doesn't answer your question about mentorship programs, but hopefully will provide you with some additional reading material that is more accessible to you.

Edsger Dijkstra was an important figure in the development of Computing Science and wrote many papers and editorial-type articles on a wide variety of subjects. Many, if not most, were written in Dutch. There is a huge archive of these articles available on-line that you can read in order or search for specific terms.

http://www.cs.utexas.edu/users/EWD/

Some topics are old, by today's standards, but you can get a lot of historical perspective from these and may learn why Computing Science and programming languages are what they are today.

share|improve this answer

Not exactly what you're looking for, but I feel like it would help to solve your problem. I don't know any off the top of my head, but there are a lot of programming channels on FreeNode IRC.

I'd suggest jumping on there and joining a few of the channels relevant to what you're learning, I think there's even a general programming channel. This would provide you with an atmosphere like StackOverflow, but with more immediate results. You may even be able to find a mentor in one of the channels.

Good Luck

share|improve this answer

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