Cory Doctorow gives a great justification for teaching lawyers (or doctors, or even cab drivers) to code.
Historically, a “domain expert” who wants to automate a system will approach an engineer, who will go through a formal process of requirements: gathering, technical design, implementation, testing and refinement. That’s fine as far as it goes, but there are huge dividends to be earned by giving people the power to solve their own problems without having to suffer through the inevitable signal degradation from being interpreted by others who’ve never had to do the job you’re trying to improve.
Like David Zvenyach, he further argues that students should begin with regular expressions. That’s a great suggestion and that’s where our class will begin in the spring.