1. 化工专业学生计算机应用能力的现状
随着中国经济发展进入数字化时代,数字化转型已成为当前中国产业升级的急迫需求,而做好转型升级的根本是需要有合适的配套人才。没有人才的支撑,实现数字化转型就变成一句空洞的口号。当前数字化人才的培养主要集中在IT行业和计算机相关专业,化工专业很少被谈及。大多数研究关注数字化环境下教学方式的转变,很少关注如何培养学生的数字化能力,在操作层面上可供化工专业借鉴的案例几乎没有。
综合当前应用型本科化工类专业的编程教学,普遍存在以下一些制约因素:(1) 国内编程教育起点低和行动慢。(2) 国内大多数高校开设语言程序设计类课程,一般遵从计算机学科本身逻辑安排教学内容,不会涉及专业知识。(3) 很多化工专业开设了《计算机在化工中的应用》这类课程,但主要是简要介绍文献检索方法,文献管理软件Origin和Aspen等专业软件的使用[1]-[3]。(4) 学生学习编程课时,主要目的是为了考级,不是编程求解专业课程的问题。(5) 大多数教师不擅长编程,对学生的引导作用有限。(6) 大多数教务部门和师生对未来数字化时代的危机感不强。这些因素导致了学生编程能力普遍薄弱,绝大部分学生不会用编程来求解化工问题,因此化工专业的编程教育急需变革。
本文主要探讨数字化教学方式和编程语言选择对数字化能力培养的影响,剖析理工类课程、化工设计课程、自控类课程等如何与数字化融合,以及有机融入人工智能,其建设思路和措施对培养数字化能力有借鉴意义和参考价值。
2. 编程语言的选择
选择合适的编程语言,有助于降低学习编程者的难度。而编程者最基本的数字化能力就是编程能力,选择合适的编程语言,有助于降低数字化的难度。国内高校工科专业开设C语言较多,而美国高校工科专业开设Matlab较多。为了方便化工专业选择合适的编程语言,特将C语言,Matlab,Python和MS Office做简要分析对比。
C语言结合了高级语言易编程的特点与低级语言可底层操作的特性,既可编写结构性程序,又可像汇编语言一样对内存中位、字节和地址进行操作。因此常常被用来编写各种高级语言,过去又被称为“编程语言之母”。通过学习C语言可以深入理解编程原理和其他高级语言。因此很多高校主要讲授C语言,然而对很多初学者来说,对指针和内存管理之类概念的理解较为困难;同时C语言的库函数比较少,很多功能的实现都需要亲力亲为,很多高级语言几句话的事情,用C语言实现就需要折腾很长时间。对应用型非计算机专业的学生来说,学习编程语言目的是应用,而不是当“码农”,因此学习C语言的意愿普遍较低。
MATLAB接近数学语言,语法简单,函数丰富、含有40多个工具箱,最新版本还含有神经网络、机器学习、深度学习和强化学习等人工智能工具箱,不用关注内存分配等具体细节,可以让编程者把精力全部放在编程上,使得易于理解和上手,广泛用于科学与工程计算。其在化工学科中的应用已经远远超越了C语言。在中国知网上,以“C语言” + “化工”主题检索,相关文献仅20来篇,且发表时间久远,引用率也低;如果以“Matlab” + “化工”则检索出300余篇,且引用率较高。Matlab在化工仿真与模拟、教学与实验、数据处理、工具箱应用,以及混合编程等方面已有大量的应用案例[4] [5],BP神经网络也有了大量的应用案例[6]。尽管Matlab有上述诸多优点,但由于目前没有纳入二级考试范围,本科专业开设Matlab课程较少,学生往往需要通过自学。
Python的语法接近自然语言,简单易懂,也不用关注内存分配等具体细节,可以让编程者把精力全部放在编程上,使得易于理解和上手。由于大数据和机器学习的快速发展,Python已经广泛应用于人工智能等领域,但目前在化工化学中的应用例子较少,难于用于教学借鉴;然而随着人工智能在化工领域的应用,未来Python在化工化学教学中的应用将会逐渐增多。
MS Office的熟练应用是现代人才必备的办公技能之一,对学生的课业完成和职业发展都有影响。我校一些校友回访就指出地方高校毕业生Office应用能力与一流高校有明显差距,比如Word排版和格式,Excel计算功能和图表展示,PPT美化等功能,这些技能正对应于论文和标书、方案和规划和答辩展示等作品的质量。学生毕业后在全国专业技术人员计算机应用能力考试(即职称计算机考试)中也是有用的。
综上所述,考虑到计算机等级考试和实用性,对于化工专业来说,可组合开设office (考一级) + Matlab (目前无法考级) + Python (考二级),将Matlab确立为本科中低年级的核心教学工具,用于打下坚实的工程计算基础。同时,在高年级选修课、毕业设计或学科竞赛中引入Python,重点展示其在人工智能、大数据分析及与工业互联网平台交互方面的应用,为学生面向未来的职业发展打开窗口。
3. 课程体系的深度融合
尽管很多学校开设了《计算机在化工中的应用》这类课程,但仅简要介绍文献检索方法,文献管理软件、Origin、Matlab、Aspen等内容,与专业课程融合程度并不高。对于学习积极主动的学生,有一定的引导作用;但对于主动性不强的学生来说,计算机应用能力提升并不多。如何将学生计算机能力与课程紧密结合,这里提供一些可参考的做法:
对《高等数学》《线性代数》《概率论与数理统计》《大学物理》和《电工电子》等基础课程,应积极与Matlab结合进行编程实验,教学案例可在《高等数学及其MATLAB实现》《线性代数实践及MATLAB入门》《概率论与数理统计及其MATLAB实现》《MATLAB可视化大学物理学》《MATLAB及其在理工课程中的应用指南》《电工学的MATLAB实践》《MATLAB仿真及电子信息应用》《MATLAB及在电子信息课程中的应用》和《化学化工的数学方法及Matlab实现》等专著中选取。对有条件的高校可将目前硕士阶段的数值分析课程前移到本科阶段,以便学生更好地理解和使用Matlab软件。
对于《无机化学》《有机化学》《分析化学》和《物理化学》等课程的实验项目安排,可以结合文献中的数字化案例,比如《物理化学》常见实验“电导法测定弱电解质的电离常数”就有Matlab编程的实例。对于《化工原理》《化工热力学》《分离工程》《反应工程》《化工自动化》《化工系统工程》《化工工艺》和《生物化工》等课程的教学案例,可以从《化学化工中的数学方法及MATLAB实现》《基于MATLAB的化工实验技术(汉–英)》《化工自动化实验及MATLAB仿真教程》《实用化工计算机模拟——MATLAB在化学工程中的应用》和《MATLAB生物化工计算与模拟》等专著和Matlab化工应用文献中选取。
在《化工热力学》《反应工程》《分离工程》等核心课程中,我校化工专业均开设8个学时的课内实验,强化与实验操作有关工程问题的编程和建模,培养学生数字化能力。比如《化工热力学》课程中,使用Matlab编程实现泡点(露点)的温度和压力计算;比如《分离工程》课程中,则用Aspen的DSTWU和REDFRAC模块分别实现塔器的简捷法和严格法计算,还可用Matlab实现塔器的BP法严格计算和编程[7],《反应工程》课程的实验开设有釜式反应器停留时间分布,则在《实用化工计算机模拟——Matlab在化学工程中的应用》一书中选取全混流CSTR的模拟案例;为提高反应工程教学质量,我们还结合反应工程课模设计竞赛进行反应器Comsol模拟实训。
《反应工程》课程的实验开设有釜式反应器停留时间分布,则在《实用化工计算机模拟——Matlab在化学工程中的应用》一书中选取全混流CSTR的模拟案例。为提高反应工程教学质量,我们还结合反应工程课模设计竞赛进行反应器Comsol模拟实训。
《化工机械设备》课程可与CAD和SW6软件融合教学。在《化工原理课程设计》中,可利用aspen辅助设计塔器和换热器设计,并结合SW6对设备强度校核。通过这种层层递进,课程间有机融合的方式,培养学生对数字化的敏感性,从能解决简单工程问题顺利过渡到能解决复杂工程问题,破解工程教育认证中的薄弱环节,也给化工设计课程的数字化做好知识和技能的储备。
《化工制图》可与CAD、Solidworks和3D打印融合教学。对于《无机化学》和《有机化学》,则可通过Chem office组件Chem draw表达常用的单质、化合物电子式、氧化还原反应电子转移、原子结构示意简图、物结构式和反应方程式,通过立体组件Chem 3D还可显示出有机物的三维立体图像,特别适合用于展示有机分子结构、探究同分异构体结构、分析有机分子原子共面和共线、获取有机分子重要数据等,提高学生对分子结构的理解能力和表达能力。
在《文献检索》课程中可强化Endnote和知网研学等文献软件的应用,强化查阅文献和收集文献的能力,并一劳永逸地克服了撰写科研论文和毕业论文的引文格式问题。
在《实验设计》规划与数据处理选修课中,实操实训正交设计和响应面设计软件,以及数据处理Origin和Excel等软件,在项目管理选修课中实操实训MS Project和亿图Project,以及思维导图软件Mind Manager和亿图图示[7]。
4. 人工智能与课程的深度融合
课程可将人工智能定位为赋能传统化工的强大工具,比如通过具体、可理解的案例来实现。
案例一:神经网络在过程控制中的应用
在《化工自动化》课程中,可引入一个简化的案例:基于历史数据,利用Python的Scikit-learn库训练一个前馈神经网络模型,用于预测一个精馏塔的关键产品质量指标。通过此案例,学生能直观理解监督学习在非线性系统建模中的应用,并与传统的PID控制模型进行对比,讨论其优劣。
案例二:遗传算法在反应器优化中的应用
在《化工系统工程》或反应工程拓展教学中,可以设置一个反应器操作条件优化的项目。给定一个复杂反应网络,其目标产物收率是多个温度、压力与浓度的非线性函数。引导学生使用MATLAB的全局优化工具箱或Python的DEAP库,编写遗传算法程序,寻找使目标函数最大化的最优操作条件。这一过程能让学生亲身实践高层数字化能力中的算法设计与应用。
通过这些案例,学生不仅能学习AI技术,更能培养一种“数智化”思维模式:即理解何时、以及如何运用智能算法来解决传统方法难以处理的复杂化工问题。
5. 从模仿编程到自主编程
由于MATLAB与线性代数和矩阵知识结合紧密,学生易看懂程序内容,实现从模仿编程到能力自主编程的转变,提高编程能力。
在大一大二时期,学生主要学习《高等数学》《线性代数》《大学物理》《无机化学》《分析化学》等基础课程,可以在参考书中选取有代表性的MATLAB例子,比如用MATLAB实现正态分布,让学生适当变换参数,模仿原代码自己实践一遍,并写出编程实验报告,初步了解编程程序,提升编程兴趣。
在大三大四时期,主要学习《化工原理》《分离工程》和《反应工程》等专业课程,已基本具备自主编程的能力。课堂教学中,老师可采用项目式教学方法,列出一些题目,让学生查阅相关文献,自主编程去解决一些实际问题。也可设计翻转教学,让同学们充分展示自己的编程成果。这样不仅深化了理论知识的理解,还对Redfrac模块的底层逻辑有所了解,避免了对Aspen的过度神化,增强了解决复杂工程问题的自信心。
通过全部课程的数字化渗透改革,学生从《大学数学》《大学物理》和四大化学等理科,到《化工原理》《化工热力学》《分离工程》和《反应工程》等工科,再到电工,电子,机械,仪表和自控等工程基础学科,都得到了数字化的熏陶和锻炼。不仅培养了学生的数字化意识,提高了编程能力,还扩展了知识接口,对终生学习和成长都有帮助。
6. 增加人工智能与专业的融合度
近两年来,人工智能已经渗入到各行各业,尤其是在教育行业。今年,国家教育部曾强调,人工智能要全过程、全方位、全要素融入到教育中,这充分体现了人工智能的重要性。对于高校化工专业教师和学生更是一个大的挑战。因此,高校化工专业可开设师–生–机三元学习结构,教师将人工智能深度融入教学过程,实质重构人机多主体交互模式。化工专业学生更加要努力学习人工智能,学习编程课程,培养数智化学习能力与人工智能协同的创新思维,从而开阔学生眼界,提升学生综合能力。
7. 挑战、局限性与对策
任何教学改革都面临现实约束,针对以上教学改革,可能面临较大的挑战。
挑战一:师资队伍知识结构转型困难
局限性:多数化工专业教师在其受教育阶段未接受系统的编程或AI训练,存在知识盲区与转型焦虑。
对策:实施“校内培训 + 外部引进”双轮驱动。组织系列工作坊,邀请计算机学科专家进行跨学科培训;同时,在绩效考核中认可教师在课程数字化改革上的投入,并积极引进具备交叉学科背景的青年人才。
挑战二:教学资源与学时压力
局限性:成熟的、适用于地方院校学情的案例库匮乏;在已饱和的课程体系中增容数字化内容面临巨大阻力。
对策:推行“整合优化”而非“简单叠加”。优先建设一个开源、共享的本土化教学案例库。在学时分配上,通过精简陈旧内容,将编程实践以“课内实验项目”的形式嵌入现有核心课程,实现“润物细无声”的融合。
挑战三:学生基础差异与学习动机管理
局限性:学生数理基础和接受能力差异显著,统一的教学要求可能导致两极分化。
对策:实施分层教学。设定“基础达标”与“能力拓展”两级目标,通过学科竞赛、开放实验项目和科研见习等方式,为学有余力的学生提供挑战性平台,形成“以赛促学、以研促教”的良性循环。
8. 结语
通过全部课程的数字化渗透改革,学生从《大学数学》《大学物理》和四大化学等理科,到《化工原理》《化工热力学》《分离工程》和《反应工程》等工科,再到电工,电子,机械,仪表和自控等工程基础学科,从课程到专业,都得到了数字化的熏陶和锻炼。实现了以MATLAB与Python的协同为工具链,以全程课程融合为载体,以人工智能案例为前沿引领,并以现实挑战的清醒认知为保障的系统性改革框架。不仅培养了学生的数字化意识,提高了编程能力,还扩展了知识接口,对终生学习和成长都有帮助。
NOTES
*通讯作者。