APP下载

基于CDIO模式的Python程序设计课程教学设计研究

2024-05-19荆东星

电脑知识与技术 2024年7期
关键词:课程教学

荆东星

摘要:目前在Python程序设计课程教学中存在的主要问题是以知识点为中心,教师讲授,学生被动接受知识,缺乏对学生工程实践能力的培养。为了解决以上问题,提出基于 CDIO模式的 Python程序設计课程教学设计研究,以项目为载体,以能力培养为核心,以综合素质培养为目标。构建了基于 CDIO模式的 Python程序设计课程教学设计模型,并结合理论知识和工程实践能力两个维度进行课程设计。通过实践验证,该课程能提高学生的工程实践能力、团队合作能力和解决问题的能力。

关键词:CDIO;Python;课程教学

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

文章编号:1009-3044(2024)07-0134-03

开放科学(资源服务)标识码(OSID)

0 引言

在工程教育领域,CDIO模式是由美国麻省理工学院的著名教授提出的一种全新的工程教育理念,该模式强调学生学习过程中的参与感,培养学生解决复杂问题的能力,对工程教育改革产生了重大影响。它包括构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)四个阶段[1],强调将工程实际问题转化为工程项目,引导学生由理论学习向实践应用过渡。该模式将能力培养贯穿于整个教育过程,实现了从“教”到“学”再到“做”的转变。

基于 CDIO模式的 Python程序设计课程教学改革主要是围绕如何培养学生解决实际工程问题的能力展开,通过将 CDIO模式与 Python课程的教学内容和教学方法相结合,帮助学生掌握计算机编程在实际中的应用[2],增强学生对计算机程序设计课程的学习兴趣。

1 Python程序设计课程教学现状分析

在传统的教学模式中,学生学习 Python语言时,采用的是以知识为中心的教学模式,教师传授知识,学生被动接受知识,在学习过程中容易出现“重理论、轻实践”现象[3]。通过使用CDIO模式进行教学改革,学生不仅能够掌握理论知识和技能,而且能够培养创新意识、团队合作精神、实践动手能力和解决实际问题的能力。

1.1 教学内容陈旧

由于 Python语言是一门新兴的编程语言,语法与C语言、Java语言等传统编程语言有很大不同,在教学过程中,教师如不及时更新教学内容,将导致学生在学习时存在一定难度[4]; 传统计算机教育注重“计算机操作”“计算机组成原理”等基础课程的教学,对“算法”“数据结构”等高级课程重视不够,导致很多学生对 Python语言的应用场景和发展前景认识不清,将其仅看作一门高级语言,忽视了 Python语言也是一门具有完整结构和程序设计思想的编程语言。

1.2 实践教学环节薄弱

目前,在高校 Python程序设计课程教学过程中,往往是通过课堂上教师对知识点的讲解,让学生掌握知识,学生被动接受知识。但是,在实际应用过程中,学生的编程能力欠缺。在实践教学中,学生必须掌握 Python语言的语法和编程规则,才能编写出高质量的程序。但目前高校 Python程序设计课程教学过程中,忽视了对学生实践能力的培养。在实际应用过程中,学生往往要花费大量时间来进行调试和修改程序。

1.3 考核评价机制不完善

目前,很多高校对 Python程序设计课程的考核评价机制不完善[5],主要表现在:

1) 没有科学地制定考核评价指标,如考核形式单一、考核内容不全面等。

2) 考核方法过于单一,考核方式主要以笔试为主,而笔试是最直观、最便捷的方式,这种考试方式缺乏灵活性、启发性和创新性。

3) 在对学生的成绩评定时,主要根据笔试成绩和平时表现来确定,缺少综合评定。

4) 在学生完成实验项目后,没有对学生的实验情况进行评价。这种评价机制不能全面地反映学生的综合能力和学习效果。

2 构建 CDIO模式下的课程教学应用模型

本文构建了基于 CDIO模式的 Python程序设计课程教学设计模型,该模型包括知识教学、能力培养、素质培养三个维度。

知识教学包括:

1)  Python基础知识,主要介绍 Python的基础知识以及常见的编译器。

2)  编程基础,主要介绍 Python的编程语言、基本语法及常用数据类型。

3)  编程实践,主要介绍 Python的实践课程,如模块化程序设计、数据库编程等。

能力培养包括:

1) 团队合作能力,主要是在课堂上和课外的团队合作项目。

2) 自主学习能力,主要是在课堂上和课外的自主学习项目。

3) 创新能力,主要是在课堂上和课外的创新项目。

2.1 知识教学

在知识教学中,采用了 CDIO工程教育模式,以学生为中心,以项目为载体,将知识教学与能力培养相结合,知识教学各个环节都贯穿着 CDIO工程教育模式。首先,在课堂上讲解 Python的基础知识及常用编译器的使用时,采用“老师演示+学生操作”的方法[6]。老师先讲解并演示 Python语言的基本语法的用法,然后让学生操作,并给出相应的结果。在演示过程中,教师将问题进行分解,引导学生从简单到复杂、由易到难逐步深入学习。其次,在项目的实施过程中,教师引导学生学会分析问题、解决问题。在分析问题时,先引导学生对问题进行分解,然后根据分解后的问题提出相应的解决方法;在解决问题时,学生先自行查阅资料、阅读代码等方法进行代码实现。最后,教师进行总结。

在此环节中,教师不断地对学生进行指导和提示,帮助学生找到解决问题的思路。在项目完成之后,让学生利用所学知识编写程序,教师给出题目要求及步骤要求等,学生在完成项目之后将自己编写的程序提交给教师进行最终成绩评估。

2.2 能力培养

在CDIO模式下,学生是学习的主体,教师是主导。教师要充分利用教材的内容,尽可能将相关知识融入课堂教学中。每节课以组为单位进行项目开发,每组制定好开发方案,并充分利用网络资源,与其他小组进行协作交流。教师要指导学生充分利用好图书馆、网络等资源进行自主学习,积极参与课堂讨论。在学生的自主学习过程中,教师要加强监督与引导,并根据实际情况进行适当调整。教师可以采用分组竞赛、作业布置等形式调动学生的积极性和主动性。此外,教师可以组织开展各类创新竞赛活动,如大学生软件设计大赛、大学生程序设计大赛、“互联网+”大学生创新创业大赛等。

2.3 素质培养

素质培养主要从学生的个性特征、知识结构、心理素质等方面进行考虑。在编程实践中,学生需自主学习、自我管理,不能依赖老师,这就需要学生具备自主学习能力。在课堂教学中,老师需要对学生的学习过程进行引导,帮助他们形成良好的自主学习习惯和自学能力。教师利用问题引导学生进行编程实践。例如,在 Python编程实践中,教师可以设置一些有难度的问题,让学生进行自主学习和解决问题。这样可以提高学生的学习兴趣,培养他们的自学能力。

此外,在 Python课程实践中,教师应为学生创造更多自主学习的机会。教师可以利用图书馆、网络等资源,为学生提供自主学习的机会。

3 课程设计

本学期这门课程的总学时为108,从第 1 周至第 18 周。结合 CDIO 教学模式,将实施过程分为几个阶段:第1-5 周构思阶段1)分析程序项目;2)编写程序概要;3)设计实验方案;4)编写实验脚本;5)实验过程管理,包括实验前准备、实验过程中的管理、实验结束后的总结与评价。

第6-10周设计阶段:1) 编写程序设计方案;2)设计程序框图;3)编写调试程序;4)實验前的准备工作,包括实验环境的设置、实验前的准备、实验过程中的管理;5)实验结束后的总结与评价。

第11-15周实施阶段本阶段的任务是使用 Python语言编写电子商务网站,系统功能包括登录、注册、购买、查看商品信息、付款、浏览商品和订单管理等。学生根据自己的理解设计网站,通过项目任务书的形式完成网站开发,学生需要自主学习电子商务网站的开发和应用,可以独立完成电子商务网站的开发和应用,并在教师指导下编写项目文档,在此过程中教师对学生进行指导和答疑。

第16-18周运行阶段:包括调试运行环境、调试程序框图、调试运行过程中的管理、调试结果与评价,以及实验结束后的总结与评价。

该阶段的考核方式分为以下几个方面:

1) 学生自评:首先,学生根据自己的理解设计完成项目后,对整个项目进行自我评估,包括项目需求分析、程序设计与实现、功能测试等环节;然后,教师根据学生自评情况给出评分。

2) 学生互评:教师根据学生自评和小组互评情况,对每个小组进行评分。

3) 教师评价:教师对每个小组的评分结果进行统计,给出最终的评分结果。

通过以上环节,完成了本学期 Python程序设计课程的学习任务。在项目开发过程中,通过项目驱动法和 CDIO教学法相结合,采用边做边学边用边做的方式展开教学。在整个过程中,学生不断发现问题、解决问题和学习新知识,同时在 CDIO教学法中通过团队协作完成项目开发和设计,将理论知识运用到实际项目中去,通过项目驱动法让学生在实践中掌握所学知识。这种学习方式使学生能够学以致用,并能提高学生分析和解决问题的能力。

4 课程实施效果分析

以Python程序设计课程为例,进行基于 CDIO模式的课程设计。通过对最后综合评价,得出下列结果:超过一半的学生认为通过该课程的学习,他们不仅掌握了基本的编程技术,而且学会了如何解决实际问题。其中,有38%的学生认为,通过该课程的学习,能更好地掌握编程语言,并能够根据项目要求进行创新和设计。同时,有19%的学生认为通过该课程的学习,能掌握一定的编程方法,并具有良好的工程素养。这表明,学生们能够掌握编程技术并将其应用到实际项目中。

结合课程改革实施效果和课程建设情况进行总结如下:1) 提升了教学效果;2) 激发了学生学习兴趣;3) 提高了学生编程能力、创新能力和团队合作能力;4) 促进了教师专业成长。

4.1 提升了教学效果

1) 通过基于 CDIO模式的教学改革,学生掌握了程序设计思想、原理及编程语言,培养了工程素养和团队合作精神。同时,由于项目的设计及实施都在学校完成,学生从课堂走向现实,感受到了真实项目的开发过程。通过基于 CDIO模式的教学改革,学生对实际工程问题的解决有了更深刻的理解和认识。

2) 在课程设计上,突出了知识体系与工程实践的紧密结合。例如,在讲解 Python基本语法时,突出了 Python与其他编程语言之间的差异和互补性;在讲解 Python与其他语言之间的区别时,突出了 Python与其他编程语言之间的差异和互补性。

3) 在教学评价上,采用项目式学习方式。学生以小组为单位完成项目任务,根据 CDIO教学理念和要求,以项目成果为导向,以过程考核为主来评价学生在整个学习过程中的表现。

4.2 激发了学生学习兴趣

Python作为一种适合人工智能开发的语言,其发展趋势十分迅猛,它不仅可以帮助学生进行学习,而且还可以帮助学生进行兴趣爱好的培养。以Python程序设计课程设计为例,将课堂内容与学生的兴趣爱好相结合,提出符合学生需求的任务,从而提高了学生学习的主动性。通过基于 CDIO模式的教学改革,采用了多种教学方法和手段,包括课堂讲授、课堂互动、课后辅导、实验实训等多种方式。教师根据课程内容将学习任务和编程知识融入项目中,让学生在完成项目的过程中学习编程知识。在教学过程中,教师与学生进行互动交流,在实践过程中增强了学生的编程意识,从而激发了学生的学习兴趣。此外,还在课堂上增设了趣味性较强的小游戏或小程序来帮助学生记忆知识点。这种生动有趣的教学方式也极大地激发了学生的学习兴趣。同时,为了鼓励学生积极参与到项目开发过程中去,还提出了与课程相关的各种奖项。这些措施都有效地激发了学生对Python程序设计课程的学习兴趣。

4.3 提高了学生编程能力、创新能力和团队合作能力

课程教学中,将 CDIO工程教育理念和模式引入课程改革,提高了学生的编程能力、创新能力和团队合作能力。在實际教学中,结合项目任务的引导,让学生不断思考、探索、实践,促使学生掌握基本的编程方法。学生在项目中完成任务时,需要自己选择程序的实现方法、逻辑结构和运行流程。在此过程中,通过不断地尝试和反复练习,培养了学生自主思考和分析问题的能力。同时,学生还会借助团队合作模式完成项目任务,从而培养了学生的团队合作精神。例如,在进行项目开发时,首先需要小组成员共同协商项目任务和所需完成的子任务。然后小组成员利用各自所学知识进行分工协作完成任务。在这个过程中,学生不仅可以相互沟通交流、相互合作,还可以培养团队协作能力、沟通交流能力和解决问题能力等综合能力。同时,还可以增强学生对问题的分析判断能力、自主学习能力、解决问题的能力和创新思维等综合能力。最后,将项目任务进行分解、细化并按时间完成。

5 结束语

Python作为工具来解决实际问题,对计算机专业学生提出了更高的要求。传统的教学方法和教学模式已经无法满足当代大学生的需求,开展基于 CDIO模式的 Python程序设计课程教学,能够培养学生理论联系实际、解决问题和团队合作精神、工程实践能力和综合素质等方面的能力。

参考文献:

[1] 蔡静颖.基于CDIO的C语言教学改革对学生应用能力的培养探究[J].电脑知识与技术,2020,16(28):105,119.

[2] 王健,刘惠子.基于开源项目的Python程序设计课程混合式教学模式设计[J].软件导刊,2023,22(2):166-171.

[3] 赖锦辉.“Python程序设计” 目标问题导向研讨式教学模式研究与实践[J].工业和信息化教育,2023(2):13-16.

[4] 张雪莲.以职业需求为导向的Python程序设计教学改革研究[J].计算机时代,2022(3):86-88,91.

[5] 谌裕勇.新工科背景下Python课程教学思路探索[J].信息系统工程,2022(10):149-152.

[6] 蔡晓丽,刘芝怡,孟祥莲.Python教学模式与方法的探索[J].电脑知识与技术,2022,18(31):118-121.

【通联编辑:王 力】

猜你喜欢

课程教学
会计专业课程教学国际化的探索性研究
高职物流专业“物流费用结算实务”课程开发研究
高职院校医学检验技术专业提高课程教学质量的探讨
《供应链管理》课程教学改革