首页 > 范文大全 > 正文

基于Python的“大学计算机基础”课程教学设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Python的“大学计算机基础”课程教学设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 为了培养非计算机专业大学生的计算思维能力,在“大学计算机基础”课程教学中引入程序设计内容已成各大高校的共识,但选择何种程序设计语言仍然观点不一。本文针对大一新生的实际情况,提出使用Python作为本课程的教学语言,并设计了具体的教学过程。实践表明,和C++等传统语言相比,Python语言可以更好地满足不同程度学生的学习需求。

关键词 计算机基础教学 大学计算机基础 Python 教学设计

中图分类号:G424 文献标识码:A DOI:10.16400/ki.kjdkz.2016.11.058

1 “大学计算机基础”课程中的程序设计教学

“大学计算机基础”(Fundamentals of Computers)是根据教育部计算机基础教学指导委员会“1+X”培养要求开设的公共基础课程,是大学各专业一年级新生的第一门计算机课程,也是本科各学科专业学生必修的公共基础课程。早期的大学计算机基础课程主要讲授一些有关计算机的软硬件基础知识,以基本应用为主,并没有过于涉及程序设计的内容;但在2010年九校联盟(C9)“计算机基础教学发展战略联合声明”之后,为了能在课程中向学生传递计算思维的理念,必须在大学计算机基础课堂上适当增加基础的程序设计内容已经是各大高校的共识,以便使用简单的程序设计语言来描述抽象、自动化等计算思维理念。但在大学计算机基础课程中具体选择哪一种教学语言,各大高校产生了分歧。

有的高校根据后续程序设计课程的需求,选择了C语言、C++语言或Java语言作为教学语言,这几种语言虽然在工程界应用很广泛,但都存在着门槛高、学习曲线陡峭、上手难的问题,如果要想让学生基本能读懂使用上述语言描述的算法,需要的教学时间很长,一般要大概两个月,也就是说几乎50%的大学计算机基础教学时间都要用于语言教学,显然有些喧宾夺主。同时,由于大学计算机基础课程面向全校各专业学生,这些学生来自全国不同的省份,不同地区的教学模式和教学水平不同,学生在高中阶段接触计算机的时间早晚、深入与否有很大差异,造成大一入学时学生的程序设计基础参差不齐,给教学带来了一定困难。因此在大学计算机基础教学过程中,需要兼顾不同学生的接受程度,选择一种语法简单、又具有深度的程序设计语言就变得非常重要。Python是一种类似脚本语言的高级程序设计语言,入门语法简单,上手容易,并且广泛应用于科研和工程领域,无论对于初次接触程序设计的新生,还是具有一定基础的学生,Python都能够满足他们的不同的学习需求,目前已成为了我校“大学计算机基础”课程常用的教学语言之一。

2 Python语言的优势

Python是动态数据类型的、面向对象的、解释类型的高级程序设计语言,经过二十多年的发展已经非常成熟和稳定。它的语法简洁并且清晰,与其他大多数编程设计语言不一样,采用缩进来定义语句的层次。Python语言支持命令式编程、面向对象编程、函数式编程、泛型编程等多种编程方式。与Ruby、Perl等动态语言一样,Python语言具备垃圾回收功能,能够自动管理内存。Python经常作为脚本语言处理系统管理任务,而且比系统自带的脚本语言语法更简单、清晰。它拥有功能强大的第三方库,因此适合执行各种高级任务,比如完成GUI编程、游戏编程、网络编程等。Python交互式的命令行可以帮助用户立即体验其编码方式并得到反馈结果,不需要了解语言全貌,使用者可以独立地学习单个命令而不必编写完整程序。总之,Python语言继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性。它在设计上的以下几个特c有利于大学计算机基础课程教学:

(1)Python在设计上坚持了清晰划一的风格,代码易读、易学习、易维护。缩进格式要求严格,违反缩进规则的程序不能通过编译,以此来强制学生养成良好的编程习惯。

(2)Python是面向对象语言,提供了丰富的数据类型,函数、模板、数字、字符串都是对象,完全支持继承、重载、派生、多继承等特性,同时隐藏了底层内存管理、垃圾回收等细节,在教学上不仅内容完全满足课程教学需要,可以让学生在学习语言本身上节省很多时间和精力。

(3)Python语言是基于虚拟机机制的,可以在各个平台上安装使用。python开发环境开源且数量众多,主流的操作系统如Linux、Windows都能很好地支持Python环境。在常用的Windows平台下,只需一个很小的开源安装包就可以构建Python的基础开发环境,降低了环境配置的难度,使得学生能够很快上手。

(4)Python允许以交互模式运行。在主流操作系统中可以在命令模式下直接运行Python交互环境,输入指令可以立刻获得运行的结果。交互模式易于被没有程序设计经验的学习者理解,适合在课堂授课中实时演示各种命令和语句的功能。

(5)Python具有良好的可扩展性,可以把其他语言开发的程序和Python代码集成,发挥不同语言各自的优势;而且有大量高质量的第三方扩展库,在不同的应用领域都有用武之地;同时,Python语言仍在不断更新,具有良好的发展前景,便于调动学生学习的主动性。

Python在设计上的特点决定了它简单、易学、速度快。初学者不需要过度关注语言本身的知识,可把重点放在理解计算思维这一根本任务上来,通过Python语言来学学计算机基础课程具有很大的优势。

3 基于Python的“大学计算机基础课程教学设计

“大学计算机基础”课程包括分为理论教学和实践教学两部分内容。理论教学部分主要教授学生计算机软硬件基础知识、计算思维、算法思想等。由于“大学计算机基础”是一门大一的课程,学生的学习基础和高中时所受的计算机教育息息相关。水平高的学生在高中可能都已经参加过信息学奥林匹克竞赛,而来自较偏远、家庭情况较困难的学生则可能从来没有接触过,对基础不同的学生同时教授相同的内容是不合理的。针对这种情况,一种策略是类似英语教学的分级制,在入学摸底考试中增加计算机基础测试,同时适当考虑学生的自主选择,依据评估结果将学生划分到不同的班级,采用不同的教学进度对学生因材施教。但这种方案对高校目前的班级管理制度影响较大,难以推行。另一种策略就是使用基础灵活的教学语言,C++等传统语言门槛太高,不适合程度低的学生;而VB等语言虽然简单,但功能较弱,且在业界较少应用;综合考虑,Python语言兼有两类语言的优点,入门容易且功能强大,有利于教师针对不同程度的学生制定不同的教学策略,达到最优的教学效果。

实践教学部分主要是实践学生所学习的理论知识,把课堂上学习到的各类计算机软硬件问题使用计算机语言来进行计算或仿真。在实践教学中,对于C++等学习曲线陡峭的语言,教师往往需要在入门阶段对学生进行一一辅导,费时费力,教学效率低下。使用Python语言作为教学语言之后,教师为主,辅之以一定数量的研究生助教,完全可以保证为每个学生提供足够的指导,使得他们能够及时解决遇到的问题。同时,我们在实践教学过程中采用积分制,布置较多的实验题目,不要求学生必须全部完成,对不同难度的实验内容设置不同的实验分数,每个学生的总分只要_到一个适当的值,平时成绩就可以得满分。同时为了防止学生只挑难度低的实验题目提交,需要对难度较大的实验设置一个最小数量阈值,每个学生必须完成给定数量的较难题目。

我们统计了学生分别使用C++和Python语言完成“大学计算机基础”实验的完成率,除了语言要求不一样之外,题目的内容基本一致,统计结果如图1所示,其中实验难度是从第1次到第9次逐步递增。从图中可见,基于C++的实验完成率要明显低于基于Python的实验完成率,且随着实验难度的增加,基于C++的实验完成率下降速度要明显快于基于Python的实验完成率。可以看出,基于Python的“大学计算机基础”教学可以取得更加良好的效果。

4 结语

随着各行各业越来越依赖于信息技术,无论在大学中学习什么专业,未来从事什么工作,掌握基本的计算机软硬件技术,乃至具备基本的高级程序设计能力愈来愈成为社会对每一个人的要求。考虑到非计算机专业学生的实际需求,基于Python的“大学计算机基础”课程不仅能帮助学生掌握信息技术的基本脉络,培养基础计算思维能力,最终是要训练他们使用计算思维和程序设计技术来解决他们本专业中遇到的种种实际问题。使用Python作为“大学计算机基础”课程的教学语言,大大降低了学习编程语言本身的难度,使基础较差的学生也能够迅速上手;同时Python强大的扩展功能更能激发他们持续的学习兴趣。我们在未来的教学改革过程中,要继续利用好Python语言强大的第三方开发库,逐步开发出适合不同专业的、定制的教学计划,激发学生发现问题和解决问题的兴趣,使学生能够更好地理解信息技术在本专业的应用,提升计算思维能力,努力培养信息化社会亟需的计算机和各专业的交叉人才。

参考文献

[1] 九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教学,2010(9):4-9.

[2] 张茗芳.动态语言Python探讨与比较[J]. 企业科技与发展,2012(13):57-60.

[3] 沈殊璇,薄亚明.适合于科学计算的脚本语言Python[J].微计算机应用,2002(5):289-291.

[4] 狄博,王晓丹.基于Python语言的面向对象程序设计课程教学[J].计算机工程与科学,2014(A1):122-125.

[5] 黄宏博.以Python语言作为高校程序设计课程主语言的探讨[J].教育艺术,2015:283.