利用Python语言赋能《大学计算机基础》课程教学探索
Exploration of Using Python Language to Assist Course Teaching of College Computer Fundamentals
摘要: 针对《大学计算机基础》课程知识面广、理论概念多且可操作性差等特点,文章提出利用Python语言辅助课程教学的研究思路和方法,探索将Python案例和课程知识及思政教育相融合的教学方式,展示如何根据知识点的特点设计案例内容和线上线下混合式教学的具体活动,并挖掘知识点的思政元素,旨在提高学生综合理解和运用知识解决问题的能力,加强学生的家国情怀,从而实现立德育人的根本目的。
Abstract: According to the characteristics of the course College Computer Fundamentals, such as wide content coverage, excessive theory concepts, and poor operability, the article proposes a research approach of using Python language to assist course teaching, exploring teaching methods that integrate Python cases, course content, ideological and political education. It demonstrates how to design case content as well as blended online and offline teaching activities based on the characteristics of knowledge points. In addition, it discovers the ideological and political elements of related content. The aim is to enhance students’ ability to comprehensively understand and apply knowledge to solve problems, while strengthening their patriotism and achieving the fundamental goal of moral education.
文章引用:王平, 刘强, 童启. 利用Python语言赋能《大学计算机基础》课程教学探索[J]. 创新教育研究, 2024, 12(4): 159-165. https://doi.org/10.12677/ces.2024.124193

1. 引言

随着社会信息技术的不断发展,《大学计算机基础》作为一门广大高等院校大部分专业的必修课程,其主要目标是让学生掌握计算机基本知识和操作技能,全面培养学生综合信息素养、并提高其对问题进行分析和解决的计算思维能力,直接对应国家“新工业”时代需求,为培养能够适应时代和未来变化的工程人才打下坚实基础 [1] [2] 。

作者在长期的教学实践过程中,发现大学计算机基础课程存在一些教学上的瓶颈和矛盾,如理论知识内容涉及面广、概念多且可操作性差等特点。理论部分普遍包括计算机系统组成、数据的表示、操作系统、数据库、还有算法、数据结构、软件工程以及网络等基础知识,而与众多理论知识广而多相反的是相应实验素材的匮乏,尤其是能验证或应用这些理论知识解决问题且难度适中的相关实验或案例素材。这种矛盾通常会导致教学效果不太理想,教师讲深了不仅课时不够,学生也难以理解,容易产生厌学情绪;讲浅了内容过于空洞,容易偏离培养学生能力的目标。

针对以上问题,作者通过研究实践发现简单易学且功能丰富的Python语言可以为计算机基础课的教学提供强有力的辅助作用,利用Python编写一些简单实用的程序,可以让抽象的计算机理论变得具体,让很多平时只能在头脑中联想和记忆的计算机知识通过代码演示结果,让学生在有限的时间内快速理解课程知识点所涉及的原理、概念,并能把这些理论知识和问题解决关联起来,真正做到学有所用,学以致用。比如在讲解知识点“计算机的数据表示”时,通过Python程序处理各种类型的数据,如数值、文本字符、图像、声音视频等,不仅能直观体现不同数据的表示方式和特点,还能展示数据的应用场景,让学生对现实软件中各种图文并茂的数据有了更深入的认识。在介绍WWW万维网的概念和工作方式时,利用Python编写一个简单爬虫程序,短短几行代码就可以把用户发出请求、服务器返回数据、用户把数据本地化存储的整个过程展示得清楚明了,学生通过案例不仅轻松理解WWW的B/S工作模式、url、http等网络基本概念,真正体验到互联网的强大功能,还接触到网络爬虫这一流行应用,进而激发他们的学习兴趣。

拥有丰富多元计算生态的Python语言应用领域几乎涵盖了社会生活的各个方面,比如人工智能、数据分析、网络爬虫、数据可视化、游戏开发、虚拟现实等 [3] ,这一优势让Python能很好的以数字化赋能思政工作体系、内容、方式,从而推动构建高校思想政治工作新生态。同时,计算机基础课程作为大学不同专业的公共基础课,通过Python案例还可以将计算机基础知识与不同的专业应用相结合,以提高学生的综合信息素养,并将学到的知识作为获取其学科知识的有利工具。

2. Python案例设计原则与方法

2.1. 以辅助计算机基础课程知识点为中心目标

该课程中的Python案例是作为工具辅助基础课知识点的内容教学,而非为了让学生掌握Python的语法和应用去学习Python编程。此外,在设计具体案例前,需要对课程的知识模块优化整合,把每一个知识点的涉及的概念、理论、方法进行归纳和梳理,统计出所有适合利用Python来辅助教学的知识点,并根据知识点的特点确定采用何种形式的Python案例,明确案例的目的和作用。

在契合教学内容的基础上,需要对案例进行内容分类和难度分级,从最基本的概念展示延伸到问题的解决,从而帮助学生对知识有更完整立体的认识知识构建的目的。比如操作演示型案例可以对某些重要概念或原理的进行展示或者验证,如介绍冯洛伊曼体系结构、不同数据的表示、网络通信原理等知识点;而问题解决型案例的作用是将概念和实际应用结合起来,使用计算机基础知识或原理解决现实生活的实际问题。比如介绍算法知识点时,可以通过Python程序解决经典案例“百钱百鸡”来介绍穷举算法;“汉罗塔”问题来说明递归算法的特点等。针对部分知识点则可以综合多种类型案例,由浅入深,先让学生通过案例理解概念,再运用相关知识解决问题,如文中为“WWW及其工作方式”知识点所设计的各种类型案例;同理,有些案例则可以融合课程多方面的知识内容,比如“决策树”应用案例既能展示贪心算法的原理,又能很好结合当下流行的人工智能应用。

由于Python语法简简洁易懂,理论课教师通过演示案例展示其作用与功能,同时说明程序中关键代码功能,学生并不难理解其含义。此外,学生通过实验上机可加深对案例的理解和运用,或者模仿原案例做局部修改,以达到实现类似功能的目的,例如通过修改“百钱百鸡”案例程序来实现“X元钱买Y只鸡”或者“鸡兔同笼”问题的求解,如此不仅让学生活学活用所学知识,还容易激发其学习兴趣和创造力。

2.2. 通过Python案例将课程知识与思政元素相结合

教师在案例设计环节可以挖掘相关知识点的思政元素,设计出既契合课程内容又结合现实应用的Python思政案例。例如在介绍“字符数据的表示”知识点时,思政教育可以从以下几个方面切入:

(1) 字符是目前人工智能和大数据领域获取有价值信息的主要载体;同时,信息数字化可以让阅读更加轻松简单,也有利于世界文化跨越时空交流。

(2) 数字化字符不仅节能环保,且占据计算机的空间小,比如,一个32G的U盘就能存放上万本百万字的文学作品,而用传统纸张作为媒介需要消耗大量自然资源。

(3) 字符编码知识还可以应用到信息加密算法中,比如通过将一段明文按字符的编码规则进行移位替换变成密文,从而起到保障信息安全的目的,在电子商务和国家信息安全中发挥重要作用。

教学过程中教师可以把课程内容与时代需求和人才素养结合起来,把问题的高度拔高一点,不仅可以让学生真实感受到丰富的信息技术应用,还能拓宽学生的思路,在潜移默化中让学生树立正确的人生观和价值观。

2.3. 以问题求解为导向以学生为中心进行线上线下教学活动设计

教学是一项综合性的活动,需要精心设计各个环节把知识点概念、原理等理论知识和实际应用相结合,并尊重学生的学习基础和认知规律,文章提出以问题求解为导向及以学生为中心的教学活动设计方案,充分利用线上网络教学平台和资源,通过线上和线下多种活动让学生参与到课程学习中来,充分调动学生的能动性。

为了实现以学生为中心的教学目的,教师除了编写好每一堂课的内容和练习、还需设计能让学生在课前、课中和课后都能参与的问题和活动,例如,上课前教师可以使用中国大学MOOC、学习通、或者QQ等师生交流APP发布问题或课前练习,让学生思考、查阅资料、做练习,提前做好课堂学习准备,为课堂互动打下基础。教师教学过程中可采用提问、讨论、演示等多种教学手段来加强师生互动,做到教是为了不教,而是为学生的学服务。

3. Python案例及教学活动设计示例

3.1. 案例设计

如前所述,每一个Python案例都是为了辅助课程知识的教学,所以首先确定知识点,进而明确案例的内容、分类及作用,案例可根据内容特点和难度分为:理解概念和原理过程型;简单应用型;综合应用型三类;最后提炼案例思政元素,以下是知识点Internet信息服务之一的“WWW及其工作方式”相关案例设计,具体内容如表1所示。

Table 1. Python case design demonstration of knowledge point “WWW and its working mode”

表1. 知识点“WWW及其工作方式”Python案例设计示例

3.2. 提取案例思政元素

根据教育部2020年印发的《高等学校课程思政建设指导纲要》的要求,各高校应全面推进课程思政建设,完善专业培养体系的思政教育,保证人才培养方向与质量 [4] 。为了促进新工科建设,刘兴萍等学者强调理工科课程必须加入思政元素,必须打破传统工科教育的单一模式,教师不仅要注重学生知识素养的培养,更应注重学生人文精神和创新能力的培养 [5] 。所以如何实现专业课程教学与思政教育之间的有效结合,积极促进专业课程的课程思政改革是值得高校教师深思并努力解决的重大课题。根据以上指导思想,对知识点“WWW及其工作方式”相关案例的思政元素提炼如下:

(1) 网络让人们交流无时空限制,共享资源且节约成本,推动社会进步、比如拓展受教育的空间,让社会更加公平民主等。

(2) 利用拥有庞大信息库的互联网资源,从网上自动获取公开且有价值的信息,提高工作效率和竞争力。

(3) 避免获取服务器禁止爬取的网络资源,从而规范自己的网络行为,树立正确的价值观。

3.3. 线上线下混合式教学活动设计

教学实施主要分为三部分:课前知识准备、课中知识与案例讲解和课后完善提升。以下内容是知识点“WWW及其工作方式”的线上线下教学活动的设计方案,教学实施流程如图1所示。

Figure 1. Diagram of teaching implementation plan

图1. 教学实施流程图

(1) 课前活动

课前活动基本在线上布置完成,首先教师在学习通平台提前准备好相关任务内容,并通过师生交流QQ群或学习通发布以下任务内容,要求学生在课前完成:

● 通过课件和课程微课视频预习相关网络知识点内容。

● 发布以下话题,要求学生进行思考并回复:

问题1:请简单描述你平时上网浏览网站的全过程及原理。

问题2:如果不使用浏览器或工具软件,如何通过编程获取网页上的图片或其他有用信息?

● 做学习通上的课前练习题。

(2) 课中活动

● 结合讨论区话题讲解知识点内容

教师根据学生在课前活动讨论区的问题1的回答引入知识点,结合学生的回答和现实生活案例对相关知识进行讲解,从课前活动问题2的回答引出利用爬虫自动获取网络信息的相关知识。并结合学生的课前练习演示Python相关语法,进而引导学生思考如何利用网络知识和Python语法解决实际问题:实现显示网页内容并自动下载网络图片,并在Python平台演示以下程序让学生直观感受网络爬虫的功能。

为了让课堂更活跃,学生的学习更有积极性,教师可以展示大部分学生对问题的回答并点评,让学生之前的参与“被看见”,并挑选其中回答比较优秀的学生讲解自己对问题的认识,既锻炼了作为个体的学生能力,也在学生中树立榜样,发挥正能量。

● 课前练习总结

课前练习主要内容涉及知识点的基本概念和Python相关语法,该环节是检验学生对基本概念和语法的理解,为后面的案例学习打下基础,

练习题示例如下:

已知湖南工业大学网址是https://www.hut.edu.cn,请问下列哪条Python语句可以实现对湖南工业大学网站的请求访问,并将结果赋给变量r?

A. r = requests.get(https://www.hut.edu.cn)

B. r = https://www.hut.edu.cn

C. r = 湖南工业大学

D. r = print(https://www.hut.edu.cn)

● Python案例讲解与演示

根据知识点对应的Python案例设计,对相关案例进行讲解和演示,介绍从问题到程序的分析、设计和编程过程,并在平台运行程序,让学生在程序中真实体验“万维网WWW”的功能,如网络资源共享等,更好理解相关概念和原理等理论知识。

以下是案例1“显示网站信息”的参考代码与相关注释,并以显示湖南工业大学官网首页部分信息为例:

import requests #导入爬虫相关模块

url=https://www.hut.edu.cn/ #湖南工业大学主页网址

try:

r=requests.get(url) #向服务器发出请求

r.raise_for_status() #如请求失败则抛出异常

r.encoding=r.apparent_encoding#对相应对象编码进行赋值

print(r.text[:500]\n爬取成功) #显示主页源码的前500个字符及成功信息

except: #如请求失败则提示错误信息

print(爬取失败!)

案例内容可以由浅入深,除了基础案例,教师可以在课堂上演示具有一定应用价值的综合案例,如自动爬取并下载网页中的多幅图片或者某些公开购物网站上的商品信息,不仅可以更好结合现实和当前流行大数据应用,还给部分想深入学习的同学提示一些方向,激发他们进一步学习的愿望。

● 总结与思政教育

在总结阶段,教师可以通过提问、讨论等方法检验和加强学生对知识点的理解,对重点难点进行归纳总结,最后可以根据知识点的特点进行思政教育,比如用爬虫可以从网上很方便获取到有价值的信息,但也需要提醒学生使用时注意网络道德规范,告诫学生避免获取服务器禁止爬取的网络资源,如服务器robots.txt文件中禁止的内容,知道“君子有所为有所不为,知其可为而为之,知其不可为而不为”,树立正确的价值观。

(3) 课后活动

教师可在线上学习平台布置理论和实验作业,让学生在课外通过练习加强对知识的掌握和应用,并在QQ群保持师生互动交流,及时给学生答疑解惑。

4. 结语

古人云:“纸上得来终觉浅,绝知此事要躬行”,简单且丰富的Python语言能让计算机基础课程中广而多的理论知识在代码运行中得到印证,学生通过程序可以更好理解和掌握计算机的基础知识,并通过解决问题提升计算思维能力,以适应新工科时代需求。同时,教师在教学工作中采用课前任务布置、情景导入、案例教学、讨论和练习等方式,并挖掘契合课程内容的思政元素,以学生为主体,利用线上线下混合式教学方法,以达到综合锻炼学生信息素养和道德情操的教育目的。

致谢

感谢湖南工业大学2023年秋季学期修读本课程的所有学生对课程教学改革所提供的实践支持,以及计算机学院基础教学部全体老师对改革思路所提出的建设性意见。

基金项目

2022年湖南工业大学教学改革研究项目,利用Python语言辅助计算机基础教学的研究与实践(2022YB09)。

参考文献

[1] 何钦铭, 王浩. 面向新工科的大学计算机基础课程体系及课程建设[J]. 中国大学教学, 2019(1): 39-43.
[2] 宋汶苡. 工学一体化教学模式在技工学校计算机基础与应用课程教学中的应用探析[J]. 电脑知识与技术, 2023, 19(33): 142-144.
[3] 白昌盛. Python编程特点及优势研究[J]. 电子测试, 2020(18): 125-126.
[4] 郭艳燕. 计算机类专业课程思政实施路径探索与实践[J]. 计算机教育, 2021(1): 80-84.
[5] 刘兴萍, 张大鹏. 理工科课程中的思政元素探析[J]. 绵阳师范学院学报, 2021, 40(6): 23-27.