Socially Responsible Software Development
Matthias Felleisen
Software is a message from one developer to other developers across
time. As such, developing software incurs a social debt to all those
developers who will touch this software in the future---be that an
older version of the original creator or someone who isn't even born
yet. Understood this way, software development poses two challenges:
(1) companies must learn to identify people who understand this idea,
because being able to "grind leetcode" doesn't qualify; (2) colleges
must create alternative programming curricula to turn students into
apprentice developers, because the traditional curriculum doesn't.
This talk will present my answer to the second challenge. I have spent
the last 25 years creating undergraduate programming courses that are
all about software-as-a-message, and the talk will provide an overview
of this alternative curriculum approach. The first challenge remains
yours to overcome.