Teaching C programming in context: a joint effort between the Computer Systems, Embedded Computing and Programming Challenges courses | IEEE Conference Publication | IEEE Xplore