基于Python 的大学计算机基础课程实践教学改革

2020-04-04 06:36郭福亮崔良中李永杰
计算机教育 2020年2期
关键词:编程基础计算机

周 钢,郭福亮,崔良中,李永杰,郭 晖

(海军工程大学 电子工程学院,湖北 武汉 430033)

0 引言

大学计算机基础课程是面向大学各专业开设的基础性、通识性课程,以全面培养学生的信息素养、计算科学修养和计算思维能力为主要目标,以讲授计算机基础理论知识和开展应用实践为主要内容。在课程实践教学中,如何通过内容重组、教学设计来实现计算思维培养的实践落地,是当前教学改革趋势和研究热点[1]。笔者以Python 语言作为工具,重构大学计算机基础课程实践教学体系,重点构建多层次创新型实验,从而加强对理论知识的验证和理解,增强实际问题研究和解决能力,推动计算思维培养的实践落地。

1 大学计算机基础课程实践教学现状

1.1 课程现有实验体系

文献[2]认为大学计算机基础课程的实践教学应当围绕应用能力培养为核心,开设多层次、多类别、多样化的教学实验。

根据院校特点按一般要求和较高要求,构建3 方面×3 层次实践教学体系,从计算机网络应用与信息检索方法、关系数据库管理系统、多媒体信息处理3 个方面,按照操作性基础、综合性技能、专业性应用3 个层次构建基础验证型、综合设计型、创新研究型3 类实验。

1.2 课程现有实验内容

根据文献[2]中大学计算机基础课程教学要求,和文献[3]中大学计算机课程典型教学方案,当前课程现有实验内容包括三大类。

(1)基础应用操作类。围绕以Office 办公软件为主的基础应用软件的操作,包括文档编辑、电子表格设计、演示文稿制作等,以及计算机系统软硬件安装、网络信息资源检索等,主要覆盖操作性基础层次和综合性技能层次实验。

(2)综合技能应用类。配合大学计算机基础理论教学,围绕数据库技术、网络技术、多媒体技术等开展数据库管理技术、网络软硬件设置与调试、多媒体软件应用等,主要开展综合性技能层次实验。

(3)编程初级实践类。配合大学计算机基础分级不同,部分课程教学方案涉及少量初级编程知识,主要包括VBA、SQL、Python 以及函数式Haskell、逻辑式Prolog 语言开展基础编程实践,围绕简单实际问题开展综合性技能层次的编程基础应用实验,该部分内容与后续开展的程序设计基础课程的内容大量重复,不适应大部分院校大学计算机基础课程教学需要。

根据文献[4—6]的分析以及实地调研情况,当前大学计算机基础实践教学存在的问题主要集中在几个方面。

(1)课程实验理念缺乏思维性。当前实验实施围绕应用能力培养为中心,关注基础应用能力和综合应用技能的培养,缺乏对计算思维的关注与培养,虽然部分实践教学实施中引入编程初级实践,但对于计算思维的体系化、深层次的培养缺乏系统设计。因此,当前的课程实践教学难以让计算思维培养实现实践落地。

(2)课程实验体系缺乏高阶性。当前实验体系主要围绕操作性基础层次实施,少量开展综合性技能层次实验,极少有专业性应用层次实验,实验体系缺乏高阶性。由于课程实践教学缺乏与实际问题、专业知识的联系,实践教学未能提供相关基础理论知识在专业领域、实际生活中灵活应用与实践的案例,实验体系仍停留在验证理论知识、关注应用能力和综合技能的低层次实践中。

(3)课程实验内容缺乏配套性。实践教学的目标之一就是要验证理论课堂教学内容的知识。现有的实验内容充斥了大量Office 为代表的应用软件(工具)操作应用,与理论课堂的计算机基础知识体系不配套。现行的实验教学内容易出现理论教学内容与实践教学项目脱节、理论授课和实验教学两张皮,导致课程学习连贯性不强,实验教学用以验证理论所学的功能未能发挥。

(4)课程实验难度缺乏挑战性。随着信息技术发展和高中阶段信息类课程改革,大学新生的计算机基础操作能力明显提升,部分大学新生已经具备计算机软硬件安装调试、Office 操作、网络使用、安全设置等方面的应用技能。因此,原有的基础应用操作类、综合技能应用类实验对于相当部分学生不解渴,实验项目缺乏难度和挑战度。

2 基于Python的多层次创新型实验

2.1 课程实践教学改革基本情况

Python 语言是一种面向对象的解释性脚本语言,具有跨平台、简单易学、应用广泛的特点,对比典型的C 语言,学生能够用有限时间和精力完成运用Python 语言开展大学计算机基础课程的任务,并激发编程兴趣[7]。因此,Python 语言是当前大学计算机基础课程实践教学的编程语言工具最佳选择。

基于Python 的大学计算机基础课程实践教学改革,以Python 语言为工具,全面革新实验目标、重组实验内容、重构实验体系,课程改革基本情况如下。

(1)建立“一个中心、三种能力”的实践教学目标。一个中心是以“计算思维”培养为中心,构建三种能力,即计算机基础应用能力、编程实践能力、综合创新能力,其中基础应用能力主要是原有以Office 为代表的计算机基础应用系统、软件和工具的操作实践能力和综合应用技能;编程实践能力主要是Python 语言的编程实践能力,一是Python 基础语法、结构和算法,二是运用Python 开展计算机基础理论知识的验证能力;综合创新能力主要是运用Python 编程语言和基础应用软件,开展创新实践活动,解决日常生活、专业领域和军事应用中的实际问题。

(2)构建“一内一外,一点一线”的实践教学内容。围绕“三种能力”构建课内课外的“一内一外”两种实践教学形式,结合设计“一点一线”的教学内容,其中课外主要通过自主学习模式开展计算机基础应用能力和操作技能的自学自训[8],课内实验围绕Python 语言编程这一点开展程序设计基础实践,在此基础上,以Python 语言为线贯穿计算机基础理论知识体系的验证实验。

(3)创建“理实结合,四位一体”的实践教学体系。依托Python 语言构建理论与实践相结合,形成自主操作型、理论验证型、综合实践型、研究创新型为一体的实践教学体系,其中自主操作性依托课外自主学训围绕计算机基础应用软件或工具开展,后续3 种实验均依托Python语言开展,按照Python 程序设计实践、基础理论知识验证、综合案例创新实践从基础、实践到创新3 个层次逐步深入展开。

2.2 多层次创新型实验的研究设计

围绕大学计算机基础实践教学目标,以Python 语言为工具,构建多层次创新型实践教学体系。大学计算机基础课程设计48 课内学时和24 学时课外实验,课外实验以自主操作型实验为主培养计算机基础应用能力,课内48 学时按照理论讲授与实践教学各24 学时,具体介绍课内48 学时的教学内容及设计。相关教学的课时安排和内容设计见表1。

大学计算机基础课程按照理论与实践相配合,先讲授Python 程序设计的基础知识,重点突出Python 基本结构、组合数据、常见算法及其配套实验项目,借用Python 语言的Turtle 绘图可视化展现,加深对Python 基础语法、结构和算法的理解,加深对Python 语言的理解和兴趣。在初步掌握Python 程序设计基础知识基础上,对计算机基础理论知识体系,按照理论教学、验证实验、综合创新逐步深入,加强对理论知识的深度理解和Python 语言的灵活应用。

同时,配合实践教学开展,举办课程竞赛的创新实践活动,配合实验内容按照图文设计、数据分析、Python 编程三个主题开展开放性创新实践活动,通过广泛参与、集中评比、考评加分,从而激发创新动力。

2.3 多层次创新型实验的案例分析

(1)教学目标。以Python 多媒体编程实验为例,具体介绍多层次创新型实验的设计与实施,主要掌握计算机的图像、音频等多媒体进行数字化的过程、指标和方法。具体知识点包括:数字化抽样、量化、编码过程;图像的分辨率、像素深度、RGB 编码等数字化指标和容量计算方法;音频的采样频率(周期)、量化位数和声道数等数字化指标和容量计算方法。

(2)实验设计。主要针对图像的分辨率、像素深度、RGB 编码等数字化指标和容量计算方法的知识点,开展4 个实验项目,具体实验项目设计见表2。

表1 课程教学安排与内容设计

(3)实验实施。以实验3 为例改变图片区域颜色,重点理解图片色深概念和数据量计算方法,按照引导、编程、验证、结论4 个步骤具体分析本实验开展和实施过程。

·引导

介绍像素深度的基本概念,回顾理论课程关于色彩模式、像素深度和图像数据量计算方法,介绍RGB 颜色向灰度颜色转换的计算方法,介绍PIL 库。

·编程

在了解相关Python 语言库基础上,采用对比实验方法验证像素深度的概念,理解像素深度对图像数据量计算的影响。

①了解PIL 库的基本用法,了解load()、putpixel()、convert()等函数的功能和简单使用。

②使用RGB 值转化为灰度值,从而将彩色图片转化为灰度图片,核心代码为:

③使用色彩模式方法,转换为灰度模式,核心代码:

④计算数据量,估算像素深度:

·验证

验证分辨率、像素深度和数据量计算方法的理论知识,通过编程步骤,对照使用操作系统对指定图片查看属性,查看Python 编程结论是否正确,通过实验验证已学理论知识是否正确。

·结论

结合Python 编程实践和对比验证,从引导思考、编程实践、探究分析中得到相关理论知识结论,加强对理论知识的深度理解和灵活运用。

2.4 多层次创新型实验的特点

基于Python 语言开展多层次创新型实验,在实验难度、内容、体系对已有实践教学开展全方面改进,具有鲜明特点。

(1)难度从易到难,具有递进性。实验设置Python 程序设计实践、基础理论知识验证、综合案例创新实践构建了基础型、验证型、探究型等多个难度层次创新实验,难度逐步递进,符合一般认知规律和学习习惯。

(2)配合理论教学,具有验证性。实验紧密围绕和配合理论知识开展,将Python 语言作为验证工具,运用编程实践方式来验证已学理论知识。

(3)引导探究创新,具有探索性。实验围绕一个主题,内容相互配合、难度层层递进,激发学生兴趣,鼓励主动学习,引导学生思考、探究、创新。

(4)强调举一反三,具有创新性。在基础理论知识验证实验基础上,运用基础理论知识和Python 在本领域中应用,稍增难度,开展贴近生活、激发兴趣的创新实验。

(5)开展创新实践,具有挑战性。对于学有余力的学生,通过课程创新实践活动,进一步提升Python 编程等实践能力,为更高水平学科竞赛和创新活动发掘、输送人才。

3 基于Python的实践教学试点改革效果分析

2017 年9 月海军工程大学开始在2017 级新生的大学计算机基础课程中引入Python 语言教学,并开设了基于Python 的多层次创新型实验,迄今已经试点运行2 期,并于2018 年公开出版配套实验教材《大学计算机基础实验》[9],目前在军队4 所院校推广应用。

结合前期试点应用情况,对比传统的计算机应用操作实验体系,基于Python 的实践教学有助于促进学生主动学习、提高实验课堂效果、提升课程考核成绩、等考通过率大幅提升、激发学生创新意识。

1)学生精力投入增多。

根据实验测试平台统计,学生课下运用平台进行实验练习平均时间为2.5 小时/周,由于课程实验难度提升、内容丰富,课上实验学生的参与度、专注度、完成度均有明显提升,杜绝课堂违纪现象。

2)考核成绩提升明显。

课程增加了Python 内容,期末考核中Python 编程内容占25%左右,对照往届考核情况,期末考核均分基本和往届持平。结合2017级、2018 级学生在次年3 月国家计算机等级考试,对比往届考核情况,发现计算机一级初次参考通过率为82.5%,较往届降低4.5%,而计算机二级(Python)的初次参考通过率为37.5%,较往届提高30%左右。

3)创新能力显著增强。

课程配套了创新实践活动,围绕解决生活实际问题和军事领域应用,以课程竞赛形式推动学生创新实践能力培养,2017 年、2018 年学生参与并最终完成作品提交比例分别为35.6%和47.5%,且以Python 编程作为竞赛作品的比例分别占40%和60%,呈现逐年上升趋势,作品难度、创新度同步提升,得到大学领导、教学督导专家一致好评。

4 结语

传统的大学计算机基础课程实践教学存在缺乏理念思维性、体系高阶性、内容配套性和难度挑战性,借助Python 语言好学易用的特点,全面革新实验目标、重组实验内容、重构实验体系,推动实践教学改革。以Python 语言为工具,构建了Python 程序设计实践、基础理论知识验证、综合案例创新实践的多层次创新型实验,并以“多媒体数字化”教学内容为案例,具体分析了新型实验教学的设计与实施。根据海军工程大学2017、2018 级学生试点应用情况,基于Python 的实践教学能够促进学生更多投入,提高实验课堂效果,提升课程考核成绩,激发学生创新意识,从而实现计算思维培养的实践落地。

猜你喜欢
编程基础计算机
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
中国计算机报2019年48、49期合刊
夯实基础,举一反三
夯实基础,举一反三
中国古代的“计算机”
“防”“治”并举 筑牢基础