以问题解决为导向的Python程序设计教学方法探讨

作者: 曾新 王梅良 李高权 张晓玲 李毅

关键词:Python程序设计;问题解决;教学方法;智能医学工程;多学科交叉

中图分类号:G642 文献标识码:A

文章编号:1009-3044(2024)25-0117-03

0 引言

智能医学工程结合了计算机、工程和医学等领域的知识,是一门非常重要且前沿的跨学科专业。智能医学工程专业的学生将学习医学、生物学、计算机科学和工程学等相关专业知识,并运用这些知识来了解智能医疗设备和开展基于人工智能的医药和生物研发等。该专业的学习内容涵盖了医学影像处理、医学数据分析、智能诊断与监测系统、医疗信息系统、生物信息数据处理和智能医药等方面的知识。智能医学工程专业的学生将通过学习各种先进技术和工具,如机器学习、人工智能和大数据分析等,来解决智能医疗设备、智能医药和智能生物等领域的复杂问题。

随着人工智能、机器学习和大数据分析的兴起,Python 程序设计已经成为人们掌握编程的首选语言[1]。相比其他语言,Python程序设计具有许多优点:免费开源、语法简单、强大的第三方库和移植性强等[2-3]。作为智能医学工程专业的基础课程之一,Py⁃thon程序设计的教学效果没有达到预期。为了提升Python程序设计的教学效果,许多学者根据个人的教学经验提出了大量先进的Python程序设计教学方法,例如项目驱动法[4-8]、趣味案例法[9-12]、线上线下混合法[13-16]和问题驱动法[17]等。尽管这些教学方法均取得了较好的教学效果,但是直接将这些方法用于对智能医学工程专业的学生进行Python程序设计课程的教学,可能无法达到预期的效果。因此,本文针对智能医学工程专业Python程序设计课程教学存在的问题,提出了以问题解决为导向的Python程序设计教学方法。该方法具有专业针对性,能够为智能医学工程专业Python程序设计课程授课教师提供参考,从而为智能医学工程专业培养更多创新型人才。

1 教学现状

1.1 教学方法陈旧,缺乏专业针对性

Python程序设计课程作为智能医学工程专业的基础课之一,其授课教师大多来自计算机学院,这些教师主要依赖教材,并采用“满堂灌”、案例分析法以及线上线下混合教学等方式传授Python的理论知识。在实验课程中,主要采用“一讲一练”的验证性教学方法。然而,这些教学方法所涉及的智能医学工程专业内容较少,难以与学生形成有效的互动和激发学生的学习兴趣,且不符合智能医学工程专业学生的实际需求。更为严重的是,教师沿用计算机专业的教学流程和内容,未能对智能医学工程专业学生的需求做出有效调整。大纲、教案和实验内容与计算机专业的学生相差不大,缺乏对智能医学工程专业学生的教学针对性,教学效果难以提升。

1.2 学生基础薄弱,缺乏主观能动性

智能医学工程专业的学生在学习初期,会更多接触到工程和医学方面的基础知识,对计算机的基础知识了解相对较少,计算机基础稍显薄弱。此外,计算机学院的授课教师更注重讲授Python程序设计课程的基础语法、编程技巧以及问题解决方法,很少深入分析Python程序设计在智能医疗设备、智能医药和智能生物等与智能医学工程专业密切相关的领域的应用案例。这将导致智能医学工程专业的学生难以理解Python程序设计课程在智能医学工程专业中的重要作用,无法将所学课程与专业实际问题联系起来,缺乏学习Python程序设计的积极性。

1.3 实验案例与专业脱节,解决问题的驱动力不足

Python程序设计课程的实验案例,通常用于巩固学生的基础知识。授课教师会选择一些经典案例让学生练习,提升他们的动手能力。例如,在讲解while 循环时,可能会将求100以内奇数或偶数之和作为经典案例。尽管这些经典案例,对于学生巩固Python程序设计的基础知识和动手能力有着积极作用,但学生学习Python程序设计的主要目的是为了解决学习中遇到的实际问题。因此,仅仅使用经典实验案例可能会导致他们难以将所学的知识运用到自己的专业领域,从而缺乏足够的驱动力应用Python程序设计解决实际问题。

1.4 项目经验匮乏,科研创新能力不足

智能医学工程专业的学生通常会在专业导师的指导下参与一些项目,这些项目涉及智能医疗设备、智能医药和智能生物等领域的科研问题。基于计算机辅助方法,学生可以利用Python程序设计来解决这些问题,并逐步参与专业导师的项目中,积累项目经验,提升自身的科研创新能力。然而,现实情况是专业导师希望学生能够迅速融入项目,预处理数据、分析和可视化数据等,但由于学生对Python程序设计知识掌握不足,他们并不清楚如何利用Python来解决专业导师的问题,导致学生的参与度不高,并逐步放弃科研项目,难以积累项目经验和提升科研创新能力。

1.5 理论考试为主,考核体系与实际问题解决脱节

智能医学工程专业的Python程序设计课程采用以期末考试为主、考勤和实验为辅的考核体系。其中,期末考试成绩占总成绩的70%,而考勤和实验等其他条目占比30%。然而,这样的考核体系导致大多数学生在授课期间,并不注重对Python程序设计基础知识的学习和编程能力的培养。为了应对期末考试,他们往往将注意力集中在期末考试前几天,通过“死记硬背”的方式掌握一些基础知识,而没有将Python 程序设计作为解决智能医疗设备、智能医药和智能生物等领域问题的有力工具进行系统学习。由于考核体系与实际问题解决存在严重脱节,这种情况难以培养出动手能力强且具备科研创新能力的人才。

2 以问题解决为导向的Python程序设计教学方法

2.1 联合制定Python程序设计课程大纲和教案

智能医学工程专业的Python程序设计课程的授课教师主要来自具有计算机背景的专业教师,但他们大多数不具备医疗设备、医药和生物等领域的专业知识。为了更好地满足课程教学的实际需求,Python程序设计课程授课教师应联合智能医学工程专业的医疗设备、医药和生物等领域的教师,共同制定Python 程序设计课程大纲和教案。根据专业教师所提供的基础知识和问题,合理制定Python程序设计课程的授课案例、综合项目和科研内容,并以问题解决为导向来讲解Python程序设计课程的相关内容。这样的授课方式将更加贴近专业实际,激发学生的学习兴趣和学习主动性,同时学生也能够顺利参与专业导师的科研课题,积累项目经验,提升自己的科研创新能力。

2.2 带着问题在线学习Python程序设计基础知识

Python程序设计是目前大多数高校非计算机专业学生学习编程的首选课程。然而,学生在规定的学时内难以完全掌握Python程序设计的知识点。为此,可以结合目前较流行的在线学习平台MOOC[19],采用混合式教学模式来提高Python程序设计的学习效果。首先,在课前,授课教师可以向学生发放与智能医学工程专业内容相关的问题,要求学生利用下一节课的Python 程序设计基础知识来解决。随后,让学生在MOOC平台自学由北京理工大学嵩天教授主持讲解的《Python语言程序设计》国家精品课程的相关知识点,并利用自学的知识解决授课教师发放的专业问题。学生将编写的程序结果发送给授课教师的助教。最后,在线下授课前,授课教师根据助教的反馈,适时调整教学内容。这种混合式教学模式可以更好地满足学生的学习需求和提高学习效果,让学生以问题解决为导向充分掌握Python程序设计的基础知识,并逐步理解Python程序设计解决专业问题的方法。

2.3 以解决专业问题为导向的课堂和实验教学

Python程序设计课程的授课教师,将根据学生在线学习情况,安排线下教学。首先,授课教师对课前布置的任务进行讲解,结合本节课的基础知识点,详细解释如何利用这些知识点来解决布置的任务。这样可以帮助学生更好地理解和掌握Python程序设计的基础知识,以及如何将其应用于实际问题中。随后,以难度更高的专业问题为课堂案例,给学生深入讲解本节课的Python程序设计的知识点如何解决这些专业问题,让学生在解决专业问题当中掌握Python 程序设计的基础知识点和在本专业中的应用。最后,在实验教学中,授课教师将结合智能医学工程专业学生的专业知识,布置实验内容,手把手地指导学生利用Python程序设计知识解决他们专业课程中遇到的问题,从而进一步巩固所学的Python程序设计知识,提升学生的动手能力和解决专业问题的能力。

2.4 以解决专业综合问题为驱动的课后作业

为了巩固和扩展学生对Python程序设计知识的学习,布置课后作业是非常重要的环节。授课教师需要设计课后作业,旨在解决学生面临的专业问题,并且作业内容不仅限于当前的课堂教学内容,而是应涵盖之前所学过的所有知识点。授课教师应与学生的专业导师合作,共同制定一系列专业综合题为课后作业。这些综合性的作业,将为学生参与导师的项目奠定坚实基础。

2.5 以学科竞赛为导向的团队协作能力提升

在学习Python程序设计的过程中,课前、课中和课后的学习,仅是为了帮助学生全面掌握基础知识和解决简单问题的能力。然而,有些学生可能限于学校环境,只涉及较为狭窄的知识范围。部分同学在任务中表现出色,可能会误以为已经具备了优秀的编程能力和项目经验,这会对他们未来深入学习造成误导。为了引导学生认识到学无止境,我们应当鼓励他们积极参与各类竞赛,如生物信息数据分析、药物分子筛选、智能医疗设备操作等。竞赛经历可以为学生提供实践锻炼的机会,让他们将所学知识应用到实际问题中,并与其他同学交流学习。这种全方位的学习方式,不仅可以提升学生的编程技能和解决问题的能力,还能够培养他们的团队合作意识和创新思维。

2.6 以解决前沿科研问题为驱动的科研能力提升

随着Python程序设计课程接近尾声,智能医学工程专业的学生已经具备了利用Python程序设计解决智能医疗设备操作、智能医药和智能生物研发等领域基础问题的能力。此时,学生可以正式与专业导师建立联系。通过利用Python程序设计的基础知识,学生可以帮导师完成数据收集、数据预处理、数据分析及可视化等任务,并利用一些专业库,如Sklearn(机器学习库)和ProDy(生物信息处理库)为导师的科学研究提供计算机辅助方法,为下一步进行湿实验提供数据支撑。这种以解决前沿科研问题为驱动的教学方法,不仅能够让学生参与专业导师的科研当中,为导师解决科研问题,而且能够提升学生的科研能力,为未来的职业发展打下坚实的基础。

2.7 以问题解决能力作为考核体系的核心

以问题解决为导向的Python程序设计教学方法的考核体系已从以期末理论考试为主转变为以问题解决能力作为核心评价指标。在Python程序设计课程的期末考核阶段,授课教师与专业导师合作,共同商讨出智能医疗设备应用、智能医药和智能生物等领域的综合考核题。学生可以自主选择几道题目作为期末考核内容,并在规定的期限内提供解决方案、代码和结果。授课教师将与专业导师联合对学生的考核结果进行打分。这种以问题解决能力为评价考核体系核心的期末考核方式,有效提升了学生的编程能力和问题解决能力。同时,它有助于学生对未来的科研或就业方向的思考,并驱动他们在自己热爱的领域深入研究。

3 以问题为导向的Python程序设计教学方法的教学效果及反思分析

以问题为导向的Python程序设计教学方法在培养学生动手能力、解决问题能力和科研能力等方面取得了较好的效果,为培养智能医学工程专业紧跟时代发展的创新人才奠定了基础。然而,在教学过程中仍存在一些急需解决的问题:1) 授课教师工作量大,而学生的学习任务重;2) 仍存在小部分的学生掉队和放弃的情况;3) 经常联合智能医学工程专业导师探讨教学、实验和科学案例,难度较大。经过智能医学工程专业Python程序设计课程授课教师的不断总结、反思,为应对这些问题提出了一些解决方案:1) 可以考虑选拔研究生作为自己的助教,帮助处理教学事务;2) 可以采取学生组队的方式来完成教师交给的任务,以此来促进学生之间的互相协作和合作精神;3) 可以与专业导师指定的助教联合制定Python程序设计课程的教学案例和综合项目案例。尽管这些解决方案能够勉强解决目前面临的困难,但是仍需要在实践中不断调整和完善。

4 总结

通过实施以问题解决为导向的Python程序设计教学方法,可以有效解决传统教学方法存在的弊端,使得Python程序设计能够真正成为智能医学工程专业学生解决智能医疗设备应用、智能医药和智能生物等领域问题的利器。这种教学方法注重培养学生的问题解决能力和创新思维,通过实际问题来引导学生学习编程,让他们在解决实际问题的过程中掌握Py⁃thon编程技能,从而在未来的智能医学工程实践中能够更加游刃有余地运用Python编程技能解决各种复杂问题。

总的来说,以问题解决为导向的Python程序设计教学方法将为智能医学工程专业的学生提供更加实用和有效的学习体验,使他们在面对智能医疗领域的挑战时能够胸有成竹,为行业发展贡献自己的力量。

上一篇 点击页面呼出菜单 下一篇