跳至内容

实用项目:选择项目

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

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

选择项目 分析 →


现在是时候开始考虑你要做哪种项目了。这是一个重要的决定,因为它将决定整个课程工作的方向。

我过去标记过的项目包括

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

你可能已经注意到,很多讨论都围绕着数据库和数据操作展开。解决这个问题的一个简单方法是构建一个数据处理系统,例如库存控制系统或复习游戏,在后端使用数据库来存储数据。这是一种强有力的项目类型,可以帮助你获得高分。但是,你不必非得做这种项目。如果你的代码足够复杂,你就不需要存储任何数据,你可以跳过关于数据库的写作部分。你可能不会被鼓励制作游戏,但如果它是一个游戏,背后有数据库或复习系统,或者展示了 A-Level 水平数学的巧妙模拟,那么你需要与你的计算机老师沟通。

什么是数据处理

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

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

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

如何选择一个复杂问题

[编辑 | 编辑源代码]

为了获得高分,系统必须复杂,但复杂意味着什么?你需要做几件事,还需要做更多事情才能有机会获得高分。AQA 的评分方案指出,为了在复杂性方面获得最高等级,你需要至少满足以下条件之一:

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

如果你能使用这些条件中的多个,你就能保证获得这些分数。此外,使用更多条件将为你后面的章节提供更多可写内容。但是,不要好高骛远,因为你不想把所有时间都花在编码上,或者无法完成程序。

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

警告!

永远不要单独使用 Access 创建东西,你需要展示真正的代码。即使 Access 可能是一个更简单的解决方案,但这也不会让你在复杂项目中获得分数。始终与你的老师核实关于复杂性的问题

寻找问题和用户

[编辑 | 编辑源代码]

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

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

可行的项目?

[编辑 | 编辑源代码]

以下这些听起来足够复杂吗?如果不是,你将如何使它们变得复杂?记住,要与你的老师核实关于复杂性的问题。

你将如何解决问题?

[编辑 | 编辑源代码]

一旦你有了用户和问题,你将如何解决它?你不是一家拥有数十亿英镑资金的 IT 公司,你可能也只有不到一年的编程经验。你必须现实地看待如何解决这个问题。以下是一些你需要开始思考的问题,写下你的答案

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

下一步

[编辑 | 编辑源代码]

把所有这些都写下来,这对你的分析非常有用!

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

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

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