Collaborative learning patterns: assisting the development of component-based CSCL applications | IEEE Conference Publication | IEEE Xplore