基于新文科的Python程序设计基础课程的建设与研究
作者:冯桂尔
来源:《电脑知识与技术》2021年第30期
        摘要:在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('', 'r') as f1:
        s = f1.read()
        # 用jieba库的lcut函数对字符串中文词汇分割,精确返回词汇列表,列表中的元素为切分好的中文词汇。
        lst = jieba.lcut(s)
        #此时需要对列表中的各个元素即词汇进行个数统计。统计列表中元素个数的方法有多种,可以尝试一一编写,分析利弊。这里用字典推导式统计词汇个数。
        dic = {i: unt(i) for i in lst}
        #对字典中的键值对进行降序排序并打印结果,此时可以发现,出现次数最多的是标点符号、代词等,故接下来需要从字典中去除干扰词汇。
        dic_new = dict(sorted(dic.items(), key=lambda x:x[1], reverse=True))
        print(dic_new)
python 爬虫教学
        #将干扰词汇作为列表的元素放置在列表中存储到一个记事本中,命名为。接着读取该记事本内容,通过遍历,从字典中移除干扰词汇。最后打印字典,可以看到政府工作报告的词频情况,得到热门词汇。此处代码实现的方法也有很多种,仍然可以一一尝试,作为对以前所学知识回顾和复习。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。