This is an advanced programming course in which students work on large-scale individual or team programming projects and make a formal presentation on their work. The course discusses program development, methodologies and strategies.