this is going to sound crazy, but in eighth grade I took a CS class where they had us create an interpreter in lisp. It was amazing, and I haven't done anything quite like it since (though dan boneh's crypto class on coursera was close).
That sounds fun! Lisp is great for that because of its code-as-data principle (I use clojure in my day job and it makes dealing with structured data like JSON an absolute breeze). Did you go to an advanced school or something?
well, i started coding in 1st grade (logo, then basic) but this was a summer program hosted by Johns Hopkins. It was highly theoretical - we learned about DFAs, NFAs, epsilon-NFAs, and turing machines.
Awesome! I started in the 5th grade with Perl (lol) and went to a bunch of summer programs but they were more hands-on and programming based. Very cool. I learned about state machines when I was 16 and would draw my own really complicated ones for fun haha.