Knowledge Structures as " Design Shells " : A Knowledge-Based View of Design and CAAD Education