A practice of collaborative project-based learning for mutual edification between programming skill and artistic craftsmanship | IEEE Conference Publication | IEEE Xplore