1. 引言
新文科 [1] 是在大数据时代背景下,为适应科技和社会发展需求而兴起的一种新型文科学科。传统的人文社科学科主要研究人类社会和文化现象,注重分析和理论探讨,并以文字为主要的研究工具。而在大数据时代,由于数据的快速增长和高速计算能力的发展,传统的研究方法和研究对象已经无法完全适应科技和社会发展的需求,需要有新的研究方法和跨学科的思维来进行研究。
新文科的特点 [2] 是及时掌握和运用大数据技术,将数据作为研究的基础和手段,借助数据分析和数据挖掘等技术方法 [3] ,从大数据中提取有价值的信息,深入研究人类社会和文化现象。新文科强调跨学科的研究,不局限于传统的学科界限,而是要借鉴其他学科的研究方法和理论,拓宽研究视野 [4] 。
作为一种新兴的、面向对象的解释性编程语言,Python [5] 具有易学易用的特点,并且被广泛应用。而旅游管理 [6] 是一门研究旅游休闲经营管理及其社会影响的新兴的交叉型学科,其学科体系涉及管理学、经济学、地理学、人类学等多门学科知识。对于旅游管理专业的学生来说,需要同时具备文科和理科综合思维的能力。
因此,本文以新文科建设为背景,以旅游管理专业学生为研究对象,引入Python语言教学,并通过案例教学和验证实验的方式来弥补旅游管理专业学生在计算机基础方面的不足 [7] ,同时,积极推动计算思维在该课程中的实际应用。
2. 课程建设要求
“新文科”建设的具体要求 [8] 包括以下几个方面:
1) 新专业或新方向的探索与实践:要根据社会的需求和发展趋势,开设符合时代要求的新专业或新方向,培养适应新时代需求的高素质人才。
2) 新模式的建设与创新:要突破传统学科研究的模式,探索和建立适应新时代需求的学科交叉与融合的新模式,促进学科之间的协同发展与合作创新。
3) 新课程的设计与实施:要根据新时代的要求和学生的需求,设计和实施具有前瞻性和实践性的新课程,培养学生的综合素质和专业能力。
4) 新理论的研究与探索:要关注社会发展的新问题和新挑战,推动新思想、新理论的研究与探索,为解决实际问题提供理论支持和创新思路。
通过以上要求的实施,可以推动“新文科”建设,适应社会发展的需求,推动学科的发展与创新,培养适应新时代要求的高素质人才。
3. 问题分析
3.1. 实际教学不能满足学习期待
在高等教育的教学环境中,教师与学生之间的沟通往往影响着教学效果。而在课程开始,教师往往未与学生进行充分的沟通,不了解学生对课程的期待及学生对课程基础知识掌握的情况。因此,教师往往按照自己的理解和经验来备课,无法根据学生的个体差异性进行备课,这样的教学方式往往会导致学生对学习失去兴趣和动力,从而影响到他们的学习效果 [9] 。在未来的教学中,教师应当更加重视与学生之间的沟通,更好地满足学生的期待,从而达到更好的教学效果。
3.2. 教学思想未发生根本转变
目前,新型文科教育要求课程学习的重点从培养普遍的程序设计能力转变为培养专业问题解决能力。虽然大多数这类课程的教学目标相对以前有所改进,但在实现这一目标的过程中仍然存在一些挑战。首先,培养专业问题解决能力需要将学生从简单的程序设计中解放出来,让他们能够思考和解决更复杂的问题。这意味着需要更新和重新设计课程内容和教学方法,以使其更加贴近实际问题和应用场景。这可能需要引入更多的实践项目和案例分析,以便学生能够将所学知识应用到实际情境中。其次,培养专业问题解决能力需要培养学生的创造力和团队合作能力。另外,培养专业问题解决能力还需要教师的专业和教学能力的提升。教师需要具备深厚的专业知识和综合能力,能够引导学生在问题解决过程中发展出适应性思维和创新思维。教师还需要不断更新自己的知识和教学方法,以适应新的课程要求和教学目标。
要实现这一目标,需要课程内容和教学方法的更新和改进,学生的创造力和团队合作能力的培养,以及教师的专业和教学能力的提升。这样才能更好地满足社会对具备专业问题解决能力的人才的需求。根据新型文科教育的要求,课程学习的重点已从培养普适的程序设计能力转变为培养专业问题解决能力。尽管大多数这类课程的教学目标相对于以前有所改进,但缺乏具体的培养和评估目标,导致教学目标不明确,评估指标没有针对性 [10] 。教师对“新文科”要求的理解不够到位,对“新文科”提出的各级目标的认识不足,不能够把能把新的教学理念实施在课堂教学中,对教学要求认识不够明确,教学随意性较大,无法真正满足新型文科教育对工程思维和问题解决能力的要求。
3.3. 教学资料仍相对不足
尽管Python的应用越来越广泛,但可用的学习资料仍然相对不足。首先,缺乏针对各种考核目标的练习题库。对于学生来说,有效的练习是提高技能的关键。然而,现有的案例练习往往只针对单一的考核目标,无法全面覆盖学生的知识体系 [11] 。其次,不同的专业对Python编程有不同的需求,目前仍缺乏适应旅游管理专业特点的学习案例。许多课堂仅提供一些复习资料,关注的主要是通过课程考核,学生很难了解自己在程序设计方面的水平 [12] 。
4. Python程序设计教学方法设计
4.1. 教学目标
在适应“新文科”背景下的课程建设要求以及解决存在问题的分析方面,旅游管理专业应根据专业培养方案的要求,制定各个阶段具体的教学目标和教学内容,以实现多元化教学。
在基础阶段,根据旅游管理专业对Python知识要求的程度,可以提供基础编程知识和高级编程知识两种选择。考虑到旅游管理专业对信息技术的要求通常不是很高,因此只需掌握基本的Python编程知识即可。
在提高阶段,教学内容主要侧重于常用的Python第三方库的使用。这些库可以根据其功能划分为不同的类别,例如网络爬虫、数据分析、数据挖掘等。在选择教学内容时,需要结合旅游管理专业开设的其他相关课程。
在专业阶段,需要密切与旅游管理专业的培养目标相联系,选择与该课程相关的教学内容。通常会涉及非常具体专业性的Python第三方库的学习。
4.2. 教学内容及方法
4.2.1. 理论教学
理论教学的42学时可分为8讲内容,课程包括以下内容:
第一讲 课程导论:介绍本课程教学目标、课程安排及考核方式。
第二讲 Python语言基础知识讲解:教师将介绍搭建Python实验环境的方法,并介绍Python语言的输入和输出方法、变量、常量和运算、控制语句、注释逻辑和缩进等基础概念,让学生能够开始编写简单的Python程序,并为后续学习更高级的主题做好准备。
第三讲 Python的基本数据类型:教师将介绍Python中的数值数据、字符串、列表、元组等数据类型,并进行相关的实验应用教学,如Python表达式的编写与运算、列表的操作和运算等。通过这些实验,使学生更好地理解Python中的数值数据、字符串、列表、元组等数据类型,以及字典和集合的使用方法。
第四讲 函数与模块课程:学生将学习Python语言中函数的意义和结构,以及模块的定义和使用,同时也会探讨函数参数和作用域的概念等,为编写复杂的程序和扩展Python的功能提供基础。
第五讲 网络爬虫在旅游中的应用:教师将介绍使用Python进行网络爬虫的方法,进行与旅游专业相关的网络爬虫实践。
第六讲 数据分析在旅游中的应用:教师将介绍如何使用Python进行数据分析,并将重点讲解文件的编码形式、读写操作、词频分析、词云绘制方法、正则表达式、堆栈和队列等内容,并演示数据可视化操作。
第七讲 数据挖掘在旅游中的应用:教师将介绍使用Python进行数据挖掘的方法,重点讲解数据挖掘在旅游专业中的应用实例,并进行与旅游专业相关的数据挖掘实践。通过实际案例和实验实践,使学生掌握如何使用Python进行数据挖掘,并在旅游业领域中发现有用的模式、提取有价值的知识和实现业务优化。
第八讲 机器学习在旅游中的应用:教师将介绍使用Python进行机器学习的方法,重点讲解机器学习在旅游专业中的应用实例,并进行与旅游专业相关的机器学习实践,帮助学生做出更准确、智能的决策,推动旅游行业的创新和发展。具体安排见表1。
本课程的具体安排分为两大部分。第一部分是Python程序设计基础知识的讲解。
在第一部分的第1讲中,将介绍本课程的教学目标、课程安排和考核方式。此外,还将帮助学生了解计算机的工作原理和程序设计思维,为后续的学习奠定基础。
第一部分的第2讲将重点介绍Python语言的基础知识,讲解Python的历史和发展,以及语言的特点和常用的编程环境。此外,还将详细讲解Python语言中的输入与输出方法、变量、常量和运算、控制语句等内容,以及注释逻辑和缩进的重要性。

Table 1. Python course schedule
表1. Python课程教学安排表
第一部分的第3讲将主要介绍Python的基本数据类型。本讲将详细介绍Python中的数值数据、字符串、列表、元组等数据类型,并介绍字典和集合的概念和用法。还将进行一些应用实验,让学生实践Python表达式、列表和运算的应用。
第一部分的第4讲将重点讲解函数和模块。将介绍函数在Python语言中的意义、结构和用法,以及如何定义和使用模块。此外,还将讲解函数的参数、作用域以及函数和模块的实际应用方法。这节课还将着重介绍Python语言中的组合数据类型,包括序列类型、集合类型和映射类型。
通过学习以上内容,学生将掌握Python程序设计的基础知识和技能。这将为他们进一步学习和应用Python语言提供坚实的基础,为后续学习和实践打下良好的基础。
第二部分是关于Python在旅游学中的应用讲解。
在第二部分中,建立在第一部分的基础上,将对函数和代码复用进行详细讲解。其中,第5讲将介绍网络爬虫在旅游中的应用。本讲将首先介绍使用Python进行网络爬虫的方法,并进行与旅游专业相关的网络爬虫实践。
第6讲的主题是数据分析在旅游中的应用。本讲将介绍使用Python进行数据分析的方法,包括文件的编码形式和读写操作、词频分析和词云绘制方法,以及正则表达式、堆栈和队列等内容。还将演示数据可视化操作,进行与旅游专业相关的数据分析实践。
第7讲是关于数据挖掘在旅游中的应用。本讲将介绍使用Python进行数据挖掘的方法,并讲解数据挖掘在旅游专业中的应用实例。
最后,在第8讲中,将介绍机器学习在旅游中的应用。将讲解使用Python进行机器学习的方法,并介绍机器学习在旅游专业中的应用实例。此外,还将进行与旅游专业相关的机器学习实践,以加深学生对机器学习方法的理解和掌握。
通过学习第二部分的内容,学生将能够更深入地了解Python在旅游学中的应用。他们将掌握函数和代码复用的技巧,熟悉常用的扩展模块和第三方库的使用方法,并能够进行网络爬虫、数据分析和数据挖掘等与旅游专业相关的实践。这将为学生提供宝贵的工具和技术支持,使他们能够在旅游专业中更好地应用Python进行数据分析、挖掘和机器学习等工作。同时,他们还能够发现并掌握更多与Python相关的旅游学领域的应用潜力,为旅游业的创新和发展做出贡献。
总结来看,本课程以层层递进的学习模式为基础,通过理论教学和实践代码操作演示,详细介绍了Python的基本语法、程序控制、函数复用和模块工具等方面的内容。这些内容对于旅游管理专业的学生来说,是进行项目实践、解决实际问题所必备的知识。通过学习本课程,学生将全面掌握Python编程的基础知识和技能,为其在旅游领域中运用Python进行数据分析、模型建立和解决实际问题提供坚实的基础。
4.2.2. 实践教学
实践教学必须与理论教学内容相辅相成、紧密结合。它是理论教学的重要目标,通过逐步设计内容,让学生进行实践操作,深化和补充他们对Python编码过程的理解和掌握。实践教学能够提升学生的实际操作能力,使他们能够更好地应用所学的知识。这种结合了理论和实践的教学方法有助于学生在实际项目中灵活运用Python,并提高他们的实践能力 [13] 。
在实践教学的过程中,应引导学生积极提出问题,并激励他们思考解决问题的方法。通过这样的引导,学生能够自主设计程序流程,并进行编程实现。此过程强调培养学生的实践能力和创新能力,让他们通过实践锻炼自己的编程技巧和解决问题的能力,并鼓励学生在实践中积极思考和探索,从而培养他们的创新思维和解决实际问题的能力 [14] 。
4.2.3. 教学资源
本课程采用了2020年出版的《Python语言基础与实践》作为教材。教材内容全面,包括Python的基础知识,并介绍了Python的标准库和第三方库 [15] 。在培训过程中使用Jupyter Notebook作为训练平台。
本次课程教学内容涵盖了实际应用需求,让学生能够灵活运用Python语言解决实际问题 [16] 。参与实践教学,学生将通过实际操作和实践项目的经验积累,提高他们的技术能力和创新能力,帮助学生未来在相关工作岗位上奠定坚实的技术基础。
4.3. 考核方式
本课程的考核方式采用了平时成绩(过程性评价)和期末考试(终结性评价)两方面的评估方法。通过平时成绩来反馈学生在学习过程中的表现和积极程度,通过期末考试成绩来考察学生对课程知识的掌握程度。这样的考核方式可以全面评价学生的学习表现,使评估结果更加准确和公正。
1) 平时成绩
平时成绩在总成绩中占比40%,其由出勤率、每次课后作业和课堂表现三部分组成。平时成绩以百分制计算,通过理论指导实践案例、加深理论理解和专业知识融合的方式来评估学生的学习情况 [17] 。这种评估方法能够帮助提高学生对程序设计语言等相关内容的兴趣,并提高课堂学习氛围和学生表现欲望。通过运用信息技术来解决本专业领域的问题,学生将能够实际应用所学的知识和技能。这样的考核方式可以全面评估学生在课堂学习和实践中的表现,促使他们更加积极地学习和掌握编程语言。
2) 期末成绩
期末考试在总成绩中占比60%,试卷包括10题选择题(20分)、10题填空题(10分)、10题判断题(10分)和1题实践题(50分)。
选择题、填空题和判断题主要考核学生对基础知识的掌握程度,而综合实践题则综合考核学生的编程能力和计算思维能力。对于这道题目,学生会收到一个问题,并需要结合旅游管理专业相关知识,给出算法描述(如采用程序流程图、伪代码等工具描述)、系统功能划分以及相应的程序源码。
考试评分将依据学生在问题解决、与旅游管理专业知识的结合以及程序编写能力方面的表现来确定。通过这样的评分方式,能够更准确地评估学生的综合能力和运用技能,反映他们的实际水平。通过这种综合的考核方式,可以对学生在编程知识和能力方面进行全面评估,从而准确地反映他们对Python程序设计的整体掌握情况。
5. 结论
在Python语言程序设计课程中,学生的培养目标 [18] 是在熟练掌握Python语法规则的基础上,提升他们在工程实践中发现问题、分析问题和解决问题的能力。为了达到这个目标,本文采用了结合语言特点的教学方法,设计了旅游管理专业学生感兴趣的情景驱动教学任务,并设置了多阶段、不同层次的教学实践。
比如,在教学实践过程中可以设计一个旅游景点评价系统的项目,让学生收集和处理游客的评价数据,通过Python进行统计分析,提取出有价值的信息。为了提升学生的问题解决能力,本课程还设计了多个阶段的教学实践任务,分为数据采集、数据处理、数据分析等多个阶段,每个阶段都有不同的挑战和问题需要学生解决。除此之外,还可以设计不同层次的教学实践任务,以满足不同学生的需求。例如,对于初学者,可以设计一些简单的实践任务,帮助他们熟悉Python语言的基本语法和常用功能;对于进阶学生,可以设计一些复杂的实践任务。
在课程中,通过采用结合语言特点的教学方法,设计情景驱动教学任务,并设置多阶段、不同层次的教学实践,可以有效提升学生在工程实践中发现问题、分析问题和解决问题的能力。通过编程设计的过程,学生逐步培养清晰的逻辑思维,能够精准分析实际情况的关键点,并给出相应的解决方案。这样的学习过程真正提高了学生的动手能力。在兴趣引导的学习过程中,学生可以获得解决问题的满足感,从而保持对学习的持续热情 [19] 。通过这样的教学方式,学生不仅能够掌握Python语言的编程技能,还能在实践中培养解决实际问题的能力,使他们对课程内容有更深入地理解和运用。
未来,在课程建设的探索中我们将重点关注学习Python语言的学生之间存在差异的问题 [20] ,探究学生之间存在哪些差异,以及造成这些差异的原因,并寻求方法来更好地将教学内容与专业知识融合。此外,我们还将进一步改进过程性评价和终结性评价的考核方案,为培养出更多优质复合型人才做出努力。
基金项目
桂林理工大学校级教改项目(No. 2018A34,大数据背景下旅游管理管理专业信息类课程群精准教学的探索与实践);文化和旅游部(No. WLRCD-2019-070,基于马尔可夫链的景区游客移动规律研究);桂林市科学技术研究开发项目(No. 20180102-2,龙脊梯田景观资源可持续利用技术集成研究与旅游产业示范)。
NOTES
*通讯作者。