化工学科计算机教学研究
化工学科计算机教学研究 一、以计算思维能力培养为导向构建化工学科计算机教 学模式 近几年来,国内外高校都加强了计算机知识与专业学科 的结合来培养学生能力,如同济大学、西安交通大学、大连 理工大学、清华大学等。[5-10]我们结合本部门教学 情况,经过与化工学院多次讨论,[4]明确了该院学生的 需求,然后深入理解计算思维在创新实践和教学中的应用, 结合计算思维本质对教学课程体系和创新实践平台进行了 改进和优化,最后形成模式并实施。实施过程中再根据出现 的问题进行研究,改进并优化现有的模式。经过不断改进, 我们设计和实现了一种新的面向化工学科的、计算思维与创 新实践并重的计算机基础教育实践平台(见图1),该平台 建设主要包括如下部分:面向化工学科教学体系建设,计算 思维驱动的研究和创新基地的建设,多元评价方法与质量评 价体系的建设等。下面对每个部分进行具体描述。(一)面向化工学科的教学课群体系建设 由于学生对所学计算机课程设置和创新实践基地种类 不太理解,导致有多种问题发生,如创新学分的混乱、计算 机知识抽象、计算思维知识的欠缺,因此我们引入了开课引 导篇。在每一门课程开篇,教师要通过实例告诉学生初步计 算思维的概念和重要性,该课程在整个计算机体系结构中处 于什么位置,学完后能干什么,很多化工软件以后有什么用,以及创新实践基地的种类和联动关系,如何使用初步计算思 维的思想进行创新实践活动等。通过引导篇的学习,学生初 步认清了该课程在所学平台中的位置,有的放矢地进行学习 和提高创新实践能力,初步形成了计算思维意识,为以后在 化工专业中灵活运用计算机打下了基础。1.大学计算机基 础课程的研究针对化工学院的学生,该部分讲解设置为40 (24理论+16实验)课时。理论中除了讲述计算机基础、 文档处理与排版、数据处理与输出技术、多媒体制作、网页 技术与信息安全等知识点外,还讲述计算思维的概念,并通 过视频讲解一些简单的例子。数据处理与输出技术中的Ex cel知识重点讲述其高级应用,如函数、数据处理等,对 Ori-gin、Aspen Plus、MATLAB等 一些常用的软件仅作初步讲解。实验课中开设一个化工软件 认知实验,学生根据实验讲义,完成对上述化工学科通用软 件的认知学习。2.改进计算思维驱动程序设计课群教学模 式,真正提高学生编程能力程序设计公共课群的教学目的是 使学生的“程序设计”能力达到一定的水平。该课群重点培 养学生读程序、写程序和调试程序的能力,突出实际编程能 力的训练,使其理解人的思维方式与计算机执行方式的差别, 以期把人的思想通过程序设计表达出来,进而培养计算思维 能力。学生应掌握分析问题和数据表达的能力,以及对问题 的抽象与基本算法实现的能力,掌握模块化的程序设计方法 和调试方法,具备利用程序设计技术解决化工学科各个专业实际问题的能力。该课群开设了C语言程序设计、Pyth on程序设计语言和VB.NET程序设计语言三门课程。
教学分为两步:先讲解程序设计内容和MATLAB语言, 然后进行各种实验和实践。具体讲解中,我们以计算思维能 力培养为导向,多讲程序设计共性的部分,少讲专业中很少 用到的知识。如针对C语言程序设计,指针、链表、结构体 和详细的输入输出可以略讲或者不讲(该部分需要花费大量 时间,但是以后应用该部分很少,难度也大)。上述三门课 程中还须各抽出三分之一学时来进行MATLAB语言的 教学,尽量向该专业所要求掌握的计算机知识过渡。程序设 计课群具体改进内容由以下4个部分组成。(1)以程序设 计为主线的宏观组织程序设计类课程传统的宏观组织方式 是以语言知识为主线,注重语法知识的完整性,侧重以语法 理解带动程序设计能力的提高。项目组设计了以培养计算思 维能力和编程为主线的组织方式。以程序设计为主线的教学 方式重点培养学生程序设计和计算思维能力,以程序设计学 习进程为主,打破语言模块的完整性,循序渐进地组织相关 教学内容,将某些难以理解的内容(如C语言中的递归、各 种查询)分离出来,放到课程的后期讲解。以程序设计为主 线的教学内容组织如下:概论―初识程序设计―语句级控制 ―数组应用―模块级控制―指针、结构应用―程序设计进阶 (递归)―文件应用―MATLAB认知―MATLAB程 序设计―简单的数据处理与多项式计算等。教学内容均涉及计算思维能力的培养和提高。(2)以案例教学为特征的微 观组织由于学生难以理解程序设计思维方式,在具体讲授课 程知识模块时,我们主张结合化工各个专业的案例来组织和 实施教学(如判断烃类别程序、处理酸碱中和滴定实验数据 等),通过案例讲解程序设计的思想和方法、引出知识点, 使用多种方法(如Flash)进行深入地讲解,针对程序 设计知识模块采取如下教学方式:提出有意义的问题→抽象 并设计算法→关注度分离并分析算法特点→编写程序→介 绍使用到的语言成分→配合讲述大量例题→课后习题。
(3)课程中贯穿培养计算思维能力的研究我们把计算思维 的知识融入课程中,并贯穿于教学大纲。图2为程序设计公 共课群中计算思维培养导向图。该培养导向图在程序设计语 言和MATLAB语言学习中均使用。教学针对化工学科程 序设计课群中各课程共性的内容展开:①类型、输入输出、 程序结构等冗余、约简、转化类型、规则、启发等:输入输 出的冗余、分段取值的约简问题、问题的转化、各种类型的 关系和启发、各种规则的定义等。②数组、函数、查询、排 序、数据处理、优化模型等递归、嵌入、折中、纠错、转化、 类型、规则等:多种问题的递归、DLL的嵌入、多种排序 的折中、校验的纠错、问题的转化、规则的制订等。经过初 级计算思维的学习,学生对于计算思维有了一定的认识。在 此基础上,针对该部分内容,我们主要讲述如何使用计算机 共性的知识,比如计算思维的20个概念要点(包括计算、通信、协调、自动化、设计、约简、嵌入、转化、仿真、递 归、并行、抽象、分解、保护、冗余、容错、纠错、系统恢 复、启发式、调度)。具体讲解时,针对不同的对象教学上 有所侧重。如在化工学科卓越工程师班级的大学计算机基础 课程中讲解计算思维概念,但程序设计课程中可以讲解计算、 通信、协调、自动化、设计、约简、嵌入、转化、仿真、递 归、并行、抽象、分解、保护、冗余。再如化工学院非卓越 工程师班级,其大学计算机基础课程中也要讲计算思维的概 念,而程序设计课群中可少讲一些计算思维的知识点及其应 用例子,以方便学生消化。总而言之,程序设计课程中关于 计算思维能力的培养,要讲解程序设计基本思想,针对C语 言,少讲输入输出细节,指针等可以更少讲,将时间集中在 MATLAB的教学上,主要讲解程序设计理念和计算思维 的本质(如递归、问题转化、嵌入、约简、分解及程序设计 三大结构)。同时,在程序设计课程中,我们采取了“讲解 (Instruct)―阅读文献(Literature review)―反思(Reflection)―运用(P ractice)―反馈(Feedback)”这样一个 (ILRPF)教学过程。我们首先讲解计算思维的理念(I n-struct),要求学生阅读关于计算思维的一些国 内外文献资料(Literature review), 然后要求学生针对每个章节的知识点,列举出其关于计算思 维的理解和反思(Reflection),接着要求学生列举其在现实生活中的运用(Practice),最后把 理解形成文字,作为一个作业提交(Feedback)。
教师可以通过课程教学平台的后台管理功能了解学生的所 有活动。当然,针对理工科学生的教学方法与细化优势学科 的培养方法,二者是不矛盾的,都是在加强计算思维能力培 养。细化优势学科的计算思维培养更加侧重专业的应用。其 中的实践运用环节(Practice)鼓励有兴趣的学生 进一步提交自己设计的大作业,然后参加学校的创新实践和 各级计算机大赛。(4)实践教学的内容组织课程实验与课 堂讲授内容同步,形成配套的实验训练单元,鼓励学生从第 一周开始练习编程。课程实验的主要目的是使学生通过训练, 加深对某个知识点的理解,实验题目的规模不求大,包括程 序跟踪、程序改错、编程、大型框架式程序、MATLAB 编写的系统和计算思维训练实例等多种类型,从多角度培养 学生的编程能力。实验通过结合本专业的大作业实践活动, 进一步培养学生的程序设计能力、计算思维能力和进行初步 团队合作的能力。教学中最后一个实验是一个大的实验,提 出了框架式程序的概念,设计了点名系统、身份证号码系统、 蒸馏塔实验模拟系统和一些简单的计算问题(单循环迭代收 敛)等。这些框架式程序的特点是大框架已经调试好,学生 只要往里面添加合适的内容就可以完成作业。完成这种实验 让学生非常有成就感。同时,我们还加强了MATLAB中 部分实验的应用性,如其在优化方面的应用性。3.面向化工学科的专业相关技术课群计算中心专门为化工学院开设 了一系列具有化工特色的选修课程,以缩小学生计算机应用 能力与后续课程要求的能力之间的差距。开设课程包括网络 技术与应用、多媒体技术与应用、MAT-LAB与并行计 算、软件工程与应用。这是经过多30基于计算思维和创新 实践的化工学科计算机教学的研究和建设次调研后确定下 来的。网络技术与应用可以解决各种网络问题和安全问题, 多媒体技术与应用可以实现一些化工模拟的可视化,MAT LAB与并行计算可以加强学生对专业知识的掌握,软件工 程与应用可以使学生学会从软件工程角度出发选择化工学 科中各种实验软件的方法。在这些课程的教学中,计算思维 的方法始终贯穿其中,如问题的转化、系统容错、仿真等, 老师会根据实际问题对学生进行计算思维的培养。
(二)依托多层实践基地,优化对象间关系,构建计算 思维和创新能力培养方法 我们依托多层基地,构建了计算思维和创新能力培养体 系,如图3所示。第一层次是大作业课程综合训练,学生自 由组合,2~3人组成一组,初步完成与本专业结合的作业, 教师根据完成情况引导他们进入实践活动平台中。在每学年 3~4月份,中心会开设专题讲座,公布17个与程序设计 有关的题目;
学生在4月份根据讲座内容和实践专题内容, 网上报名选择专题和老师,进行实践,接受教师指导,6月 份做出作品。此后,教师积极引导学生进入下一阶段的创新实践中。第二层次,教师依托大学生创新实践活动实验室的 7个子基地,对学生进行针对性的培养,注重学生计算思维 能力的训练,一定要让学生知道针对具体项目,计算机是采 取何种方式解决问题的,培养学生计算思维的概念。同时中 心针对化工学科专门开设了并行计算实验课程,进一步提高 学生的计算机应用能力。第三层次,教师依托大学生创新实 践科研团队的力量,选择好的学生参加与科研相关的实践活 动。在ACM的实例和队员辅助下,教学要逐步求精,精讲 计算思维,反复强调,逐步培养学生的计算思维。第四层次 (竞赛层次),中心组织学生参加各级计算机竞赛,包括市 级和国家级的竞赛,通过实践指导和竞赛的方式,进一步培 养学生的计算思维和创新能力。在创新实践指导过程中,指 导教师、学生和实验室工作人员联动可以取得理想的效果。
三者相辅相成,互相支撑,缺了一方,都不能取得好的成绩, 也无法贯彻学校关于创新实践的方针。计算机教学实验中心 有多个实践基地,包括科研团队入驻奉贤基地、大学生创新 实践活动实验室的7个子基地、教务处指导的计算中心创新 实践基地等,这些都需要实验室教师的配合和管理。根据我 校计算中心的实际情况,我们明确了三者之间的关系:实验 室工作人员管好设备,优化环境,指导教师指导学生实践(特 别是与化工学院教师联合指导),学生获取知识。由此我们 提出了项目驱动创新实践项目方式,即指导教师带领学生参 与创新实践,向负责管理基地机房的实验室工作人员提出申请,同时报给实验室管理人员。
(三)多元评价方法与质量监控体系建设 大学计算机基础和程序设计课群是化工学科学生必修 的计算机课程。根据计算思维驱动的“目标―内容”二维模 型(简称CT-CDT模型),并结合我校化工学科学生小 班教学的特色和学生入校素质高的特点,我们在教学中强调 激发学生的学习自主性,采用内省式教学(Reflect ion)策略,即学生自评(Self Assessme nt)和小组互评(PeerAssessment)的方 法(如图4所示),针对每章和计算思维概念相关的最重要 的知识点,评价学生自主设计的案例。在学习过程中,质量 保证和评价环节很重要。在教学方面,我们每月组织3次以 上的教学和实验室研讨会,来保证学生掌握计算思维的知识 并解决创新实践中出现的问题;
邀请ACM队员辅导学生的 创新实践;
联合化工学科名师听课、教师互听、单位领导听 课,来分析该课群具体实施情况和学生评测情况。上述综合 措施用来保证质量。评价方面,我们建立了教授责任制,责 任教授组成一个团队,共同完成该课群评价体系建设。他们 会根据学生作业情况、大作业情况、实验情况、创新实践情 况、评测情况,来评价课题实施效果。此外,教学模式在实 施中,还要研究多个实践基地联动(化工学科的基地和信息 学院计算中心的基地)、信息教学平台等问题。
二、结论化工学科的计算机课程教学改革是一个值得深入探讨 的课题。不仅教学内容要适应计算机技术的发展需求,教学 模式也应做相应的改革。课程内容的设置不仅要考虑计算机 技术在化工学科的实际运用情况,还要考虑是否同化工学科 的整体教学目标相一致,以避免课程仅仅单纯向化工学科学 生传授计算机技术。因此,我们提出了以计算思维能力培养 为导向的适合化工学科的计算机教学模式。对化工学院学生 的教学创新实践成果分析证明此教学模式是合理有效的。但 是每一种模式都有两面性,实施过程中还需教师根据本校的 实际情况量体裁衣,因地制宜,才能收到好的效果。