張晶
摘要:當前各大藝術院校在專業(yè)設置上既有傳統(tǒng)的國油版雕,又融入了互聯(lián)網(wǎng)的新技術和數(shù)字技術的藝術設計,由于藝術類學生的邏輯訓練較弱,程序設計類課程難以入門。但對于圖形圖像掌握較好。目前各大高校都相繼開設Python語言程序設計課程的教學,本文著重討論如何結合藝術類學生的特點和Python在圖形圖像編程的優(yōu)勢,對研究藝術類高校(設計類)專業(yè)如何更有效地開展Python教學進行研究。
關鍵詞:Python;圖像處理;藝術院校;教學方法
中圖分類號:TP311 ? ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2020)28-0170-03
1 引言
Python語言是一種面向對象的解釋型計算機程序設計語言,其語言的簡潔性、易讀性以及可擴展性,成為最受歡迎的程序設計語言之一。Python語言是一門非常簡單易學的語言,實踐證明,大多數(shù)沒有任何程序設計基礎的大一學生都可以在1小時內理解Python設計方法并具備十幾行代碼的編寫能力,這顯然,對于藝術類高校的學生選擇Python語言極為合適。
藝術類專業(yè)的學生學習編程的目的不是為了培養(yǎng)專業(yè)的編程師,而是鍛煉學生的邏輯思維能力和分析能力,除此以外,Python語言的應用領域非常廣泛,如圖像處理、界面接口設計、數(shù)據(jù)分析等,所以這是讓更多的非計算機專業(yè)學生學習編程的必要性。
2 藝術院校開展程序設計課程
藝術院校本科教學中,涉及學科眾多,以中國美術學院為例,就開設了五大學科十大學院(設計學院、公共藝術學院、建筑學院、影視動畫學院、創(chuàng)新學院等),其所有專業(yè)都屬于非計算機專業(yè),《大學計算機基礎》課程為先修課程,在創(chuàng)新學院首開程序設計課程,這無疑對藝術類學生是個挑戰(zhàn),現(xiàn)在的大學生思維跳躍、性格外向、審美能力較強、具有一定的創(chuàng)新能力,對圖形的處理能力和造型的把控能力都很強,但存在邏輯思維能力較弱,程序設計有需要相當?shù)膰乐斝?、邏輯性和條理性,能不能很順利地開展Python教學,在開課之前,筆者做了一些調查,如表1。
通過表1大體了解,即便是藝術學院的學生,也存在某些專業(yè)的學生已經(jīng)了解Python語言,其次,盡管藝術院校95%的學生都不具有編程基礎,但意向學習的專業(yè)學生最高達到40%,所以在藝術院校開設Python,或者說推進計算機語言的學習,是能夠被學生接受和肯定的。Python語言是最容易讀懂的編程語言,代碼簡潔明了,方便調用函數(shù)庫,這對于初次接觸編程的學生來說沒有壓力,學習上困擾較少,學生不需要糾結其語法和算法,而是用最直接給出問題并提出解決方案,那么在藝術院校如何開展Python,或重點教授哪一些函數(shù)庫是對學生的專業(yè)最有用的,是值得我們教師在教學目標、教學內容和教學形式上做功課。
如在教學內容上可做如下安排(見表2)。
通過表2可知,根據(jù)學生的學習能力,把這個Python的教學分為必修部分和選修部分,學習了必修部分的內容,要求能獨立用Python語言來處理專業(yè)內的圖形處理問題。而選修部分的學習內容,有一定難度,讓學生通過大量的實例和練習,來獨立進行藝術圖像繪制的編程能力。另外,由表2可知,在講解Python語言的時候,盡量簡化語法,用具體的、生動的圖形來理解程序的基本結構,其次,考慮到專業(yè)的不同,適當引入實例,啟發(fā)式教學推進,多使用現(xiàn)成的函數(shù)庫調用,讓程序設計的處理顯得不是那么復雜,學生的興趣一點點地被激發(fā)。
對于學習能力強的學生,可以進入Python的高級應用學習,如圖像處理軟件與Python的完美結合,來更生動、更細微的來解決藝術圖像的問題。
3 Python語言的特點
Python語言的設計哲學是“明確、簡單、優(yōu)雅”,Python開發(fā)者的哲學是“用一種方法,最好是只有一種方法來做一件事”。其語言有以下特點:
1) 簡單易學:Python是一種代表簡單主義思想的語言。Python容易上手,閱讀一個良好的Python程序就感覺像是在讀英語一樣。
2) 免費、開源:Python是自由軟件之一。使用者可以自由地發(fā)布這個軟件的拷貝,閱讀它的源代碼,對它做改動,把它的一部分用于新的自由軟件中。
3) 高級語言:用Python語言編寫程序時無須考慮如何管理你的程序使用的內存等這些底層細節(jié)。
4) 可移植性:Python已經(jīng)被移植到許多平臺上。這些平臺包括各大操作體統(tǒng)如Windows、蘋果系統(tǒng)OS。用Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行程序。這使得Python語言更加簡單,也是Python程序更加易于移植。
5) 可擴展性:如何需要一段關鍵代碼運行得更快或者希望某些算法不公平,可以部分程序用C或C++編寫,然后再Python程序中使用它們。反過來也可以把Python嵌入C或C++程序,從而向程序用戶提供腳本功能。
6) 豐富的庫:Python標準庫很龐大,如turtle庫、PIL庫、PILLOW庫等都是具有強大圖像處理能力的第三方庫,不僅包含了豐富的像素,色彩操作功能,還可以用于圖像歸檔和批量處理,這無疑能更有效地解決藝術院校的設計類專業(yè)的問題。
4 藝術院校Python語言教學的策略研究
國內外廣泛關注且推進“計算思維”教學理念,具有“計算思維”的學習者應該能夠深刻理解問題的計算特性并善于利用計算機解決問題。選擇Python語言作為“終身受用的程序設計語言”來針對藝術院校來教學,是因為Python語言是一種簡潔且強大的語言。它的語法簡潔質樸,可以用優(yōu)美來形容,最關鍵的,它強大的圖像庫作為解決設計專業(yè)類的有效途徑。在Python語言教學上,應該簡化語法,在案例中循序漸進學會語法,激發(fā)學生興趣、以圖形案例為主體的教學方針。
1) 弱化語法
長期以來,各地高校對非計算機專業(yè)會普遍開設C 語言或C++語言程序設計課程,但是在長期的教學過程中,因為教學內容枯燥、語法復雜、學習難度大的因素,再加上非計算機專業(yè)學生缺少計算機體系結構相關知識,使得C 語言或C++語言程序設計課程教學上出現(xiàn)很大的困惑,也無法開展后續(xù)的計算機應用來解決學生專業(yè)領域中的問題。顯然,C語言或C++語言太抽象,比較合適計算機專業(yè)的學生。
Python是相對的自由軟件,Python語法簡潔清晰,強制縮進,可讀性好,相對于c或c++語言,Python學習起來會更輕松、更具有規(guī)律性,它豐富的擴展庫和函數(shù)庫很方便地進行調用。
目前,各地高校開始嘗試針對非計算機專業(yè)用Python語言來教學,其主要原因:①語言代碼簡潔,不要求程序通過函數(shù)封裝,代碼行數(shù)簡短;②語法簡單,能降低非計算機專業(yè)學生的學習難度;③擁有強大的圖形庫,能夠實現(xiàn)各種實用結果,提高學生學習的興趣,有助于學生學會一種終身受用的編程語言。
2)圖像庫的學習導入
PIL(Python Image library)庫是Python語言的第三方庫,需要通過pip工具安裝,PIL庫支持圖像存儲、顯示和處理,它能夠處理幾乎所有圖片格式,可以完成對圖像的縮放、剪裁、疊加以及向圖像添加線條、圖像和文字操作。
PIL庫主要可以實現(xiàn)圖像歸檔和圖像處理兩方面功能需求。圖像歸檔:對圖像進行批處理、生成圖像預覽、圖像格式轉換等。圖像處理:圖像基本處理、像素處理、顏色處理等。最常用的3個字庫為:Image、ImageFilter、ImageEnhance。Image類的圖像讀取和創(chuàng)建方法有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庫是一個很直觀有趣的函數(shù)庫。它的主要功能就是實現(xiàn)簡單圖形到復雜圖形的繪制。它的基本思路是:有一個小海龜在沿著坐標系爬行,形成一個圖形的軌跡。Turtle.penup()、turtle.pendown()分別表示抬起畫筆和落下畫筆,turtle.pensize()、turtle.width()表示設置畫筆尺寸和寬度,turtle.pencolor()表示給畫筆設置顏色,turtle.fd()和turtle.seth()表示行進動作和改變繪制角度。通過這些比較簡單的命令,就可以繪制出基本形狀或較為復雜的卡通形象。
3) 案例教學,循序漸進
面向藝術類專業(yè)學生的授課教學中,采用圖形案例
為主,可以激發(fā)學生的學習興趣并提升學習主動性。設計類的學生都有很強的圖形設計和造型能力,能把程序設計課的內容用于手繪的效果,無疑對學生來講很是新鮮和新奇。研究用Python語言程序設計在選取案例如何增加趣味性、規(guī)律性,總結編程思路,積極引入最合適學生的圖像函數(shù)庫,使得編程能有效地解決學生的專業(yè)上的問題,從而實現(xiàn)教學目標。
和大多數(shù)程序語言設計一樣,Python語言也是涉及程序的控制結構,分單分支if結構、二分支if…else、多分支if…elif….else結構和循環(huán)結構(for、while、break、continue),那我們在設計教學思路的時候采用tutle庫形象的介紹這幾個結構的區(qū)別。
例如順序結構程序設計的教學,應用turtle 庫繪制等邊三角形,通過繪制的結果來理解、掌握順序程序設計結構。如圖1(程序和結果)。
例如分支結構程序設計的教學,應用turtle庫繪制五角星、正方形等圖形,通過繪制的結果來幫助學生理解和掌握分支結構。如圖2、圖3(程序和結果)。
例如循環(huán)結構程序設計的教學,應用turtle庫繪制蜂窩等圖形,通過繪制的結果來幫助學生理解和掌握循環(huán)結構。如圖4(程序和結果)。
5 結束語
對藝術院校的學生而言,不但要學會自身的專業(yè),并且要適應“計算思維和計算生態(tài)”的教學理念,計算機程序語言猶如新鮮血液一樣注入他們的專業(yè)中,Python語言的學習對于藝術院校的開展是迫在眉睫和持之以恒的,但與計算機專業(yè)學生的教學策略是不同的,需要結合藝術專業(yè)特點因材施教,利用Python語言特點與藝術類學生的優(yōu)勢,使得藝術與科技的完美結合,為社會輸送更優(yōu)秀的復合型人才。
我院的Python語言基礎課程尚在起步階段,在課程的教學內容和安排上進行了一些階段性的嘗試和思考,目前受到了選修學生的歡迎,學生學習的積極性和主動性都很高,這對于我們這一批開課老師也有很大的動力。在利用現(xiàn)有線上課程資源的基礎上,要盡快創(chuàng)建適合藝術院校課程需求的慕課;其次,更系統(tǒng)的分析各專業(yè)特點和需求,編寫適合不同專業(yè)需求的教學案例,積極探索教學改革,讓Python學習成為藝術院校專業(yè)學習的一個分支。
參考文獻:
[1] 中國高等院校計算機基礎改革課題研究組.中國高等院校計算機基礎教育課程體系[M].北京:清華大學出版社,2014:9-10.
[2] 嵩天,黃天羽,禮欣.Python 語言:程序設計課程教學改革的理想選擇[J].中國大學教學,2016(2): 42-47.
[3] 仲曉芳,龐勝楠,尹百慧.面向非計算機類專業(yè)Python編程教學設計研究[J].無線互聯(lián)科,2017(18).
[4] 曹玉嬋,左映龍.面向高職院校藝術設計類專業(yè)Python語言的教學策略研究[J].電腦知識與技術,2019(31).
【通聯(lián)編輯:朱寶貴】