|| The teaching of practical sessions in Computer Science frequently tends to follow a standard pattern: large numbers of students work in isolation on a particular assignment, enlisting help from whichever demonstrator is available at the relevant time. This model has a number of inherent difficulties. In some cases, each demonstrator may not have the same approach to solving the problem at hand, which can lead to confusion amongst students. Also, it is frequently the case that demonstrators find it difficult to identify those students in most need of additional assistance as the numbers involved are prohibitively large. This paper describes the restructuring of a first year undergraduate computer science module in UCD. An Active Learning Laboratory was built, mimicking that of the University of Minnesota to allow learning to take place with a group focus: students provide support to others, share their work with their class and actively work to problem-solve both independently and with benefit to their peers. This facilitated the subdividing of classes into groups, to which a specific demonstrator was assigned, so as to bridge the gap between students and educators by helping to build stronger relationships between them. Encouraging students to work as groups aids interaction between them, and also strengthens the learning for students that aid classmates with the material. The practical aspect of this year's COMP 10050 module involved the use of a 3D, interactive, animation, programming environment for building virtual worlds called Alice (developed in Carnegie Mellon University) that the students used to create their assignments and projects. In addition to the restructuring of the practical sessions, the course content was also altered so as to place the work in which the students engage in a better context. This includes engagement with the strong research community in the school, as well as industry professionals, so as to see interesting and practical applications of relevant technologies.