APP下载

目标驱动的核心课程和实验课程体系设计方法

2009-03-17马殿富

计算机教育 2009年3期
关键词:核心课程设计

张 莉 马殿富

文章编号:1672-5913(2009)02-0046-03

摘 要:针对目前大部分课程各自为阵、互不往来,且部分课程内容陈旧的情况,本文提出了一种目标驱动的核心课程和实践体系设计的系统化方法,从具体的核心培养目标(对学生而言,应该是可操作可考核的综合能力指标)推出学生应该掌握的知识和能力,对其进行系统的分析,分解层次,形成系统的知识和能力体系;从而细化设计每年的培养目标,进而落实到课程的设计。该方法内容具体,系统性强,可操作性、可跟踪性好。

关键词:目标驱动;核心;课程;设计

中图分类号:G642

文献标识码:B

1 问题的提出

随着计算机技术的快速发展,课程内容更新的需求越来越强烈,事实上,这种需求一直没有间断。社会需要什么样的人才?随着计算机应用技术的普及,各个非计算机专业学生编程能力的提高,到底具备哪些知识、何种能力的计算机专业人才更具有竞争力,也是多年来困扰大家的问题。

我们不断地更新我们的教学计划、课程体系、课程内容,但是我们的更新合理吗?系统吗?满足目标吗?更多的时候,我们在头疼医头,我们在打补丁,结果让我们的课程体系补丁不少、漏洞也不少。更重要的是各门课程各自为阵,部分知识重复讲,而又因存在“知识缝隙(gap)”不能很好地衔接。面对这样的问题,我们提出了目标驱动的核心课程和实验体系设计方法,并在北航计算机学院新一轮核心课程与实验课程体系设计中进行了初步实践,有一些体会,和大家共享切磋。

2 目标驱动的核心课程和实验体系设计模型

总体思路:目标驱动的设计方法,从具体的核心培养目标(落实到可实现的指标),推出学生应该掌握的知识和能力,对其进行系统的分析,分解层次,形成系统的知识和能力体系;细化设计每年的培养目标,进而落实到课程的设计。

设计原则:

1) 和目标紧密结合,目标动,课程动。保持良好的可跟踪性,从而使该方法有很好的适应性,能适应计算机技术的快速发展;

2) 先考虑知识和能力体系,不考虑课程,有利于知识和能力设计的系统性,避免目前各门课程之间缺乏衔接、或者互相重复等问题。

3) 课程间衔接好,互相补充,完成同一个目标;

4) 强调能力的培养,重视实践环节。

5) 强调集成,重视综合能力的培养。

内容:本方法分解为几个阶段:

1) 具体核心培养目标的选择及其选择方法;

2) 面向培养目标的计算机专业核心知识和能力体系的设计;

3) 基于计算机专业核心知识和能力体系的核心课程体系、实践体系的设计和设计方法;

4) 分层次的综合能力实践环节的设计。

我们将结合我们的实践对该方法的应用做一个详细的阐述。

3 方法的使用:在北航计算机学院的实践

(1) 核心培养目标的选择和设计

●核心培养目标的选择

根据北航本科生的培养要求和计算机学院的培养定位,我们考虑应满足如下原则:

1) 体现计算机专业学生的核心能力需求;对计算机的工作原理(软硬件)有深刻理解,并理解现有计算原理的局限;

2) 体现当前最新的、成熟的技术(目前产品的主流技术);

3) 具备综合能力:系统的观点、工程的观点。

结果:基于MIPS指令系统,使学生有能力设计一台功能型计算机、一套操作系统和研发一套编译器,最终形成一个相对完整的功能型计算机系统。

●细化核心培养目标

如何细化培养目标?最好的办法是实践。我们组织骨干教师设计了一台满足以上目标的功能型计算机,命名为MiniComputer。基本思路是:以数理逻辑为理论基础,设计和开发数字逻辑部件;以MIPS指令系统为基础,设计和开发计算机核心系统;以MIPS指令系统为目标语言,设计和开发编译系统;以自己研发计算机为环境,设计和开发操作系统。

之后,我们组织2-3年级的本科生在教师的指导下,分组进行培训和实验,在这个过程中发现学生已掌握知识是否充分,还有哪些欠缺,还需要补充哪些知识点,学生在这个过程中接收知识的难易程度(发现有时和老师的预期有差异)。教师的任务是要关注整个过程,记录整个过程,并给予学生适当的辅导和协调。实际实施过程对教师也是一个很大的挑战,尤其是硬件部分的调试、整个系统的集成。

几个关键问题:

1) 首先定义MiniComputer需要支持的高级程序设计语言,从而决定了该机器需要提供的支持能力,也在相当程度上决定了本项目的难易程度;

2) 根据语言的要求,考虑对操作系统的要求;根据语言的要求设计该机器应能支持的指令集合;

3) 得到指令系统的定义和硬件系统的需求定义;

4) 实验过程的记录和分析,了解学生在整个过程的学习和实验进展情况;

5) 开发相应的仿真软件,支持硬件、操作系统等的调试。

(2) 面向培养目标的计算机专业核心知识和能力体系设计方法

1) 通过对以上实验结果的分析,抽取计算机专业核心知识点及其关系、核心实验能力及其关系。

分析结果(粗略):

(a) 计算机工作原理的充分理解:掌握系统的观念、协作的原理和方法。

(b) 较强的软件实现能力(实现编译器、操作系统、硬件仿真器-调试器等),包括对高级程序设计语言的理解、高级语言程序设计能力、数据结构和算法(算法的分析能力)、基础的工程训练(软件工程基础知识);

(c) 硬件系统的理解和设计、实践能力:对数字逻辑、计算机部件的设计、计算机系统的设计、汇编语言的理解等。对系统的调试和集成、工程实践能力;

(d) 对数理逻辑的要求。

2) 对知识点和能力进行分析,分解能力的阶段和层次,获得计算机专业学生应具备的核心知识和能力体系(系统的知识和能力体系)。

注:这一阶段不涉及课程,不考虑课程。避免内容分散、缺乏系统性。

这部分的成果:整理出系统的知识点和路线图(前后关系图)(略)。

●分解为各年级的培养目标

一年级的培养目标:计算机思维模式的培养,逻辑思维的培养,基本程序设计能力的培养。

二年级的培养目标:提高的程序设计能力、复杂数据结构的运用能力、算法分析能力。数字逻辑、计算机部件的设计,完成硬件设计的需求。

三年级要达到的目标:编译系统、操作系统的设计和实现。软件工程等知识和实践。

综合集成目标:软硬件的集成、应用程序的运行—系统测试,团队训练。

(3) 基于核心知识和能力体系的课程体系设计

根据知识体系和能力体系设计课程体系,并将知识点分解到理论课程。将能力培养落实到实验课程。从而得到课程体系和实验课程体系的蓝图,包括课程定位和衔接关系。

如《数理逻辑》:侧重布尔代数课堂教学,通过实验环节使得学生掌握根据需求建立逻辑描述的方法和能力,包括布尔逻辑及其变换、真值表的逻辑表示以及逻辑范式表示。

《数字逻辑与数字部件设计》:使得学生基于《数理逻辑》所建立逻辑描述,借助于硬件描述语言和EDA软件工具,完成包括寄存器、加法器、状态机等在内的一系列计算机基础硬件组件的设计和开发,为构造更加复杂的计算机硬件功能部件打下良好的基础。

《计算机组成原理》:在《数字逻辑与数字部件设计》实验环境所完成的各类硬件基础组件的基础上,同时利用软件模拟器和HDL作为主要的实验手段,使得学生深入理解处理器内部工作机理,掌握汇编级程序设计技术及技巧,并以此为基础利用HDL实现指令系统的子集及部分相应的计算机功能部件,完成一个功能型计算机硬件的核心部分,并能在其上运行简单的汇编程序。

《操作系统》:通过实验环节,一方面进一步丰富和完善该功能型计算机的硬件功能,另一方面学习系统软件开发方法和工具链,开发和移植一个简化的操作系统,最终构造出一个相对完整的计算机系统。

《编译技术》:通过实验环节,一方面丰富《计算机组成原理》中所完成功能型计算机硬件的指令系统,进一步完善该计算机硬件功能,另一方面为让学生了解编译器的构造技术,以及如何在一个裸机上实现对高级语言的支持,最终能在自己的机器上运行一个高级语言的程序。

(4) 进一步设计完善各门核心理论课程的培养大纲

(5) 进一步设计完善各门核心实验课程的实验大纲和手册

由于涉及到众多课程和知识点,将不在本文列出。回过来对照教学计划,我们发现几个大的变化:1)课程之间更加系统化,任课教师之间能更好的理解,尤其通过共同参与实验、共同的讨论,较好地解决了以前各门核心课程各自为阵、相互独立、知识不连贯同时有互相重复的现象; 2)课程之间的贯穿性得以体现,并获得深刻理解,如逻辑在后续课程的应用等;3)硬件类课程成体系,内容得到很好的更新,采用了MIPS指令集,硬件描述语言贯穿整个课程和实验体系;4)软硬件得到较好的集成,问题变得更加真实,不再是抽象的理论,如操作系统和硬件系统的接口、编译技术中面向特定体系结构的优化等,打通了软硬件之间的一个“Gap”;5)学生真正理解计算机系统,而不再是一个个的片段,从而深刻理解计算机的工作原理和局限。同时培养了学生较强的工程实践能力。满足北航计算机学院关于科学型和工程型相结合的人才培养定位。

4 一点体会和进一步的工作

通过这个项目,我们有一些体会。对目标系统的分析,必须做实验,而且需要学生的参与,即在教师的指导下由学生自己来完成,这样我们才能:1)深入细节;2)了解学生掌握知识的难易程度。通过实验,我们发现了很多预先没有考虑到的细节,而且发现一些我们认为简单的问题,学生理解起来可能很困难;而一些我们以为困难的地方,学生却很容易的掌握了。真正的深入实践可以让我们发现问题,从而调整课程内容的设置、课程讲解的方式以及深入的程度。当然,本方法还有很多地方需要进一步细化和总结,尤其在可跟踪性方面,希望有工具可以支持。

致谢:感谢北京市教学改革项目、北京航空航天大学教学改革项目的资助。感谢参与该项目的所有教师,他们是刘旭东、龙翔、高小鹏、王雷、史晓华、艾明晶等。

参考文献

[1] 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[R]. 教育部高等学校计算机科学与技术教学指导委员会编制. 高等教育出版社, 2006, 9.

[2] 马殿富等. 计算机专业本科生核心综合实验设计与实践[R]. 北京市高等学校教育教学改革立项项目申请书, 2007.

[3] JOHN R.HAUSER, DON CLAUSING. “The House of Quality”, Harvard Business Review, vol. May-June, pp.63-73, 1988.

[4] R.Darimont, E.Delor, P.Massonet, and A. v. Lamsweerde. "GRAIL/KAOS: An Environment for Goal-Driven Requirements Analysis, Integration and Layout", presented at Requirements Engineering, Jan.1997.

[5] 马殿富. 如何培养社会需要的人才[R]. 长沙全国计算机学会YOCSEF年会上的特邀报告, 2004.

[6] 马殿富, 张莉. 依托学科优势, 培养高质量本科人才[C]. 第七届计算机系主任(院长)论坛文集, 2004,10.

[7] 张莉. 研究性大学计算机学科课程及其知识体系的研究与实践[R]. 北航校级重点教改项目汇报交流会, 2003,9.

猜你喜欢

核心课程设计
《ERP原理与应用》课程混合式教学改革探索
课程思政在组织行为学课程教学中的探索与实践
BUBA台灯设计
一图GET“党务公开”核心点
A—Level统计课程和AP统计课程的比较
以问题为核心上好初中几何复习课
有种设计叫而专
每月核心经济指标
匠心独运的场地设计画上完美句点
参考答案