At age 6 I wrote a letter to Nintendo expressing my interest in becoming a game programmer. They actually wrote me a polite response, which regrettably I lost years ago. At age 8 I found a kids book about BASIC and took it into "computer lab" at school and asked if I could "try it." The teacher didn't know what that meant, and neither did I, so we just had me type some code into our word processor, only to be disappointed when nothing magical happened. At age 11 I got my first computer, a discarded 386 from the Veteran's Administration where my uncle worked, and began learning C++ from a book.
In 10th grade I took a Pascal class, and in 11th grade AP Computer Science using C++, both classes a year earlier than "normal." For the AP Computer Science test, I opted to take the "B/C" version, even though my class only covered the "A/B" content, and I scored a 3 out of 5. In spare time I made a crude wireframe 3D engine using a C++ line-drawing library. In 12th grade there were no more programming classes left to take, so I was an aide to the AP CS class.
I studied Computer Science at George Mason University and aced such 400-level courses as Artificial Intelligence (Lisp), Computer Vision (Matlab), Algorithms and Data Structures (theory, no coding), and Computer Graphics (OpenGL in Java).