基于新文科的Python程序设计基础课程的建设与研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:txzhang50
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在5G、人工智能、虚拟社会等信息技术高速发展的今天,对文科专业学生进行计算思维的培养也显得越来越重要。作为这些年的新起之秀Python,被普遍作为非计算机专业首选编程语言。文章以本校为文科专业开设的Python程序设计基础课程为依据,从教学大纲设置、教学方案设计和考核方面分析进行阐述,旨在探索如何更好地进行跨学科融合,提升学生学习编程语言的兴趣,培养信息技术解决问题的能力,让学生学有所用。
  关键词:Python语言;新文科;课程建设;计算思维;解决问题
  中图分类号:G642        文献标识码:A
  文章编号:1009-3044(2021)30-0199-03
  开放科学(资源服务)标识码(OSID):
  Construction and Research of Basic Courses of Python Programming Based on New Liberal Arts
  FENG Gui-er
  (School of Journalism and Communication, Shanghai International Study University, Shanghai 200082, China)
  Abstract: With the rapid development of information technology such as 5G, artificial intelligence, and virtual society, the cultivation of computational thinking for liberal arts students is also becoming more and more important. As a rising star in recent years, Python is widely regarded as the programming language of choice for non-computer majors. Based on the basic course of Python programming provided by our school for liberal arts majors, the article analyzes and elaborates on the setting of syllabus, teaching plan design and assessment, and aims to explore how to better integrate interdisciplinary, enhance students' interest in learning programming languages, and cultivate the ability of information technology to solve problems.
  Keywords:Python; new liberal arts; curricula construction; computational thinking; solve the problem
  1引言
  2019年4月29日,“六卓越一拔尖”計划2.0启动,要求大力发展新工科、新医科、新农科、新文科,建设高水平本科教育。其中新文科被认为是发展社会主义先进文化的重要载体。新文科运用的是跨界思维,使用“文文互鉴”“文理交叉”“文工融合”的思维方法解决问题[1]。所以新文化的推动不能闭门自造孤立化,需要与其他学科交叉容融合才会有突破。浙江大学人文学院教授徐永明表示,要重视跨学科人才的培养,文科生要学习编程(如Python)、新媒体技术等课程,这些应该作为文科生的必备技能和素养。美国超过100所知名大学,例如斯坦福大学、卡耐基梅隆大学、普林斯顿大学等都将Python作为面向非计算机专业学生的教学语言。目前国内外普遍认为Python是一种比较适合非计算机专业学生培养计算思维入门学习的编程语言。
  Python语法简洁而清晰,具有丰富类库和强大的数据处理能力。除了标准库之外,Python官网列出了超过12万个第三方库的基本信息,这些库覆盖信息领域技术所有技术方向。近年来逐渐受到高校非计算机专业的认可。在这种背景下,越来越多文科专业在培养方案中开始增设Python程序设计课程。经过全面调研,上海外国语大学在2020-2021学年第二学期也对所有文科类专业开设了Python程序设计基础这门课。以期在建设实施过程中,不断探究出适合文科类专业学习的Python语言课程。
  2 教学大纲设置
  Python程序设计基础的教学大纲设置为基础和进阶两部分[2]。基础部分包括Python运行环境、基本语法、内置函数、基本数据类型(数字、字符串、列表、元组、字典、集合等)、基本流程控制语句(分支结构、循环结构)等内容,进阶部分主要是对基础部分的拓展以及实际案例应用,包括函数设计、类的设计、文本文件读写、词频分析、matplotlib图形绘制、网络爬虫应用等内容。
  针对文科类专业学生,学习程序设计的目的并不是去做开发、跟计算机专业学生比拼编程能力,而是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等一系列思维活动[3]。所以在实施上述教学大纲的过程中,除了理论授课之外,还会配备大量实践应用性强的案例,且案例会多注重思维分析、问题求解和强化学生训练。
  整个课程的总教学时长为64课时,每周一次,每次总课时为4课时,包括理论和实验,如表1所示。理论和实验的课时配比根据具体上课内容和学生学习效果分配。   3课堂教学方案设计
  为了增强学生的学习兴趣、更好的理解教学内容,就需要引入接地气的教学案例。在社会科学研究中,常常需要通过文章中高频出现的词汇来把握文章的语义与思想。下面以“2021年3月5日李克强总理代表国务院在十三届全国人大四次会议上作《政府工作报告》”内容为素材,介绍如何利用Python对当下热门新闻内容进行词频词云的分析,来得到关键词以及可视化效果。此案例也是对教学大纲基础部分知识的综合实践运用。教学中采用需求引入、循序渐进方式讲解知识点,教学过程总体分为3步。
  1)理论知识做铺垫,介绍jieba库和wordcloud库的特点和使用方法
  中文文本需要通过分词获得单个的词语,jieba库是优秀的中文分词第三方库。jieba库的分词原理:利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,形成列表的分词结果。jieba库分词有3种模式:精确模式lcut(s)、全模式lcut(s, cut_all=True)和搜索引擎模式cut_for_search(s)[4]。此案例中重点搞清楚精确模式lcut(s)的使用方法。
  Wordcloud也是Python的第三方库,根据文本中词语的出现频率等参数,将枯燥呆板的词语渲染成大小、颜色不一的可视化词云艺术效果。创建词云主要通过三步骤完成:首先实例化词云对象WordCloud(),并设定基本参数信息;接着根据jieba分词并将处理后的词频生成词云generate_from_frequencies();最后将词云保存为图片to_file()。
  2)绘制流程图,分析教学思路
  流程图是对解决问题的方法、思路或算法的一种描述。所以在让学生编程前,先为案例绘制开发流程图,有助于为学生理清案例思路。如图1所示。
  3)书写注释和编写代码
  為了鼓励学生主动思考,要求学生先根据流程图思路在代码行中用中文注释功能,然后根据注释写代码,从而降低长篇代码的编写难度。下面是完整的注释和代码。
  # 导入第三方库
  import jieba
  import wordcloud
  # 读取“3月5日李克强总理代表国务院在十三届全国人大四次会议上作《政府工作报告》.txt文件”内容,得到的结果为文本字符串。
  with open('government_report.txt', 'r') as f1:
   s = f1.read()
  # 用jieba库的lcut函数对字符串中文词汇分割,精确返回词汇列表,列表中的元素为切分好的中文词汇。
  lst = jieba.lcut(s)
  #此时需要对列表中的各个元素即词汇进行个数统计。统计列表中元素个数的方法有多种,可以尝试一一编写,分析利弊。这里用字典推导式统计词汇个数。
  dic = {i: lst.count(i) for i in lst}
  #对字典中的键值对进行降序排序并打印结果,此时可以发现,出现次数最多的是标点符号、代词等,故接下来需要从字典中去除干扰词汇。
  dic_new = dict(sorted(dic.items(), key=lambda x:x[1], reverse=True))
  print(dic_new)
  #将干扰词汇作为列表的元素放置在列表中存储到一个记事本中,命名为stopword.txt。接着读取该记事本内容,通过遍历,从字典中移除干扰词汇。最后打印字典,可以看到政府工作报告的词频情况,得到热门词汇。此处代码实现的方法也有很多种,仍然可以一一尝试,作为对以前所学知识回顾和复习。
  with open('stopwords.txt', 'r') as f2:
  stop_wds = eval(f2.read())
  for kword in list(dic_new.keys()):
   if kword in stop_wds:
  dic_new.pop(kword)
  print(dic_new)
  # 利用wordcloud库绘制词云,生成可视化效果。
  w = wordcloud.WordCloud(background_color='white', width=300, height=250, max_font_size=60, font_path='C:/Windows/Fonts/simhei.ttf')
  w.generate_from_frequencies(dic_new)
  w.to_file('D:/政府工作报告.png')
  4)知识拓展、深入学习
  在学生理解吃透上述内容且在充分调动学生学习兴趣的前提下,对知识点进行加深拓展,并发挥学生自主学习的能力。教师提供有效的资源供学生查阅,学生根据资料自主探究如何制作个性化的词云展示。
  4课程考核情况分析
  课程考核的目的是督促学生的平时学习以及客观反映学生对Python程序这门课的掌握情况。既能考察大部分一般学生的实际水平,又能考察少数优秀学生的水平,同时也能反映少数较差学生的学习状况。本轮共有1241名语言类专业学生(来自英语、日语、法语、德语、翻译、俄语、西班牙语、政治学与行政学、外交学、新闻学等专业)必修Python程序设计这门课。课程考核从平时成绩(过程性评价)和期末考试(终结性评价)两方面进行。
  1)平时成绩
  平时成绩占总成绩的40%,由出勤率(10%)、每次课后作业(15%)、课堂表现(5%)组成。以百分制计算平时成绩,经过统计,Python程序设计课程平时成绩平均分为91.7分。相较于2020-2021学年第一学期的计算机应用基础课程的平均分90.88分,还要高出0.82分。通过对平时成绩各项的细分统计和对学生的问卷调查,究其原因,主要有以下两点:   ①极大部分学生从来没有接触过程序设计语言,对它心存“敬畏”,不敢请假甚至旷课,因为落下一次课,就意味着知识的断层,影响后续学习。因此出勤率和课后作业提交率要高于第一学期的计算机应用基础课程。
  ②课程内容的设置更接地气
  通过理论指导实践案例、案例加深理论理解和专业知识融合,切实提高了学生学习程序设计语言的热情,课堂学习氛围、学生表现欲跟第一学期相比,明显高涨。很多学生在学期末尾向学校了申请了创新创业项目,运用信息技术来解决本专业领域问题。
  2)期末成绩
  期末考试占总成绩的60%,考查学生对Python程序设计这门课的整体掌握情况。期末考试试卷由20题选择题、10题填空题、10题判断题和3题编程题组成(编程题难度分别为易、中、高),学生在Python考试系统中随机抽一套完成期末考试(每套试题难度相当)。正常的高校课程考试,一般要求基础课平均分落在参考值70-80范围之内,标准差在参考值5-12范围之内。对此次考试进行定量分析,发现百分制下平均分为77.45,在参考正常值范围内;标准差为17.66,大于参考值。可以反映出试卷平均分达到要求,但是学生间的学习差异较大。造成这种情况的原因一个可能是学生间确实存在着较大的差异,还有一个可能是试卷相对偏难。但共有340名学生期末成绩是在90~100之间,占比达到总人数的27.4%,726名在60~90之间,占比达到总人数的58.5%,低于60分的占比为14,1%,基本符合成绩的正态分布,故试卷难度应属于正常。
  对于Python语言的学习学生间存在差异的问题,也是后续课程建设中研究的重点:如探究存在哪些差异,什么原因造成的差异,如何让教学内容跟专业知识更好的融合在一起、激发文科生学习Python课程的更高兴趣等。另外,随着后期对Python程序设计基础课程建设的不断深入和完善,過程性评价和终结性评价的考核方案还会不断摸索改进,来更好、更全面的反映学生掌握Python语言的情况。这些问题都值得在后续Python课程开设过程中长期研究实践,为新文科培养出更多优质复合型人才做努力。
  参考文献:
  [1] 张盖伦. 新文科来了 这是场跨界融合的探索[R].科技日报,2019.06.13.
  [2] 杨军, 张岳, 刘燕峰. 基于Python语言的数据挖掘课程的建设与研究[J].电子信息,2021(5):80-82.
  [3] 童玲. 基于元认知的文科专业Python课程教学设计[J]. 计算机教育, 2020(1):148-150.
  [4] 徐博龙.应用Jieba和Wordcloud库的词云设计与优化[J]. 福建电脑, 2019(6):25-28.
  【通联编辑:王力】
其他文献
摘要:培养高素质人才是高校最终目标,对于技术性应用型大学来说,学生的综合实践技能水平是高校就业水平的重要体现。该文基于《单片机原理及应用》课程的教学改革,结合近八年的学生专业竞赛孵化团队建设及实施,立足于学生竞赛进行教学研究,通过“以赛促学、赛教融合”的教学模式改革,使教学取得较好的效果。该文采用线上线下混合式教学、项目驱动教学等教学模式改革,从教学模式的改革形成、目标及实施方案等三个方面研究,通
近几年,人脸识别技术已在很多社会领域有所应用,教育领域也不例外。人脸识别中的表情特征提取技术已在教学反馈与评价阶段有所涉及,该文内容是有关课堂教学即时反馈系统现状的调查研究与综述,通过罗列分析近几年出现的课堂教学即时反馈系统,得出课堂教学即时反馈系统的应用现状与应用形式。重点分析了基于微表情追踪的课堂教学即时反馈系统的理论研究与应用现状,总结当下课堂教学实时评价手段的长处与不足,为更多的教学工作者
摘要:R语言数据分析编程课程是数据科学与大数据技术专业的重要专业课程,大数据专业及其相关课程建设尚处于探索阶段。以《R语言数据分析编程》为例分析了大数据专业教学中存在的问题。并针对存在的问题,提出了相应的解决方案,包括建立完善的课程教学资源,突出实践环节在人才培养中的重要作用,利用竞赛提高学有余力同学的数据分析能力和综合素质。  关键词:大数据专业课程;课程教学资源;实践环节;数据分析竞赛  中图
摘要:现如今,国内市场对技能型人才的需求量逐渐扩大,各大院校需要适应市场变化,构建新的教育培养模式。为解决技能型人才的培养问题,学校需要以开设专业的现状为切入点,运用计算机大数据,探索人才培育方向。本文根据大数据在人才培养方面的影响内容,提出优化培养模型的举措,包括设置立体化的资源库及开启一课双师模式等。  关键词:计算机大数据;技能型人才;资源库  中图分类号:TP391 文献标识码:A
摘要:随着信息技术的发展,数字影视创作在不同行业得到广泛传播,OBE是一种结果导向的教育理念,对人才培养具有重要意义。影视制作课程是一门实践性课程,为了有效地提高学生在影视领域的创新能力和实践能力,为影视产业提供合格的人才,必须整合OBE教育理念在影视创作实践教学过程中的形象,该文首先分析了OBE教育理念的定义内涵,并以该项目为例,从实践角度分析了培养影视制作应用型人才的原则和对策措施。  关键词
摘要:该文基于目前实践教学评价体系中存在的问题,从学生的学习、教师的教学和实践教学效果三方面构建了全面科学的物联网工程专业实践教学评价体系。此评价体系以学生为中心,侧重学生工程应用能力的评价,旨在找出物联网工程专业实践教学的薄弱环节,不断提高实践教学质量,培养出符合社会需求的应用型物联网专业人才。  关键词:新工科;物联网工程;实践教学;评价指标体系  中图分类号:G642 文献标识码:A 
摘要:作为一种比较先进的教学方式,项目教学有利于提高学生的核心素养、职业能力以及专业技能水平,以项目教学为導向的教学方式满足高等院校的培养目标需求。后期软件课程是高职院校教学的重要内容之一,同时也是社会对专业性人才的技能需求,对学生的未来发展有着重要的影响。因此,可以将项目教学方法应用在后期软件课程改革当中,激发学生的学习兴趣。该文主要对项目教学进行概述,然后说明了项目教学在软件课程改革中的实施过
摘要:近年来,随着网络的不断普及与发展,信息技术已经成了社会发展的重要推动力。基于此,大批高校教育工作者针对我国高校计算机专业教学工作表现出了高度的关注。在这一趋势下,教育工作者针对传统教学模式进行了合理的分析与探索,从而有效推动了我国高校计算机专业的全面发展。该文针对基于大规模在线开放课程(Massive Open Online Courses, MOOC)混合教学模式下如何有效开展高校计算机教
摘要:人工智能及机器人技术在国内外高校已被列入本科生和研究生课程,高校大力发展符合国家战略发展需求的新型专业,着重培养一大批高科技人才,助力国家科技发展。在大学生创新创业各类活动中,机器人竞赛成为工科学生主流赛事之一,吸引了很多队伍竞技。机器人竞赛下分服务类、无人机类、仿真类等各类机器人,横跨计算机、电子信息、人工智能、自动化等多种学科知识体系,该文重点研究多学科融合的以赛促学和以学促赛的机器人教
摘要:现阶段,高职校园网络教学平台的构建模式主要集中于本校重点专业,围绕教学、实践、发展、技术等不同层面来收录精品课程,以此满足学生的在线学习需求。并且随着近年来教育理念的不断完善,这种基于网络平台的线上线下混合教育模式更是得到了进一步的发展与进步,通过支持学生在线自主学习、教师线下集中辅导的形式,打造了新时期高职院校的全新育人模式。基于此,该文对校网络教学平台的混合式教学模式展开了研究。  关键