一句话:提出用函数式多玩家分布式视频游戏设计配方,将分布式编程引入 HtDP 式 CS1 课程。
本文关注 CS1 入门课程如何既激发兴趣又训练系统化程序设计,并解决分布式编程通常超出初学者能力范围的问题。作者主张以函数式视频游戏开发为核心项目,让学生设计并实现多玩家分布式游戏,借此教授设计原则、通信协议和分布式编程常见陷阱。文章给出成功使用的设计配方及其课堂组织方式,为教师开发分布式编程模块提供模型。评估基于学生反馈;结果表明该方法有效且受欢迎,未表现出计算机科学常见的性别差距,且无论学生入学时编程经验如何都同样有效。
Abstract A Computer Science introduction course ought to focus on exciting students about the subject matter and on problem solving through the methodical design of programs. An effective way to achieve both is through the development of functional video games. As most students are interested in video games, their development adds an exciting domain to any introduction to programming. This article advocates that an exciting crowning achievement for students in such a course is the design and implementation of a multiplayer distributed video game. By exploiting a domain that is popular with students, they are taught about design principles, communication protocols, and pitfalls in distributed programming. This article puts forth a successfully used design recipe that places distributed programming well within the reach of beginning students and outlines the use of this design recipe in the classroom. For those teaching beginners, this article presents a model for developing their own distributed programming module. The success of the presented methodology is measured through student feedback on their distributed programming experience. The empirical results suggest that the design and implementation of distributed functional video games is effective and well-received by students. Furthermore, the data suggests that the presented methodology fails to exhibit the gender gap common in Computer Science and is effective regardless of the programming experience CS1 students bring to the classroom.