Over the past few years, Computer Science and some Engineering disciplines have suffered from a decrease in student enrollment, poor retention, and low women and minority representation. We suggest three issues with first-year courses that contribute to this trend. First, students find it difficult to see how their assignments and course material relate to real-world applications. Second, students tend to perceive engineering as an individual endeavor requiring little interaction with peers. Last, early engineering assignments are often overly constrained, possibly to ease grading, allowing minimal room for student creativity. In this paper, we present a model for an introductory freshman-level course that helps address student enrollment and retention issues. Our course is based on three tenets: (1) the course draws problems from, and teaches about, an interesting and relevant domain in which students already are familiar, (2) the course encourages teamwork and peer communication, (3) the student is actively responsible for their education. To address these, the class teaches game design in a collaborative environment in which students are given open-ended assignments to promote creativity. We address instructor grading concerns, various student skill levels, and individual assessment. In our approach, we encourage the implicit acquisition of basic computer science concepts and skills as opposed to directly lecturing about them. Over 60% of the students in our class had no prior programming experience, yet all of the student teams were successful in developing engaging Flash-based games. Student surveys revealed that nearly all students characterize computer science as collaborative, multi-disciplinary, and creative. We believe our class can serve as a model to create other discipline-specific introductory courses.


Computer Sciences

Number of Pages




URL: https://digitalcommons.calpoly.edu/csse_fac/28