在这几年推广《构建之法》软件工程教学的过程中,我看到很多老师在讲软件工程的时候,虽然讲了很多年,但是手头没有任何项目,学生或者现想(得到一些大而无当,无法在一学期内完成一个可用版本的项目), 或者抄袭一些经典模板题目(图书馆管理...) 。没有好的实践素材,教学质量也不能提高。

为何不能从身边获取需求,解决自身的痛点呢?我们举一个例子:

对于大学生来说, 英语学习,通过考试是一个刚需。 一个人的英语词汇量有多少,是一个很多大学生都关心的问题。

现在的英语学习App 都很完美了么? 未必,我们的学生做过多次调查,发现各种App 都有很多提高空间。

这个“软件” 做出来,很容易鉴别质量么?当然,所有大学生都能判断这个App 的好坏; 有实际用户么?有。 作为对比,同学们做的 “图书馆管理系统” 有人能实地使用呢? 能借书出来么?

这个“软件” 的可行性如何? 能做出来么? 网上有一些数据:

①大部分单词的出现频率;

②公开的英语词汇解释。

利用这些数据,就可以做一个小的词典App。基本功能有:查词,显示词汇的解释。

扩展功能:

- 各种专业词汇、特别词汇表 (四级、六级)的支持

- 服务器/客户端的扩展,支持动态下载文件

- 可以做简单的“单词本”, “背单词” 功能。

- 可以考虑在不同设备同步单词本,这就要考虑用户的管理,网络模块

- 再深入下去, 就可以做 “词汇量” 功能。  如果我们让一个用户回答单词单词的释义, 大约20 个左右, 根据用户回答的正误和所选单词的频率数据, 就能大概推算出这个用户的词汇量是多少。  如果算法好了, 就可以和UI结合, 我们可以给用户多次测试 (每次 20 个单词), 测得越多,算法就越准。

- “词汇量” 算法还可以让学不断改进。
    我们可以展现他在所有用户中的排名。
    用户不会的单词就可以放到用户的单词本中。

未完待续...

最新文章

  1. ng-directive-选择数据
  2. TesseractOCR
  3. JS提交对象数组到服务端的方法总结(C#实例)
  4. IIS7配置Gzip压缩 JS压强失败的原因
  5. 关于CPU Cache -- 程序员需要知道的那些事
  6. Sql Server:不允许 ASSIGNMENT 语句中包含 FOR XML 子句
  7. linux网络配置相关命令、虚拟网络接口eth0:0
  8. Could not load the "btn_020.disable.png" image referenced from a nib in the bundle with identifier "com.xxx.---0710"
  9. 流(stream)
  10. Java 获取今天之前的七天 的日期
  11. javaWeb学习总结(11)- 监听器(Listener)学习(2)
  12. .NET CORE 框架ABP的代码生成器(ABP Code Power Tools )使用说明文档
  13. 如何简单地理解Python中的if __name__ == '__main__'
  14. pip命令出现了问题,提示说找不到ssl模块
  15. Mysql --学习:大量数据快速导入导出
  16. 阶乘函数(factorial)——结果在整型范围内的阶乘计算
  17. MongoDB数据库中更新与删除数据
  18. MySql之删除操作
  19. 如何将文章列表用<li>分两列显示
  20. CF 24 D. Broken robot

热门文章

  1. web三种跨域请求数据方法
  2. 浏览器下载/导出文件 及jQuery表单提交
  3. [PHP] - Laravel - 列表、新增、修改、删除例子
  4. linux 内核源代码
  5. JVM GC算法 CMS 详解(转)
  6. 建立一套完整的Maven依赖工程步骤,包含WEB工程
  7. mysql 查询数据时按照A-Z顺序排序返回结果集
  8. JVM实用参数(六) 吞吐量收集器
  9. java日期处理SimpleDateFormat等
  10. delphi.指针.应用