I taught myself rudimentary BASIC on my dad's suitcase sized luggable in 1982 (probably a Kaypro or some HP portable testing device that supported BASIC), so I could create random character scores for D&D. Took BASIC a year later in my junior year of HS, then FORTRAN my senior year, and again as a freshman in college. Took assembler my junior year and then a 101-level evening course in C right after I graduated. Everything after that was either self taught or on the job training to learn various IDEs (C++, Java, VB, C#, and a few others), scripting languages (Perl, PHP, Bash), and one-offs like HTML, XML, and SQL.
These days it's primarily just the occasional MS Office Macro, Excel spreadsheet programming, or web development using a CMS like Wordpress, Drupal, or Joomla.
Thinking about teaching myself some mobile game development over the summer, but I need to find a good cross platform (IOS & Android) development tool to invest the time in.
I think the early instructional course work was valuable for teaching the basic understanding of stepwise problem solving and some of the deeper concepts of computer and software architecture. Without it, the later self-directed stuff would have come a lot harder.