A multidisciplinary cooperative problem-based learning approach to embedded systems design | Synapse