Where Can C++ Take an 11 Year Old?

Pages: 12345
He asked how far he could go at his age. The only way to know is to know how experienced he is... to probe him. :)


He asked how far he could take programming as an 11 year old. Why do you need to know his experience to judge his potential?

I admit, because of how much I was tormented when I started, I like to tease a little. This isn't one of those times, you don't learn the math skills as you program, you need to learn them before you start programming. It is great you are learning trig, but you will have to learn a lot harder things than trig (though, you will learn some of them as you go, so keep plugging away despite our nay-saying).


Seriously? A lot of programming doesn't require anything more than things you can learn in Algebra 1. Obviously something like ray tracing can involve more complicated mathematics than this, but outside of the graphics/physics realm (which you won't have to worry about in 99% of the programs you make) an intensive math education isn't that important.

The fact you say your code is bug-free is yet another sign that you are still a beginner.


He said "pretty bug-free." He clearly wasn't saying he was a perfect programmer, just that he can write pretty clean code that's void of most of the common bugs that plague beginners. And furthermore, I don't see how you can you label someone a beginner because they said "I can write pretty bug-free code."

What tools are you referring to though? Git, valgrind, compiler, debugger, linker, ide?

I don't think he meant tools like this... you don't really learn "when" to use something like Revision Control or an IDE.
[small]ascii said:[ /small]
Seriously? A lot of programming doesn't require anything more than things you can learn in Algebra 1

Oh yeah? So you learned about functional mathematics before calc? Programming = logic, the only time language = logic is in math. All other languages, especially (English * 1000), have nothing to do with logic. So when did the op gain this experience?
Last edited on
ascii wrote:

He said "pretty bug-free." He clearly wasn't saying he was a perfect programmer, just that he can write pretty clean code that's void of most of the common bugs that plague beginners. And furthermore, I don't see how you can you label someone a beginner because they said "I can write pretty bug-free code."

Well if he had said he was a perfect programmer I would have called him a liar. Furthermore, I can label him a beginner based on his statement for the reason I said. True intermediate and expert programmers know they will have tons of bugs, it is just a part of programming, and only a beginner would think they have "pretty bug-free" code due to the fact that it isn't that major of code to really push the boundaries of anything.

ascii wrote:

Seriously? A lot of programming doesn't require anything more than things you can learn in Algebra 1. Obviously something like ray tracing can involve more complicated mathematics than this, but outside of the graphics/physics realm (which you won't have to worry about in 99% of the programs you make) an intensive math education isn't that important.


Interesting, because I'm into game programming and when I asked recruiters about advice to get in they recommended a book about getting a job in the industry and it says you need a lot of math:

Suggested baseline math skills: Trigonometry, Analytic Geometry, and Algebra
Engine Programmer: Statistics, Calculus with continued studies into Calculus 2 and 3
Graphics Programmer: Statistics, Calculus with continued studies into Calculus 2 and 3, Linear Matrix Algebra
AI Programmer: Statistics, Calculus, Discreet Math with Inductive Proofs
Network Programmer: Statistics, some Calculus
Sound Programmer: Statistics, Calculus with additional study into Calculus 2 a major plus

True intermediate and expert programmers know they will have tons of bugs, it is just a part of programming, and only a beginner would think they have "pretty bug-free"


This. I was thinking the same thing.

Seriously? A lot of programming doesn't require anything more than things you can learn in Algebra 1. Obviously something like ray tracing can involve more complicated mathematics than this, but outside of the graphics/physics realm (which you won't have to worry about in 99% of the programs you make) an intensive math education isn't that important


As with most parts of life, the skills you gain from math are more than just obscure formulas. It's a way of thinking.
closed account (N36fSL3A)
I men't what ASCII said, I men't that every few lines of code I debug it, try to input crazy answers. After I feel I'm done, I spend at least 5 days trying to poke out any bugs.


By the way, I use Visual C++ Express. I might change to Notepad++ plus the gcc compiler for more portability.
Well FredBill30, I have a son who is now 18 and I believe very intelligent like yourself. At the age of 14, my son managed to get his own credit card *cough*, produce and published 100 DVDs of his own work, and sold them making over $500 profit. All this was done behind my back... When I found out about the credit card, I put it away for 4 years. He is now in college in Ohio.

Where ever your skills take you, don't get into trouble doing it. Remember Einstein said, "A little knowledge is a dangerous thing. So is a lot.".
Sorry it's taken me so long to respond, I've been quite busy the past few days.

Oh yeah? So you learned about functional mathematics before calc? Programming = logic, the only time language = logic is in math. All other languages, especially (English * 1000), have nothing to do with logic. So when did the op gain this experience?


I disagree as to whether or not Math is a language, but for the sake of this argument I'll treat it like one.

Anyhow, according to your logic, the only way to obtain logic through language is through math, and therefore the only way the OP could have gained experience in logic is through math, right? Well what about the ABUNDANCE of other pursuits that involve logic? In particular, one can significantly increase their logical skills for programming by... programming. The logic that you need to learn for programming can be learned from programming alone, so I don't see your point here.

Well if he had said he was a perfect programmer I would have called him a liar. Furthermore, I can label him a beginner based on his statement for the reason I said. True intermediate and expert programmers know they will have tons of bugs, it is just a part of programming, and only a beginner would think they have "pretty bug-free" code due to the fact that it isn't that major of code to really push the boundaries of anything.


If you think you can label a programmer a "beginner" because they said they can write "pretty bug-free code," I can label you a "beginner debater" for your blatant Dicto Simpliciter component fallacy. Do you see how unfounded and ridiculous your claim is?

Interesting, because I'm into game programming and when I asked recruiters about advice to get in they recommended a book about getting a job in the industry and it says you need a lot of math:

Suggested baseline math skills: Trigonometry, Analytic Geometry, and Algebra
Engine Programmer: Statistics, Calculus with continued studies into Calculus 2 and 3
Graphics Programmer: Statistics, Calculus with continued studies into Calculus 2 and 3, Linear Matrix Algebra
AI Programmer: Statistics, Calculus, Discreet Math with Inductive Proofs
Network Programmer: Statistics, some Calculus
Sound Programmer: Statistics, Calculus with additional study into Calculus 2 a major plus


Did you not read my most recent post? To quote myself:
"but outside of the graphics/physics realm (which you won't have to worry about in 99% of the programs you make) an intensive math education isn't that important."
I didn't explicitly state AI there, but I thought it was implied. The Network Programmer "suggested skills" I straight up disagree with. And as for audio programming, most audio programming is done through API's like openAL. The only exception to this I can think of is for programs like ProTools, where sure, the programmers probably need to know a lot about math/physics where it pertains to sound engineering, but this is a miniscule and negligible portion of the programming world.

As with most parts of life, the skills you gain from math are more than just obscure formulas. It's a way of thinking.

I agree, but can't you learn that "way of thinking," where it pertains to programming, from programming? I don't see math as a necessity.
Last edited on
I agree, but can't you learn that "way of thinking," where it pertains to programming, from programming? I don't see math as a necessity.
That doesn't mean it's not a huge help. Overall, someone knowledgeable in math can tackle problems faster and from more angles, or can spot unsolvable problems more easily. Partly because they don't need to figure things out on the spot, partly because they can draw parallels between what they have in front of them and the problems they already know how to solve.

For an example of what happens when you don't know your math, see http://www.cplusplus.com/forum/general/74474/
In summary, since the OP had essentially no knowledge of elementary algebra, he was trying to find the global inverse of a non-bijection, ignorant of the fact that not all operations are invertible.
I checked and seems every college requires most of those math courses for computer science degrees. I checked UCLA, Ball State, Indiana University, and Purdue University (was about to check MIT when I realized they would probably push all of them) and they seem to have several of them as the degree requirements.

ascii wrote:
I agree, but can't you learn that "way of thinking," where it pertains to programming, from programming? I don't see math as a necessity.


Well, not a necessity, but I've noticed that most people who start programming ultimately end up having to learn math or formulas while coding so it is always a plus to have math before you get into programming heavily.

Using APIs like OpenAL? I've been interested in game programming for going on 16 years (it is what got me into programming to begin with) and you seem to have a misconception on those jobs. When it comes to Engine/Graphics/AI/Netwrok/Sound Programmers, they use APIs if they fit the needs of the project otherwise they have to make their own APIs and tools for the game project. Or you are thinking in the regards of indie developers (as that suggested is for those programming jobs in the game industry).

Look at Battlefield Bad Company, they made the Frostbite engine was created from the ground up in-house last I had read. So all those programmers most likely wrote tools and APIs for the team to make BBC.
That doesn't mean it's not a huge help. Overall, someone knowledgeable in math can tackle problems faster and from more angles, or can spot unsolvable problems more easily. Partly because they don't need to figure things out on the spot, partly because they can draw parallels between what they have in front of them and the problems they already know how to solve.


I totally agree. But a necessity it is not: I believe everything you need to learn about programming can be learned via programming. I don't believe it's worthwhile to take this principle to the extreme and exclude non-programming fields.

I checked and seems every college requires most of those math courses for computer science degrees. I checked UCLA, Ball State, Indiana University, and Purdue University (was about to check MIT when I realized they would probably push all of them) and they seem to have several of them as the degree requirements.


Computer Science and programming are two different things. Being a computer scientist definitely requires advanced mathematics (particularly discrete mathematics). Being a software engineer? Not so much. You don't need to be able to prove Fermat's Last Theorem to write a text editor or a disk driver, but if you want to solve P vs. NP sure you should load up on some calculus.

Using APIs like OpenAL? I've been interested in game programming for going on 16 years (it is what got me into programming to begin with) and you seem to have a misconception on those jobs. When it comes to Engine/Graphics/AI/Netwrok/Sound Programmers, they use APIs if they fit the needs of the project otherwise they have to make their own APIs and tools for the game project. Or you are thinking in the regards of indie developers (as that suggested is for those programming jobs in the game industry).

Look at Battlefield Bad Company, they made the Frostbite engine was created from the ground up in-house last I had read. So all those programmers most likely wrote tools and APIs for the team to make BBC.


No, pretty much everything uses API's because it's usually a waste of time to write your own. Game development is in no way my area of expertise, but I can say confidently that API's like OpenGL, DirectX and OpenAL are at the backbone of most game engines these days (including the Frostbite engine, whatever you read seems to have been incorrect).
ascii wrote:
Being a computer scientist definitely requires advanced mathematics (particularly discrete mathematics). Being a software engineer? Not so much.

Then why do software companies hiring software engineers say you have to have a CS or equivalent? The equivalents I've seen require a lot of math too. If CS and programming are two different things, then why do they seem to be put hand in hand throughout the industry? I've even seen CS or equiv for web dev companies :-/. Seems overkill to me.
ascii wrote:
(including the Frostbite engine, whatever you read seems to have been incorrect).

It was the documents the company released when they announced BBC and what the designer said during an interview about BBC on Qore.

Then why do software companies hiring software engineers say you have to have a CS or equivalent? The equivalents I've seen require a lot of math too. If CS and programming are two different things, then why do they seem to be put hand in hand throughout the industry? I've even seen CS or equiv for web dev companies :-/. Seems overkill to me.


It is overkill, and it's mostly due to the stupidity of a lot of recruiters. I read a post on codinghorror a while ago about people with a bachelors in CS who couldn't write a program to print out the numbers 1 to 10. It's sad that there is such a strong tie between CS and programming in the software industry, especially because a lot of the time CE or Math majors end up as better programmers than CS people. CS degrees prepare people for becoming Computer Scientists, not programmers, so all that math that's required for a BS isn't really useful for programming. This is really part of the bigger overall problem with CS degrees. Only a handful of schools nowadays produce real programmers.

It was the documents the company released when they announced BBC and what the designer said during an interview about BBC on Qore.


Then you misunderstood it. DirectX is the backbone of the Frostbite engine.
Thanks for clearing that up for me. Wondered why so many people told me not to bother with a CS degree, but rather do it on my own. Wish I had been told that before I messed with my degree I did go for, would have saved me from debt.

Though, I still learned something though I knew most of it going in.

I'm big at misunderstanding so I probably did.
C.S. encompasses more then just computer science in many universities. For example, at Northern Illinois University, where I plan to transfer, the C.S. degree has 3 emphasis. The first 2, Software Developer and Enterprise Software require calculus II and statistics, while the last Computational Software, requires calculus III, linear algebra, and 2 more 400 level math courses of your choosing. I believe the Computational Software emphasis is geared toward true C.S. while the others are geared toward business. Point is all three will result in a degree in Computer Science.
closed account (N36fSL3A)
So how old will I have to be to take university classes and still be in Junior High?
OP has been programming for 3-4 months. It’s not question he is a beginner then. There is no way you can be an intermediate programmer after such short time period.

I believe everything you need to learn about programming can be learned via programming
I doubt it. If you look how the best performers in their disciplines practice, they always go outside their fields (this is often the main difference between professionals and amateurs). Unless you want to stall on a "good enough" level.
So how old will I have to be to take university classes and still be in Junior High?

Community Colleges in the US will allow you to start taking some classes in your Junior and Senior year of high school. It's not about your physical age in this case, the school will assume you don't know anything that is outside of your state's curriculum for the grade you are in and they will use that to predict whether or not you're qualified for the class.
I highly doubt you are an "intermediate level" programmer with only 3-4 months of experience. Even more so, I don't think you are 11 years old.
closed account (N36fSL3A)
What makes you think I'm not 11? Also, what do you think is an intermediate programmer then?
closed account (z05DSL3A)
Fredbill30 wrote:
what do you think is an intermediate programmer then?
The main thing that would make an intermediate programmer... experience.
Pages: 12345