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.

So my Dad bought me 5 books on programming (C++, Java, PHP, Javascript, Android) about a month ago. He's an architect and he knows NOTHING about programming. He bought me them because I told him programming was fun and I wanted to learn it.

As you might know, being a kid (I'm 14) and being told to learn programming out of dull books isn't the easiest thing. I'm always getting distracted.. I told him before that I didn't need to buy books and I could just watch online tutorials.. but no, he's so old-fashioned. He's only letting me use the books.

Recently, he started asking me what I've done with it, and I showed him a C++ program I made that takes what you type in, then assigns values to each letter (A is the first letter in the alphabet so it gets the value of 1).. and so on. It then adds up all the values and tells you it. So the word "add" would have a value of 9.

^^ That wasn't very impressive to him. He yelled at me and told me all I've been doing is screwing around. That's not true. He is extremely traditional and stubborn and doesn't listen to anything I had to say. What should I tell him?

PS: If you have any tips on zoning in on a book, let me know

EDIT: Thank you so much everyone, you have no idea how much it means to know that there are some people that understand my situation. I've read every one and I'll consider everyone's opinion. ¡Gracias!

share

locked by maple_shaft May 7 at 11:19

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as off topic by Michael K, Aaronaught, Anna Lear Aug 4 '11 at 13:44

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

15  
Commenters: comments are meant for seeking clarification, not for extended discussion. If you have a solution, leave an answer. If your solution is already posted, please upvote it. If you'd like to discuss this question with others, please use chat. See the FAQ for more information. –  user8 Aug 2 '11 at 17:29
7  
By the way, you should show him this thread. It may go farther with him, if he sees professional programmer's opinion of your progress. –  Collecter Aug 3 '11 at 18:54
15  
@David That's not traditional, that's being an awful parent and a selfish person. At this point he doesn't want you to actually succeed, or he'd be in the pit with you. He really just wants to be the dad of a successful kid. Unfortunately there's little you can do about that, since it's your father and you can't be disrespectful. What I'd say is grimace and bear it, then when it comes time to undergrad, pick a ivy league far far away. –  Lee Louviere Aug 3 '11 at 21:18
15  
I'm not surprised this was closed (it is off-topic), but it's one of those questions where I wish we had a tag/flag for "off-topic, but keep anyway". :) –  Cyclops Aug 4 '11 at 15:10
12  
Ask your dad what he was up to when he was 14 –  CodeART May 7 '12 at 22:25

40 Answers 40

Don't complain, if you do, you'll just get too confident and waste your time. I have a father who doesn't believe in his son, I was angry at him before but not now. If it's not because of his high expectations, then I'll probably be a beggar today. If you really enjoy learning programming (who doesn't), keep learning, don't pressure yourself. First programming language is really the most difficult part for a programmer, once you learn it, other programming languages will be easy to learn.

share

There are no problem u go and first read C++. Because when u read this one u find interest in develop ur mind for new one.

you say that u have 5 book no they are different from each other.

C++ and java is basic book so u read it first.

php book for web development and android book for mobile app development for android mobile(Its need the good knowledge of C++ and java u take time more than 8 month if u need to read this books).

Thanks

share

C++ as first language? Serious? Impressive... And your program is a nice problem... And screwing around is part of the job - you scratch an basic program (aiming just at the problem at hand) and after that we start to perfect it (exception handling, refactoring, etc, etc).

Even when you have a bigger system, sometimes you need a little petty project to just make sure the solution is right and apply the algorithm to be bigger system.

share

There are a few recorded computer science courses from a few universities that are worth watching. They help you learn computer science, not programming, but they are still worth a watch. MIT, princeton, stanford to name a few.

I've watched one from stanford and one from MIT that were both really good.

http://see.stanford.edu/see/lecturelist.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-002-circuits-and-electronics-spring-2007/

Since you're just starting out.. you might try the introductory course instead. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/

share

I suggest you watch these videos on youtube. They are lectures by Professor Mehran Sahami for the Stanford Computer Science class 106a - "Programming Methodology". I think that if you are at a point where you understood how to make your own program, and by the way that is impressivge no matter what your dad says, than you will be able to follow these videos.

share

For me I program to impress myself more than other people. I pay more attention to the design of the code than the application itself, which means when I try to show other people what I made, they don't ever seem very impressed. I've been programming for 3 years, and its still the same.

For example, one of my programs, on the outside, looks like something that counts from 0 to 100, maybe skipping a few numbers and repeating some numbers. But its much more than that. The code is what's so beautiful. Basically it was what I like to call a runloop, but there is a couple other terms for it. You schedule a function to run in, say, 10 seconds, and after 10 seconds that function runs. And you can have a function run every 10 seconds too. Which led me to an idea: I could make a class that, when you assign a value to it, it smoothly transitions to that value. Animation, basically. Automatically. No intervention from the programmer. And that was what the program was. The number of lines in my main() function was maybe 6 lines or so. All the other code had so many other uses, I could hardly call it a part of just that one program. And that was what was beautiful to me. I showed it to my dad's friend, who does QA, and he didn't seem very excited about it.

Basically what I'm saying is you shouldn't let other people's opinions get you down. They might just not see the power and beauty of it all. Program for your own enjoyment, and you'll be happy, and you'll want to learn more, and in return the next program you make might just impress a lot of people.

EDIT: Congratulations on becoming a programmer. For a lot of people it is very difficult to make the transition from using applications to making them. It sounds like you've successfully made that transition, and you should be proud of yourself. Its people with your dad's mindset that will never be capable of programming. Programming is a lot more than telling a computer to do this and that.

share

If you really want to learn how to think in Java or C++, then download the free versions of Thinking in Java and Thinking in C++ books (2 volumes) by Bruce Eckel. Not only do they teach you a language, but they're great for "getting" the idea of object-orientation. Eckel has a great way of explaining things and gives plenty of code examples. Bruce's books really do teach you to think; they don't just teach you language details that you will forget in a week.

To be honest, though, I think you might have a lot more fun with Ruby and Why's Poignant Guide and Shoes and the other stuff that @back2dos recommended, above. Ruby is much easier to learn and, at the same time, it's a very practical language.

I wish I had ten minutes with your dad to tell him he should be proud to have a child with enough initiative to want to learn any of this stuff! I'd look him straight in the eye and tell him to give you some serious extra credit!

share

I would advise you concentrate on only one language, as a previous poster said, but I would choose Javascript.

It's relatively easy to create a web page with some graphics on, then use some jQuery stuff to move things around, make them fade/transiton etc. It looks great to a non-coder, and is much easier than C++. Start with the examples from the JQuery documentation, and see if you can add bits or combine them together.

See also Douglas Crockford's "JavaScript - The good parts".

You can run the results on any web browser, or you can use PhoneGap to turn them into a mobile app for Android, iPhone, Windows Mobile etc.

If you want to get into hard core server programming, node.js lets you do that in Javascript too, but the skills will be mostly transferrable to other languages.

share

Do you really want to have fun developing / programming?

Here are some thought that I would give to my own son:

and after you start and you really enjoy what you want, well, by that time, you know exactly what you can do and every dream can be true :)

share

Take a look at UC Berkeley Logo. It's specifically designed to teach CS concepts to younger audiences, without losing important content.

share

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