The first example was Hypertalk, the programming language within the Hypercard application program. The first, which I find very revealing, was that in the first release of Hypercard the programming language was hidden. Still, Hypercard was a big success, precisely because it acknowledged the desire of users to program their computers. Word processing programs such as Microsoft Word have added extension languages, and so have spreadsheet and database programs. Learning isn't just curriculum.
Schools spend fortunes on enormous catalogs of programs, each of which imparts one lesson.
This doesn't have to mean that the student works in a general-purpose programming language. Some of the best educational software consists of special-purpose languages, such as Geometric Supposer and its descendents like Geometer's Sketchpad. The design of special-purpose programming languages for educational use has a long history. It helps in the learning, and it helps make the learning endure for the student. Here are two examples, at different age levels, of using computer programming to teach other subjects in a learner-centered way.