The current grant project is to develop and test a novel computer science (CS) software design course at San Francisco State University (SFSU) and CSU Los Angeles (CSULA) to transform students' experiences of acquiring software development skills. In a collaborative classroom emulating a typical industry work setting, students will collectively create and build a Massively Multiplayer Online Role Playing Game (MMORPG) using a variety of complex software components. The instructional materials and methods are designed to be easily adopted by instructors at other institutions.
GoalsObjectives of the project are:
- Teach students effective communication, presentation and collaboration skills that are often neglected in the traditional classroom.
- Motivate students to learn essential CS core content through peer interaction and encouragement.
- Enable students to produce a robust end product.
- Give students practical insights into the real-world work environment to prepare them to master the challenges of a career in CS.
The course will focus on the production of a complete MMORPG that will be readily and reliably available to the public at the end of the semester. The process includes design, development, and delivery phases. Team structure and collaboration protocols will be modeled on those of commercial game development studios. Students will be divided into teams, each of which will be assigned a specialized task. Collaboratively, all teams will work together to produce a single MMORPG.
The goals will be achieved by following means:Students in each team will:
- Set and achieve milestones by proactively looking for solutions to problems that arise in the development process.
- Interact with other teams effectively to ensure parallel progress and seamless integration.
- Test the software for reliability and extensibility.
- Produce technical documentation to facilitate inter-team collaboration and future expansion.
- Improving their presentation, communication, and collaboration skills.
- Enhancing their understanding of scientific concepts and problem-solving techniques.
- Acquiring knowledge of the development process of a complex software system.
- Developing team-building skills and an understanding of inter-team protocols.
- Understanding the infrastructure used in industry to develop online and/or social games.
- Increasing their experience with software integration and quality assurance.
- Experiencing organizational dynamics and technical demands typical of industry work settings.