Is this sort of thing no longer part of a standard computer science or software engineering undergrad curriculum?