设定目标
在你明确问题后,你需要设定你的学习目标。
说得更具体点,就是为了能够更好地设计到达目的地的路径。比如说,有人教授Java编程课程,这个学习目标是:
学生将理解如何使用Java开发。
这个学习目标绝对会让每个受过正式训练的教学设计人员头痛:
确实有许多关于学习目标的疑问,让我们先从“理解”这个词开始。
我们当然希望学习者能够理解我所教授的内容,但没有一个明确的标准让我们能够知道谁“理解”了,“理解”到什么程度。“理解”的概念很模糊,导致我们很难在此基础上进行设计,所以我需要能够精确定义“理解”的范围。
有些教学设计者在他们制定的学习目标中规避“理解”这个词,而换成某些具体的词,可对其执行检验,例如:
学生将能够解释建模计算和仿真计算的价值。
学生将能够描述正确的调用方法。
学生将能够定义和描述核心数据结构,如数组、链表、树结构和堆栈。
他们使用像“定义”、“描述”和“解释”之类的词,因为这些词都是可以衡量的,你可以判断某人进行“描述”、“定义”或“解释”的东西是否符合标准。
当然,这只是一种规避的方法,并不能帮你真正解决问题,除非你让学习者熟记和背诵定义(课程里的教条)。事实上,可以很容易地知道学生是否知道某件事,但是却很难判断他们是否能够准确地理解。此外,你并不真正关注学生是否能理解,你需要关注的是他们是否能够运用。
模糊的说法一般像这样:“我不知道究竟该如何解释我想要什么,但我敢肯定,它就在附近。”
最终,我们不必关心学生知道什么,我们应该关心的是他们能够做什么,学习目标应该如下这样:
学生将能够创建一个简单的、功能齐全的用户界面,用来收集客户数据和传输这些数据到数据库。
所以,当你创建学习目标时,问问你自己:
- 在实际环境中,学习者做到这些了吗?
- 能分辨他们是否做到了?
如果以上两个问题的答案中任何一个是否定的,那么需要重新考虑一下你的学习目标。例如,先列一个表格,如下所示:
原来的目标:
学习者将理解JavaScript作为一个开发工具的局限性。
可能的修改目标如下:
学习者应能够识别一个特定任务的最好开发工具,并能说明原因。
或者:
学习者应能够陈述JavaScript适合作为哪些特定任务的开发工具,并给出理由。
有时,一些实际任务中的学习目标确实无法量化。例如,教授核物理时可能会接触一些很概念化的内容,这些内容无法在现实中找到实例,但为了学习者能够应付之后的概念还是需要去进行理解。不过,在这样的情况下,学习者还是能够学习到这些信息,即使某些概念是为了方便让学习者更好地进行理解。
这都只是建议,而不是死板的规定,应该由你自己判断,如果你觉得需要改变原来的立场让学习目标变得有效,那么这通常就是一个开始,你需要分解它,仔细研究,直到你发现真正的目的。