When theory meets practice: enriching the CS curriculum through industrial case studies

Most computer science departments provide their students with a mathematical foundation which enables them to master theoretic concepts. However, students often express the concern that they are applying their theoretic background to "toy" problems only. They wonder what "real" problems look like and whether or not their background will be sufficient for them when they are faced with an industrial situation. At the same time companies who are hoping to hire well prepared computer programmers, systems analysts, and other technical staff express their concern that recent graduates entering the workforce are not adequately prepared for dealing with large problems in a real world setting. The approach presented here addresses the problem of bridging the gap between theory and practice by actively seeking out industrial partners who provide academics with real problems that can be addressed by teams of students in the academic setting.