ByNobleID
    Using computer programming to teach undergraduates abstraction and generalization | NobleID