您好, 访客   登录/注册

艺术院校Python程序设计课程教学研究

来源:用户上传      作者:张晶

  摘要:当前各大艺术院校在专业设置上既有传统的国油版雕,又融入了互联网的新技术和数字技术的艺术设计,由于艺术类学生的逻辑训练较弱,程序设计类课程难以入门。但对于图形图像掌握较好。目前各大高校都相继开设Python语言程序设计课程的教学,本文着重讨论如何结合艺术类学生的特点和Python在图形图像编程的优势,对研究艺术类高校(设计类)专业如何更有效地开展Python教学进行研究。
  关键词:Python;图像处理;艺术院校;教学方法
  中图分类号:TP311          文献标识码:A
  文章编号:1009-3044(2020)28-0170-03
  1 引言
  Python语言是一种面向对象的解释型计算机程序设计语言,其语言的简洁性、易读性以及可扩展性,成为最受欢迎的程序设计语言之一。Python语言是一门非常简单易学的语言,实践证明,大多数没有任何程序设计基础的大一学生都可以在1小时内理解Python设计方法并具备十几行代码的编写能力,这显然,对于艺术类高校的学生选择Python语言极为合适。
  艺术类专业的学生学习编程的目的不是为了培养专业的编程师,而是锻炼学生的逻辑思维能力和分析能力,除此以外,Python语言的应用领域非常广泛,如图像处理、界面接口设计、数据分析等,所以这是让更多的非计算机专业学生学习编程的必要性。
  2 艺术院校开展程序设计课程
  艺术院校本科教学中,涉及学科众多,以中国美术学院为例,就开设了五大学科十大学院(设计学院、公共艺术学院、建筑学院、影视动画学院、创新学院等),其所有专业都属于非计算机专业,《大学计算机基础》课程为先修课程,在创新学院首开程序设计课程,这无疑对艺术类学生是个挑战,现在的大学生思维跳跃、性格外向、审美能力较强、具有一定的创新能力,对图形的处理能力和造型的把控能力都很强,但存在逻辑思维能力较弱,程序设计有需要相当的严谨性、逻辑性和条理性,能不能很顺利地开展Python教学,在开课之前,笔者做了一些调查,如表1。
  通过表1大体了解,即便是艺术学院的学生,也存在某些专业的学生已经了解Python语言,其次,尽管艺术院校95%的学生都不具有编程基础,但意向学习的专业学生最高达到40%,所以在艺术院校开设Python,或者说推进计算机语言的学习,是能够被学生接受和肯定的。Python语言是最容易读懂的编程语言,代码简洁明了,方便调用函数库,这对于初次接触编程的学生来说没有压力,学习上困扰较少,学生不需要纠结其语法和算法,而是用最直接给出问题并提出解决方案,那么在艺术院校如何开展Python,或重点教授哪一些函数库是对学生的专业最有用的,是值得我们教师在教学目标、教学内容和教学形式上做功课。
  如在教学内容上可做如下安排(见表2)。
  通过表2可知,根据学生的学习能力,把这个Python的教学分为必修部分和选修部分,学习了必修部分的内容,要求能独立用Python语言来处理专业内的图形处理问题。而选修部分的学习内容,有一定难度,让学生通过大量的实例和练习,来独立进行艺术图像绘制的编程能力。另外,由表2可知,在讲解Python语言的时候,尽量简化语法,用具体的、生动的图形来理解程序的基本结构,其次,考虑到专业的不同,适当引入实例,启发式教学推进,多使用现成的函数库调用,让程序设计的处理显得不是那么复杂,学生的兴趣一点点地被激发。
  对于学习能力强的学生,可以进入Python的高级应用学习,如图像处理软件与Python的完美结合,来更生动、更细微的来解决艺术图像的问题。
  3 Python语言的特点
  Python语言的设计哲学是“明确、简单、优雅”,Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。其语言有以下特点:
  1) 简单易学:Python是一种代表简单主义思想的语言。Python容易上手,阅读一个良好的Python程序就感觉像是在读英语一样。
  2) 免费、开源:Python是自由软件之一。使用者可以自由地发布这个软件的拷贝,阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。
  3) 高级语言:用Python语言编写程序时无须考虑如何管理你的程序使用的内存等这些底层细节。
  4) 可移植性:Python已经被移植到许多平台上。这些平台包括各大操作体统如Windows、苹果系统OS。用Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。这使得Python语言更加简单,也是Python程序更加易于移植。
  5) 可扩展性:如何需要一段关键代码运行得更快或者希望某些算法不公平,可以部分程序用C或C++編写,然后再Python程序中使用它们。反过来也可以把Python嵌入C或C++程序,从而向程序用户提供脚本功能。
  6) 丰富的库:Python标准库很庞大,如turtle库、PIL库、PILLOW库等都是具有强大图像处理能力的第三方库,不仅包含了丰富的像素,色彩操作功能,还可以用于图像归档和批量处理,这无疑能更有效地解决艺术院校的设计类专业的问题。
  4 艺术院校Python语言教学的策略研究
  国内外广泛关注且推进“计算思维”教学理念,具有“计算思维”的学习者应该能够深刻理解问题的计算特性并善于利用计算机解决问题。选择Python语言作为“终身受用的程序设计语言”来针对艺术院校来教学,是因为Python语言是一种简洁且强大的语言。它的语法简洁质朴,可以用优美来形容,最关键的,它强大的图像库作为解决设计专业类的有效途径。在Python语言教学上,应该简化语法,在案例中循序渐进学会语法,激发学生兴趣、以图形案例为主体的教学方针。   1) 弱化语法
  长期以来,各地高校对非计算机专业会普遍开设C 语言或C++语言程序设计课程,但是在长期的教学过程中,因为教学内容枯燥、语法复杂、学习难度大的因素,再加上非计算机专业学生缺少计算机体系结构相关知识,使得C 语言或C++语言程序设计课程教学上出现很大的困惑,也无法开展后续的计算机应用来解决学生专业领域中的问题。显然,C语言或C++语言太抽象,比较合适计算机专业的学生。
  Python是相对的自由软件,Python语法简洁清晰,强制缩进,可读性好,相对于c或c++语言,Python学习起来会更轻松、更具有规律性,它丰富的扩展库和函数库很方便地进行调用。
  目前,各地高校开始尝试针对非计算机专业用Python语言来教学,其主要原因:①语言代码简洁,不要求程序通过函数封装,代码行数简短;②语法简单,能降低非计算机专业学生的学习难度;③拥有强大的图形库,能够实现各种实用结果,提高学生学习的兴趣,有助于学生学会一种终身受用的编程语言。
  2)图像库的学习导入
  PIL(Python Image library)库是Python语言的第三方库,需要通过pip工具安装,PIL库支持图像存储、显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放、剪裁、叠加以及向图像添加线条、图像和文字操作。
  PIL库主要可以实现图像归档和图像处理两方面功能需求。图像归档:对图像进行批处理、生成图像预览、图像格式转换等。图像处理:图像基本处理、像素处理、颜色处理等。最常用的3个字库为:Image、ImageFilter、ImageEnhance。Image类的图像读取和创建方法有image.open()、image.new()、image.frombytes、()inage.verify(),image类的常用属性有image.format、image.mode、image.size、image.palette,image类的序列图像操作方法有image.seek()、image.tell(),image类的图像转换和保存方法有image.save()、image.convert()、image.thumbnail()。
  Tutul库是一个很直观有趣的函数库。它的主要功能就是实现简单图形到复杂图形的绘制。它的基本思路是:有一个小海龟在沿着坐标系爬行,形成一个图形的轨迹。Turtle.penup()、turtle.pendown()分别表示抬起画笔和落下画笔,turtle.pensize()、turtle.width()表示设置画笔尺寸和宽度,turtle.pencolor()表示给画笔设置颜色,turtle.fd()和turtle.seth()表示行进动作和改变绘制角度。通过这些比较简单的命令,就可以绘制出基本形状或较为复杂的卡通形象。
  3) 案例教学,循序渐进
  面向艺术类专业学生的授课教学中,采用图形案例
  为主,可以激发学生的学习兴趣并提升学习主动性。设计类的学生都有很强的图形设计和造型能力,能把程序设计课的内容用于手绘的效果,无疑对学生来讲很是新鲜和新奇。研究用Python语言程序设计在选取案例如何增加趣味性、规律性,总结编程思路,积极引入最合适学生的图像函数库,使得编程能有效地解决学生的专业上的问题,从而实现教学目标。
  和大多数程序语言设计一样,Python语言也是涉及程序的控制结构,分单分支if结构、二分支if…else、多分支if…elif….else结构和循环结构(for、while、break、continue),那我们在设计教学思路的时候采用tutle库形象的介绍这几个结构的区别。
  例如顺序结构程序设计的教学,应用turtle 库绘制等边三角形,通过绘制的结果来理解、掌握顺序程序设计结构。如图1(程序和结果)。
  例如分支结构程序设计的教学,应用turtle库绘制五角星、正方形等图形,通过绘制的结果来帮助学生理解和掌握分支结构。如图2、图3(程序和结果)。
  例如循环结构程序设计的教学,应用turtle库绘制蜂窝等图形,通过绘制的结果来帮助学生理解和掌握循环结构。如图4(程序和结果)。
  5 结束语
  对艺术院校的学生而言,不但要学会自身的专业,并且要适应“计算思维和计算生态”的教学理念,计算机程序语言犹如新鲜血液一样注入他们的专业中,Python语言的学习对于艺术院校的开展是迫在眉睫和持之以恒的,但与计算机专业学生的教学策略是不同的,需要结合艺术专业特点因材施教,利用Python语言特点与艺术类学生的优势,使得艺术与科技的完美结合,为社会输送更优秀的复合型人才。
  我院的Python语言基础课程尚在起步阶段,在课程的教学内容和安排上进行了一些阶段性的尝试和思考,目前受到了選修学生的欢迎,学生学习的积极性和主动性都很高,这对于我们这一批开课老师也有很大的动力。在利用现有线上课程资源的基础上,要尽快创建适合艺术院校课程需求的慕课;其次,更系统的分析各专业特点和需求,编写适合不同专业需求的教学案例,积极探索教学改革,让Python学习成为艺术院校专业学习的一个分支。
  参考文献:
  [1] 中国高等院校计算机基础改革课题研究组.中国高等院校计算机基础教育课程体系[M].北京:清华大学出版社,2014:9-10.
  [2] 嵩天,黄天羽,礼欣.Python 语言:程序设计课程教学改革的理想选择[J].中国大学教学,2016(2): 42-47.
  [3] 仲晓芳,庞胜楠,尹百慧.面向非计算机类专业Python编程教学设计研究[J].无线互联科,2017(18).
  [4] 曹玉婵,左映龙.面向高职院校艺术设计类专业Python语言的教学策略研究[J].电脑知识与技术,2019(31).
  【通联编辑:朱宝贵】
转载注明来源:https://www.xzbu.com/8/view-15372831.htm

服务推荐