跳转到内容

实用项目:选择项目

来自维基教科书,开放世界中的开放书籍

单元 4 - ⇑ 计算机实践项目 ⇑

选择项目 分析 →


现在是时候开始思考你要做什么样的项目了。这是一个重要的决定,因为它将决定这门课程的其余部分。

我过去评审过的项目包括

  • 基于数据库的板球运动员管理系统,跟踪比赛和球员得分
  • 日托中心儿童数据库,处理父母的账单
  • 计算机房预订数据库,允许教师预订不同日期的房间,并以图形方式查看其他教师的时间表
  • 硬件商店的库存控制数据库,处理重新订购和销售
  • 基于网络的数学复习网站,允许创建随机试卷并自动评分
  • A-Level 数学复习迷宫游戏
  • 法语复习横版冒险游戏
  • 物理学抛射物建模工具
  • 贪吃蛇游戏,要求你吃掉正确答案来回答数学问题
  • 直升机飞行游戏,要求你回答经济学问题以获得额外燃料
  • 围绕俄罗斯方块克隆构建的计算机复习程序
  • 一个国际象棋游戏,它强制执行所有游戏规则,并在出现将军时识别出来
  • 基于手机的数学复习游戏

你可能已经注意到,关于数据库和数据操作的讨论很多。解决这个项目的一个简单方法是构建一个数据处理系统,例如库存控制系统或复习游戏,在后端使用数据库来存储数据。这是一种强力的项目,也是获得高分的途径。但是,你不必做这样的事情。如果你的代码足够复杂,你就不必存储任何数据,而关于数据库部分的写作,你可以跳过。你可能不会被鼓励制作游戏,但如果它是一款带有数据库或复习系统的游戏,或者展示了 A-Level 标准数学的巧妙模拟,那么你需要与你的计算机老师谈谈。

什么是数据处理

[编辑 | 编辑源代码]
数据处理需要数据库或其他数据存储

你制作的每个系统都必须涉及数据处理。这意味着获取数据并添加、更新、删除、解释和显示它。使用数据库非常容易,但你必须超越 Access 提供的添加、编辑、删除等默认操作。考虑使用复杂的查询和展示结果的奇特方式。它也可以是一个 XML 文件,存储座位安排或学生记录,编辑/删除/添加复习游戏中的问题,并记录不同用户的分数。无论你做什么,数据处理都必须是核心。

使用某种形式的 SQL(例如 MySQL)或类似的语言(例如 MariaDB)比 Access 更好,因为它可以轻松地与许多编程语言集成。此外,SQL 属于 COMP3 课程,因此你无论如何都需要基本的 SQL 知识。

如何选择一个复杂问题

[编辑 | 编辑源代码]

为了获得最高分,系统必须复杂,但这意味着什么?你需要做一些事情,还需要做更多的事情才能有机会获得最高分。AQA 的评分标准说,要获得复杂度的最高级别,你需要至少满足以下条件之一:

  • 非平凡算法,例如图遍历或递归。
  • 使用所选编程语言的复杂功能,例如运行时创建的对象、复杂的数据结构、用户定义的类
  • 基于时间的模拟
  • 使用网络协议(例如 TCP/IP)
  • 为移动设备开发
  • 问题非计算方面的复杂性(例如使用复杂的数学,如果它是你 A-Level 数学中的内容,它就足够复杂了)
  • 图像处理或模式识别(例如使用正则表达式注意:正则表达式属于 COMP3 课程,因此你无论如何都会学习它)。

如果你可以使用以上条件中的多个,你将确保自己获得这些分数。此外,更多条件将给你更多内容在后面的章节中进行阐述。但是,不要过于雄心勃勃,因为你不想把所有时间都花在编码上,或者无法完成程序。

如果你使用的是数据库,可能很难判断你的项目是否会很复杂。AQA 有一个关于这方面的文档,但简而言之,你的数据库需要完全规范化,大量数据将为你获得更多分数。如果你可以,尝试实现上述条件之一,你将获得分数。

警告!

永远不要只在 Access 中创建东西,你需要展示真正的编码。即使 Access 是一个更简单的解决方案,这也不会让你获得复杂项目的分数。始终与你的老师确认复杂度

寻找问题和用户

[编辑 | 编辑源代码]

你可能已经有一些想法在脑海中浮现,但现在你需要找到一个用户。用户不一定能找到你,所以如果你是一个当地运动俱乐部、教堂、戏剧社团等的成员,尝试思考数据处理系统如何帮助他们。例如,你可以跟踪合唱团的成员,他们参加了哪些课程,以及他们是否支付了会费。如果你认识一些经营小企业的,你可以编写一个系统来跟踪员工值班的时间、库存数量以及销售数量。学校/学院中是否有可以改进的地方?问问你的老师,也许他们仍然需要手动写报告,也许他们想要一个学科的复习工具,也许他们想要一个基于网络的系统来预订房间,也许他们想要一个可以模拟抛射运动以演示课堂上某些内容的程序。一旦你找到了你的用户,就牢牢抓住他们,他们将是你完成这个项目各个部分的关键。

如果你在寻找用户方面遇到困难,尝试问问学校的一些老师。如果你想做模拟,你的数学或物理老师可能会有帮助。

可行的项目?

[编辑 | 编辑源代码]

以下项目听起来足够复杂吗?如果不是,你将如何使它们变得复杂?请记住与你的老师确认复杂度。

你将如何解决问题?

[编辑 | 编辑源代码]

一旦你有了用户和问题,你将如何解决它?你不是一家价值数十亿美元的 IT 公司,而且你可能只有一年的编程经验。你必须对如何解决这个问题保持现实态度。以下是一些你需要开始思考的问题,写下你的答案

  • 你已经知道哪些语言?你需要学习哪些语言和技能?
  • 它将是基于 Web、手机还是桌面应用程序的?
  • 你将使用关系数据库还是平面文件数据结构,或者根本不使用?
  • 你知道如何规范化数据表或从文本/XML 文件中读取数据吗?
  • 你是否有足够的时间来完成你想要做的事情?
  • 它是否足够复杂,让你获得最高分?

下一步

[编辑 | 编辑源代码]

把所有这些内容都写下来,这对你将来的分析很有用!

问题 答案
你的想法是什么?
你的想法足够复杂吗?
你将如何实现复杂性?
你的最终用户是谁?
你会哪些编程语言?
你还有多少时间?
你需要使用数据库或其他数据存储吗?
基于 web 的 / 手机应用程序 / 桌面应用程序?
你需要学习什么?
哪些网站和书籍可以帮助你?

单元 4 - ⇑ 计算机实践项目 ⇑

选择项目 分析 →
华夏公益教科书