纸上原型在计算机课程中的应用

2015-10-21 02:30叶常春尹良泽
课程教育研究 2015年10期
关键词:计算机课程抽象工作原理

叶常春 尹良泽

【摘要】计算机课程经常涉及抽象的工作原理。仅靠讲解描述,学生很难理解这些原理,经常反馈说“太抽象,不好懂”。我们发现纸上原型是帮助学生掌握理解抽象的工作原理的好工具。纸上原型是通过在纸上绘图和剪纸制作而成的纸质实体模型。纸上原型能起到化虚为实的作用,也就是把抽象的概念映射成具象的纸制品。除了拥有绘图的表达力之余,纸上原型还能动态演示系统工作过程。纸上原型制作成本低、时间可控,门槛低,便于学生参与。本文描述了纸上原型在人机交互课程和计算机基础课程中的应用,并指出了在其他课程中的应用机会。

【关键词】纸上原型 工作原理 抽象 计算机课程

【Abstract】Computer Courses always include contents about abstract principles. Only by teachers describing and explaining these principles, students are hard to learn them, and they often give feedback that the principles are too abstract to be understood. We have found that paper prototypes are useful tools to help students to learn the principles. Paper prototypes are system models which are made by painting on paper and by paper-cutting. Paper prototypes can connect abstract concepts with concrete products. Not only are paper prototypes have as much power of expression as diagrams, but they are able to show the working progress of systems dynamically. It is cheap, time-saving and handy to make paper prototypes, so every student can try paper prototyping. This paper describes two examples of application of paper prototypes in the Human-Computer Interaction course and in the Foundation of Computer course, and points out other occasions to apply paper prototypes.

【Keywords】Paper Prototypes, Work Principles, Abstract, Computer Courses

【中圖分类号】G64 【文献标识码】A 【文章编号】2095-3089(2015)10-0204-02

1.前言

相信每一位上过计算机基础课程的老师都曾遇到过这样一个问题,就是不论如何变着花样反复多次地向学生讲解某一工作原理,学生还是吃不透、抓不住。多数学生会反馈说,“太抽象,不好懂。”理解工作原理一般要理解若干新概念,熟悉系统的构成并形成关于系统工作过程的完整认知。对缺少知识背景的学生而言,以讲授的方式来帮助他们理解抽象的工作原理确实是一件难事。

“抽象的、难以理解的”工作原理存在于众多计算机课程中。下面列举一些。

①大学计算机基础可以说是一门大杂烩课程。计算机工作原理、内存访问过程、网络协议工作原理、Web工作原理、数据库系统工作过程和摆渡攻击等既是难点又是核心内容。

②操作系统原理课程中,中断机制、页式存储机制、缺页中断处理、进程管理机制和文件系统工作原理等都是难点。

③网络原理课程中,OSI体系结构及其工作原理、TCP/IP工作原理、TCP连接过程、http协议工作原理、域名解析和网络路由机制等都是重点和难点。

④计算机组成原理课程中,图灵机工作原理、计算机工作过程、指令流水线工作原理、加法器工作过程和Cache工作原理等是难点。

经过多年的教学探索,我们发现纸上原型是帮助学生掌握理解抽象的工作原理的好工具。纸上原型能起到化虚为实的作用,也就是把抽象的概念映射成具象的纸制品。除了拥有绘图的表达力之余,纸上原型还能动态演示系统工作过程。纸上原型的其他优点是制作成本低、时间可控,门槛低,便于学生参与。

本文下一节介绍纸上原型的概念。接下来的两节描述纸上原型在人机交互课程和大学计算机基础课程中的应用案例。相信读者能从两个案例中体会到纸上原型的价值,并能够举一反三地应用到其他场合。最后一节是结束语。

2.纸上原型

原型[1, 2]是系统的外观或内部结构的模型。纸上原型是通过在纸上绘图和剪纸制作而成的纸质实体模型[3, 4]。我们在计算机基础课程中采用的纸上原型大多用来刻画系统的内部结构。同时,串联若干幅纸上原型,能动态展示系统的工作过程。下一节给出的例子能清晰地表明这一点。

事实上,纸上原型不是一个新概念。人机交互课程上通常都会讲授纸上原型这一原型工具[1, 3, 5]。这一工具在人机交互设计(如软件或网站界面设计)中得到了广泛的应用。在交互设计中,纸上原型主要用于呈现软件或网站的外观和功能接口。通过串联多幅“屏幕(或叫页面、或叫窗口)”,纸上原型动态地演示了软件或网站的界面流程。尽管有众多的原型设计工具可供选择,但纸上原型始终是交互设计师偏爱的一个选择。这是因为它具有快速构建、轻松修改、关注流程、便于用户参与和抛弃成本低等优点[4]。

经过尝试,我们发现纸上原型适合用于帮助老师讲授抽象的工作原理,也适合用于帮助学生理解掌握抽象的工作原理。如果安排学生参与构建纸上原型,学生将会有更多主动的思考,对抽象的工作原理的理解将更加深刻。纸上原型这一工具值得推广应用到更多课程中。

3.在人机交互课程中的应用

人机交互课程讲授如何设计出好用的软件或网站界面,向用户提供优质的用户体验。原型设计是人机交互设计前期采用的方法和技术。设计出来的原型是软件或网站界面的模拟物。人机交互设计中,原型用作探索、交流的媒介。由于具有快速构建、轻松修改、关注流程、便于用户参与和抛弃成本低等优点,纸上原型广受青睐。

纸上原型不但能够呈现软件或网站界面的布局和外观,还能够演示软件或网站界面的流程。图1~4是纸上原型的一个示例。它演示了一款名为“时钟”的手机应用程序的设置闹钟功能的界面流程。

如何用上述纸上原型动态地演示时钟程序的添加闹钟功能呢?表1列出界面跳转动作与纸上原型演示动作之间的对应关系。表1 界面跳转动作与演示动作的关系

4.在计算机基础课程中的应用

《大学计算机基础》是一门难讲的课。学生的反馈中经常包含抽象、枯燥、不系统、散乱和不知所云等词语。讲解计算机工作过程是一个难点中的难点。

理解计算机工作过程涉及一系列抽象概念。CPU组成方面,控制器、运算器、程序计数器(PC)、指令寄存器(IR)和通用寄(R0, R1, …)存器等都是看不见摸不着的。内存模型方面,字节、内存地址和字长等概念和内存的作用需要吃透。程序方面,程序、机器指令、操作码、操作数等概念和程序的存储方法需要充分理解。总线方面,涉及数据总线、地址总线和控制总线等抽象概念。要学透如此之多的抽象概念,光靠阅读文字描述来熟悉他们确实是一道难题。

采用纸上原型来讲解计算机工作过程,能使局面发生改观。针对计算机工作过程的纸上原型的制作步骤说明如下。

①绘制CPU组成图,见图5-a。讲授计算机工作过程时,我们有意忽略大量与CPU组成相关的细节,目的是突出重点。

②绘制内存模型图,见图5-b。图中表格的每一单元格代表4个字节,表格左边的数字代表内存地址。

③绘制连接CPU和内存的总线,见图5-c。这里不展开总线的细节内容。若需要,可以分别制作数据总线、地址总线和控制总线。

④在内存模型图中,手写“1加到10”汇编语言程序,见图5-b。为便于书写,我们假定每条指令的长度是32位(4个字节)。讲课时,告诉学生指令不见得是固定长度的。

⑤裁剪6条与图5-b中的单元格等高等宽的纸条,依次书写“1加到10”汇编语言程序的指令,如图6,称之为“指令纸条”。

⑥模拟程序执行的起始阶段。假设程序起始地址为800,在程序计数器方框内用铅笔书写800。

⑦模拟CPU取指令动作。用一张空白字条,抄写程序計数器上的内容(称之为指令地址纸条)经过总线移动到内存。定位指令地址纸条的地址值所对应的指令“MOV #0, R0”,把写有该指令的指令纸条经过总线移动到CPU的指令寄存器中。

⑧模拟程序计数器自动计算下一条指令的地址(下一指令的地址 = 当前指令的地址 + 指令的长度)。在程序计数器方框内用铅笔书写第二条指令的起始地址804,见图7。

⑨模拟执行指令。把指令“mov #0, R0”从指令寄存器IR移动到控制器,然后在通用寄存器R0格子内用铅笔书写0,见图7。

⑩依次地,照步骤7,8,9模拟第二条、第三条以及后续指令的取指令、计算下一指令地址和执行指令的步骤。

利用纸上原型,能动态演示程序的执行过程。表2列出程序执行动作与纸上原型演示动作之间的对应关系。

对于以上步骤,可以由老师边讲解边演示,这样做时间开销最少。但学生不见得能深刻理解计算机工作原理。如何让学生学到更多?下面是一些选择。

①教师提供纸上原型素材,学生讲解演示。这样学生自己在脑子里组织程序执行流程并讲述出来,而不是坐着听一听而已。

②学生自己制作纸上原型素材,并讲解演示。这一做法使学生动手,既有机会让学生了解CPU的组成、内存模型的构成和总线的作用;也有机会让学生熟悉计算机工作过程。

③使用另外一个汇编程序。这一做法是指教师以一个汇编程序作为示例,讲解演示计算机执行程序的过程;然后要求学生走通另一个汇编程序的执行流程。

5.结束语

在讲授抽象的工作原理的时候,仅仅依赖口头讲述,效果往往不佳。学生总是反馈“太抽象,不好懂。”此时,纸上原型是一个选择。事先经过精心设计和准备,邀请学生参与制作和演示纸上原型,学生将会把抽象的概念和过程与纸上原型实物和演示动作映射起来。这样会起到化虚为实的作用。

纸上原型既有图形的表达力,又能动态地演示系统运行流程,还有制作成本低、时间可控,门槛低等优点。纸上原型可以应用到大学计算机基础、操作系统原理、网络原理、计算机组成原理和数据库原理等课程。

参考文献:

[1]Carolyn Snyder. Paper Prototyping[M]. Morgan Kaufmann. 2003. Vol.55(8). P.26-28.

[2]Chandler, C. D., G. Lo, and A. K. Sinha. Multimodal theater: Extending low fidelity paper prototyping to multimodal applications[J]. Proceedings of Conference on Human Factors in Computing Systems: CHI '02, 2002. P. 874-875.

[3]陈媛媛. 浅析交互设计中的纸上原型设计[J]. 设计技术研究. 2013. 第2卷. 第4期. P.41-44.

[4]阿里巴巴UED团队. 纸上原型设计方法说明及使用规范[R]. 2009.

[5]宁涛,霍利. 纸面原型设计方法在虚拟仿真系统开发的应用[J]. 计算机工程与设计. 2008. 第29卷, 第20期.

作者简介:

叶常春:现工作于国防科技大学计算机学院,副教授。

尹良泽:国防科技大学计算机学院,讲师。

猜你喜欢
计算机课程抽象工作原理
基于MOOC的混合式教学模式应用研究
探讨提高初中计算机教学的有效方法与途径
中小学数学中各类数的意义
锌锭自动塑钢带打包改造实践
浅谈门格尔与罗雪尔关于方法论的对比及启示
浅析吴冠中艺术作品中艺术的形式语言
外国美术史上浓重的一笔
神奇的“传感器”
关于螺杆桩机的钻具结构探讨
职业中专学校计算机课程教学有效性的研究