Python程序设计在应用型本科中的教学模式探索
许乔文
云南民族大学 云南省昆明 650504
一、引言
应用型本科教育首要任务是培养面向生产、管理和服务一线工作的、具有较强的实践能力和创新精神的应用型人才,程序设计能力是这种人才知识结构的核心内容之一,Python 因为上手简单、易学易懂、用途广泛(目前主要是Web 开发、数据分析、人工智能、科学计算、网络爬虫)等优势而被大家公认是适合于应用型本科程序设计课程的教学语言。
然而,当前很多高校都在使用传统模式进行Python 程序设计的教学,在课堂上多注重于向学生传授语法细节方面的知识,但往往忽略了对Python 语言的理解,结果便只能记住一些语法规则,却不能很好地应用于解决实际问题,导致出现“知行分离”现象。
二、当前应用型本科 Python 教学面临的主要问题
1.教学目标偏离应用导向:很多课程的教学目标还是偏向于让学生掌握Python 的语法规则,没有做到联系实际行业运用去教授相关内容。
2.教学内容陈旧,案例不够典型,书本和课堂上的教学案例都是“鸡兔同笼”、“斐波那契数列”这种经典的老问题,不能让学生真切地看到Python 在现实生活中的应用。
3.教学方法单调,学生主体地位缺乏体现,“教师讲,学生听”的填鸭式教学方式仍占主导地位,学生仅处于被动接受的地位。
4.实践教学环节的实践少,项目的训练不够多。没有形成一以贯之、规模适度的大项目。学生缺乏自始至终进行完整的软件开发生命周期的项目训练的机会。
5.考核形式过于单一,一般为期末进行笔试,考试考查学生的语法及理论知识等。无法全面、客观地衡量学生的实际编程能力、项目实践能力和持续学习能力。
三、面向应用型本科的 Python 教学模式构建结合本课题的问题,笔者提出了一种“项目驱动”的多维度综合教学模式。
(一)核心思想:项目驱动教学法
所谓项目驱动教学就是以一项或几项完整项目的任务作为中心线索,在教学过程中开展教学活动,让学生在完成项目的过程中自主地学习和掌握有关的知识。
1.真实性:项目的来源或者是可以完全模拟真实世界的需求。
2.层次性:按照由简入繁的原则安排项目的设计思路,把一个学期分为“基础小项目>模块化项目中项目>综合大项目”这样的三个阶段进行。
3.趣味性与挑战性:项目的主题要能吸引学生的兴趣,需要有一定难度。
(二)教学模式的具体实施路径
1.教学内容重构:将“语法章节”改为“应用
破除以往依据语法知识点编排的顺序,把教学内容按照下列各个应用模块重新整合。
(1)模块一:Python 基础以及数据自动化处理的课程,学习变量、数据类型、流程控制、函数、文件操作等内容,项目的任务是做“文本词频统计”,或者“自动整理电脑桌面文件”。
(2)模块二:数据获取及清洗,学习使用Requests、BeautifulSoup 等抓取技术,并且进行“网络爬虫抓取特定信息并存入 Excel”的项目训练。
(3)模块三:数据分析和数据可视化,学会使用NumPy、Pandas、Matplotlib 等库,项目任务是“某电商平台销售数据分析与图表生成”。
(4)模块四:入门Web 应用开发,学习Flask 或Django 的基础知识,项目任务:完成“开发一个简单的任务管理 Web 应用”。
运用模块化重组法,使语法知识在实际的应用环境中得到“无形”的吸收与内化。
2.教学方法创新:线上与线下混合式分层教学。
(1)线上环节(课前):借助MOOC、雨课堂等平台,把语法基础知识以及概念性的内容制作成微视频或文字性材料,让学生课前自主学习。
(2)线下环节(课中):在课堂上,采用“项目工作坊”,由教师引导、辅导的形式开展项目研讨、代码审阅、小组合作、难易度攻克等工作;
(4)分层教学实施:对学生的水平差异给予承认,给学有余力的学生安排“进阶任务”与“拓展阅读”,给基础薄弱的学生安排“基础巩固练习”与“一对一辅导”。
3.实践体系强化:贯穿始终的“三级项目”训练。
建立健全“基础综合创新”三级项目实践体系。
(1)一级(基础验证性项目):每个教学模块都要求学生独立完成。
(2)二级(课程综合性项目):在综合运用了前面所学知识的基础上完成,如“基于爬虫和数据分析的影评情感分析系统”,主要培养学生在此阶段能够掌握一定的系统设计能力,锻炼团队协作能力。
(3)三级(课外创新性项目):鼓励学生把课程项目与“大学生创新创业训练计划”、“中国大学生计算机设计大赛”等学科竞赛对接起来,培养学生创新创业意识和科学研究潜能。
4.考核评价改革:过程性的、多层次的综合评价方式。
(1)考勤 (10%) )
(2)平时表现 (15%) ):含有线上学习进度、课堂参与度以及提问讨论等事项。
(3)实验与项目 (25%) ):其核心考查的是:一级项目报告、代码(占 10%) );二级项目小组贡献、项目报告、代码质量、答辩情况(占 15%) 。
(4)期末考核 (50%) ):期末考核形式可改为“上机项目实战”。
四、教学模式实施的保障与挑战
(一)保障措施
1.师资队伍建设:要求教师们本身便要具有项目开发的经验,可以通过安排本校教师到企业里挂职锻炼。
2.教学资源建设:建立匹配新模式的教学资源;保证实验机房稳定的Python 开发环境。
3.平台技术支持:在线学习管理平台和代码托管平台(如Git)能够为开展混合式教学及项目协作提供条件。(二)面临的挑战
1.教师角色转型压力:教师要由“知识的传授者”转变成“学习的引导者和设计者”。
2.学生适应性挑战:让那些习惯于被填鸭式教育的学生产生探索性项目学习的兴趣会
3.项目管理的复杂性:小组项目中可能会出现“搭便车”的现象,要设计出更为精细的个人贡献度评价方式,例如:组内互评、代码提交日志分析等。
五、结论
对于应用型本科来说,除了有必要进行 Python 程序设计课程教学改革外,“教语法”已是将就,“育能力”才是真正目的。“项目驱动”的方式结合分层教学、线上线下相结合、多元化评价等举措,把教学重点由“教语法”彻底转变为“育能力”,尽管本文提出的课程教学模式有待完善,但由于契合了应用型人才的内在培养规律,因此能够在一定程度上提高应用型本科计算机基础教学质量。