The majority of university computer science and software engineering programs focus on software engineering and computer science theory. To test the student’s understanding of concepts, individual assignments address specific technologies often utilizing contrived problems, and/or textbook examples. Project based courses provide students with an opportunity to apply classroom concepts in a realistic context.