结对和团队项目建议 - 黄金点游戏

故事看这里: 背景故事 (链接)

作业

这个游戏可以变成一个持续发展的团队项目:

1)在课堂上玩这个黄金点游戏,用Excel 纪录成绩。过渡到做成简单的单机版游戏,锻炼基本的编程能力

2)两人合作,做成简单的 client/server App,用户从网页/手机上输入数字,并算出获胜者。 技术讨论的议题有: 

  • 前面写的模块有多少是可以重用的? 为何不能重用?
  • 研讨 client/server 的API 应该怎么设计,如何认证用户?
  • 如何开发client App
  • 为了保证游戏按时完成,如何在服务器/客户端做时钟同步?
  • 如果获得第一名的多个用户的数字相同,如何排定次序?(提示:可以考虑提交时间,历史成绩)

3)如何设计测试用例, 保证server 的正确性, 效率, 压力测试 (如何模拟上千个客户端,从不同的端口,提交不同的数字?)

4)原来我们是让用户从客户端输入数字, 看到结果之后,再玩下一轮。用户玩这个游戏是有一定的策略的, 我们如何能把这个策略变成程序,成为人工智能呢? 能否利用 AI 算法提交数据?
  client 程序能访问所有以前的历史记录, 它再推测下一个数字是多少, 然后提交。

  这里面也有很多问题要克服,例如,如果数字很小 0.00000000000000000001,  下溢了, 怎么办?
    应该提交的是 double, float, 还是 string 类型?


5) 全班同学每人写一个程序, 玩一万轮, 服务器要能快速处理。 
  挑战:
  如何在服务器和客户端都做到高效, 能多少秒钟就比完一轮, 并把数据传给所有客户端? 客户端是通过什么接口来接受比赛数据,或者从某个公共来源去读取数据?
6) 修改规则, 每个用户每次可以提交两个数字, 其他规则一样,再玩一万轮。

  挑战:这个时候,有程序会不会提交一个大的数字,来保证自己的另一个数字比较接近 golden number? 你的AI 程序如何在这个新规则下占得先机?
7)让互联网的用户可以通过网站注册, 然后用某种 Domain Specified Language 写这个AI 的规则, 然后他们也可以通过网站玩这个游戏。
  挑战: 设计这种 DSL,并解释执行。

  例如, DSL 可以支持下面的规则:

  ① 我每一轮都提交上一轮所有数字的平均值 * 0.618 * 0.618

  ② 如果我上一轮的提交的数值小于当轮的 golden number,那我的下一个数字要是上个数字的两倍


8) 扩展到全球,服务器能 24/7 不断主持游戏,并记录成绩。 同时,全球用户的数据都可以开放下载,供人工或者是 AI 做研究和训练。  
  挑战:这个过程就能练很多技能和软工设计的功夫, 同时可以让各个开发人员的AI 上台来比拼。  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人和结对项目 - 英语单词词频统计

个人或结对编程项目 英语单词词频统计程序 (最新版本在这里) 实现一个命令行程序,支持几种模式下的单词词频统计 Implement a console application to tally the frequency of words under a directory. For all text files (file extension: "txt") unde…

个人或结对项目 - 动态显示程序运算的过程

现在网上有很多关于动态显示排序过程的小工具,小程序。 1) https://visualgo.net/sorting 2) http://jsdo.it/norahiko/oxIy/fullscreen 3) http://coolshell.cn/articles/4671.html 我们能否也做一些类似的工作呢? 在在这个作业中 (http:…

构建之法 第三版 17 章 部分草稿

构建之法 17 章  人&#xff0c;绩效和职业道德 (<构建之法> 第三版草稿) 2016/12/23 17.1 领导力 在软件开发过程中&#xff0c;有很多平等合作&#xff0c;但是也有上下之分的领导/被领导关系&#xff0c;即使都是平级的员工之间&#xff0c;也有老师傅/新人&#xf…

构建之法 第三版 第3章 部分草稿 (剪牦牛毛、老程序员去金融公司的故事)...

/* * 这是 《构建之法》 第三版的草稿 */ 3.2 软件工程中的几种思维误区 正如我们在第一章讲的那样&#xff0c;软件有很多特性&#xff0c;软件开发有它自己独特的规律&#xff0c;如果不了解这些特性&#xff0c;软件工程师就会产生不符合实际的想法&#xff0c;在开发过程中…

软件工程课的分数系统,和打分方法

考考考&#xff0c;老师的法宝&#xff1b;分分分&#xff0c;学生的命根。 以《构建之法》为核心的软件工程课已经在全国几十个学校开展了好几年&#xff0c;由于采用 Learning by doing (做中学) 的方法&#xff0c; 同学们通过实际的作业获得分数&#xff0c;逐渐累积并转换…

现代软件工程作业 – 计算最长英语单词链

结对编程 – 计算最长英语单词链 《构建之法》练习题 大家经常玩成语接龙游戏&#xff0c;我们试一试英语的接龙吧&#xff1a;一个文本文件中有N 个不同的英语单词&#xff0c; 我们能否写一个程序&#xff0c;快速找出最长的能首尾相连的英语单词链&#xff0c;每个单词最多只…

现代软件工程讲义 个人项目和结对项目练习 四则运算

这是构建之法 《现代软件工程》课的作业题之一。 下面的题目&#xff0c; 从简单的命令行处理和数据处理开始开始&#xff0c;让同学们逐步练习&#xff0c;巩固算法&#xff0c;学会松耦合的设计&#xff0c;学会PSP&#xff0c;源代码控制&#xff0c;单元测试&#xff0c;回…

软件工程作业 - word count

(编程和软件工程作业系列) 实践最简单的项目&#xff1a;WC 实践是理论的基础和验证标准&#xff0c;希望读者贯彻“做中学”的思想&#xff0c;动手实现下面的项目&#xff0c;并和别人的成绩相比较&#xff0c;分析产生差距的原因。 1. 实现一个简单而完整的软件工具(源程序特…

软件工程课, 编程课 助教的工作介绍

在用 "做中学 (Learning By Doing) " 方式讲授编程和软件工程课的时候&#xff0c;我们认为助教在其中起了很大的作用。 费曼学习方法的精髓是 “以教代学” 。如果不能向其他人简单地解释一件事&#xff0c;那么你就还没有真正弄懂它。 我们课程的各位助教&#xff…

软件工程资料 - 优秀的大学怎么教程序开发和软件工程课

他山之石&#xff0c;可以攻玉 世界上很多大学都有不错的教学方法&#xff0c; 例如我们曾经的助教总结他在国外的学习经历&#xff0c;可以看出老师和学校对于如何教好课是花了心思&#xff0c; 有很多投入的。 一门课怎么上&#xff1a; https://zhuanlan.zhihu.com/p/206103…

第二届构建之法论坛预告(草案)

(草案) 时间&#xff1a;2018年7月初 (暂定 7/9 - 7/11) 地点: 北京航空航天大学 活动&#xff1a;为期三天的软件工程教案设计培训和软件专业教育方法的讨论 时间内容工具备注第一天上午 1. 论坛主题演讲 “构建之法教学改进” 构建之法的教学是如何演进到目前的形态的&#x…

AI应用开发实战系列之一: 从零开始配置环境

AI应用开发实战 - 从零开始配置环境 与本篇配套的视频教程请访问&#xff1a;https://www.bilibili.com/video/av24421492/ 零、前提条件 一台能联网的电脑&#xff0c;使用win10 64位操作系统请确保鼠标、键盘、显示器都是好的 建议和反馈&#xff0c;请发送到 https://g…

usb连接不上 艾德克斯电源_第十二届(深圳)新能源汽车核心电源技术研讨会成功举办...

2019年4月26日&#xff0c;由大比特主办的第十二届(深圳)新能源汽车核心电源技术研讨会在深圳登喜路国际大酒店成功举办。本次会议受到了法雷奥、长安铁雪龙、比亚迪、蔚来汽车、麦格米特、科陆电子、欣锐、英威腾、晶福源、英可瑞、瀚美特、航嘉驰源、核达中远通、永联、优优绿…

AI应用开发实战系列之二:从零开始搭建macOS开发环境

AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问&#xff1a;https://www.bilibili.com/video/av24368929/ 零、前提条件 一台能联网的电脑&#xff0c;使用macOS操作系统请确保鼠标、键盘、显示器都是好的 建议和反馈&#xff0c;请发送到 https…

安卓能硬改的手机机型_手机后盖材质,金属比塑料的好,玻璃比金属的好,是这样么?...

从2000年至今&#xff0c;18年手机发生了巨大变化到现在&#xff0c;人们不再唯性能至上屏幕、拍照、材质、工艺等等也成了人们选购手机的标准手机后盖材质的发展史很好的见证了人们喜好的变化接下来我们来看手机后盖材质的演变史从手机的创造到手机的普及作为一个材料人我们经…

AI应用开发实战系列之三:手写识别应用入门

AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了&#xff0c;如输入法&#xff0c;图片中的文字识别等。但对于大多数开发人员来说&#xff0c;如何实现这样的一个应用&#xff0c;还是会感觉无从下手。本文从简单的MNIST训练出来的模型开始&#xff0c;和…

重力加速度换算_中考物理重难点汇总——公式换算大全

初中物理中最重要的部分就是公式了&#xff0c;在这之中公式的换算可以说是一个难点&#xff0c;也是一个重点。力学部分一、速度公式火车过桥(洞)时通过的路程s&#xff1d;L桥&#xff0b;L车声音在空气中的传播速度为340m/s 光在空气中的传播速度为3108m/s二、密度公式(ρ水…

[人工智能教程] 人工智能暑期课实践项目建议

哈工大人工智能暑期课实践项目建议 这个博客介绍了暑期课实践作业的建议。 时间&#xff1a;7/10 - 7/22. 一周上课&#xff0c; 一周项目实践。 要求&#xff1a;项目实践的过程请用公开的博客记录。 项目的源代码请放到 github 中。 每4 ~ 5 人一个小组&#xff0c;从下…

新手一小时就写出人工智能应用 - 看图识熊

来不及了&#xff0c;先上车&#xff1a; 人工智能开发案例 熊的分类 如何安装必要的工具并配置环境呢&#xff0c;请看这个详细的解说 今后会有更详细的文字版在这个专题出现。 如果有对这个教程有疑问&#xff0c;请在这里留言。

c++ 线性回归_模型之母:简单线性回归的代码实现

模型之母&#xff1a;简单线性回归的代码实现关于作者&#xff1a;饼干同学&#xff0c;某人工智能公司交付开发工程师/建模科学家。专注于AI工程化及场景落地&#xff0c;希望和大家分享成长中的专业知识与思考感悟。0x00 前言 在《模型之母&#xff1a;简单线性回归&最小…