The development of mayor, big-sized software programs require steps that are not necessary for smaller projects. This course will expose students to the design, implementation, testing, and maintenance of this type of projects, putting particular but not exclusive emphasis on agile development methods. Students will be involved in the actual GROUP implementation of a major piece of software, in conditions similar to those found in industry. Prerequisite: Students must have ample experience before the beginning of the course with the C, C++, or Java, or some other high level languages, in at least a semester of computer programming experience.

For this course, students should expect between 7 and 10 hours of work outside of class during each week.