林振德
摘要:隨著信息技術(shù)的不斷發(fā)展,中職教育越來越重視對學(xué)生計算機動手能力的培養(yǎng)。在計算機相關(guān)的各項能力中,程序設(shè)計能力關(guān)系到日后軟件開發(fā)和維護,對學(xué)生未來的發(fā)展有重要的作用。在中職程序設(shè)計教學(xué)中會接觸到各類計算機語言,例如VB語言、C語言等,相較于其他語言,Python語言更加簡潔高效,可以充分調(diào)動學(xué)生的自主思考能力。但是當(dāng)前中職程序設(shè)計課實際教學(xué)情況現(xiàn)實,很多教學(xué)方式都未取得理想效果?;诖耍新毥逃ぷ髡咝枰匾昉ython語言的優(yōu)勢,對Python語言程序設(shè)計教學(xué)方式進行創(chuàng)新,提升教學(xué)質(zhì)量。
關(guān)鍵詞:培養(yǎng)思維能力;Python語言;程序設(shè)計;教學(xué)創(chuàng)新
中圖分類號:TP3? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2020)36-0172-02
2016年,教育部發(fā)布相關(guān)條文,也是首次建議在高校中開展Python語言程序設(shè)計課程,這也側(cè)面證明了Python語言正在不斷受到高校計算機專業(yè)的重視,這也令Python語言程序設(shè)計教學(xué)課程在高校遍地開花,并逐步向中職學(xué)校中滲透,成為炙手可熱的教學(xué)改革重點。需要注意的是,Python語言程序設(shè)計進入學(xué)校課堂,并不是其他計算機語言的簡單替代,而是計算機技術(shù)發(fā)展至今天的一種大勢所趨。教育工作者需要深刻認(rèn)識到Python語言程序設(shè)計教學(xué)方式創(chuàng)新的重要性,在對教學(xué)案例進行構(gòu)思和創(chuàng)新時,一定要在Python語言基礎(chǔ)上,結(jié)合培養(yǎng)思維能力的教學(xué)理念,優(yōu)化教學(xué)方式設(shè)計,充分調(diào)動學(xué)生的積極性,令學(xué)生充分感受到Python語言的樂趣和價值,真正享受Python語言程序設(shè)計的快樂。
1 Python語言優(yōu)勢
Python語言為一種腳本語言,特征為動態(tài)性和面向?qū)ο?。相較于其他類型計算機程序語言,Python語言在可讀性和編寫的簡易性上更直觀,因此對于零基礎(chǔ)的編程初學(xué)者來說,Python語言更容易令學(xué)生上手。隨著計算機編程語言的不斷發(fā)展,Python語言程序設(shè)計教學(xué)可以作為計算機編程的入門課程。Python語言能夠使零基礎(chǔ)初學(xué)者在編程思維方式更加集中,更重視學(xué)生自主思維能力的鍛煉與培養(yǎng)[1]。
在程序語言特點上,Python語言主要有以下優(yōu)勢:首先是簡潔性。Python語言相較于其他類型語言更簡潔,但卻并不影響其自身語法邏輯的完整性,在程序開發(fā)上,可以進行語句級,以及面向過程與對象的開發(fā),并且無須像C語言一樣定義變量類型,這樣便能令程序可讀性得到提升。和其他語言相比,Python語言在算法與程序邏輯意圖的表達層面,體現(xiàn)得更加直觀。
其次是高效性。Python語言在編寫上更加高效,同樣功能的程序計算任務(wù),相較于C語言,Python語言在代碼行數(shù)上,大概只是C語言的1/10。這也令Python語言的優(yōu)勢更加明顯,也就是程序功能越復(fù)雜,Python語言為程序員節(jié)省的工作量就越多,增加了程序員的編程效率,可以全面縮短程序從開發(fā)到實現(xiàn)的時間,節(jié)省人力物力成本投入[2]。
最后是生態(tài)性。截至2017年底,Python語言在第三方庫的構(gòu)建上,已經(jīng)超過12萬個,幾乎在計算各個領(lǐng)域都有涉獵,加強了功能的簡潔性,進而提升了編程效率。
2 程序設(shè)計課堂教學(xué)現(xiàn)狀
2.1 中職學(xué)生計算機基礎(chǔ)參差不齊
由于初中教育階段的信息課程只是淺嘗輒止,旨在讓學(xué)生認(rèn)識編程的魅力以及實現(xiàn)方式,并沒有真正培養(yǎng)起學(xué)生的編程自主思維,因此在真正接觸計算機語言編程入門課程時,學(xué)生往往不具備較強計算機編程思維。而且由于學(xué)生義務(wù)教育,各個學(xué)校對信息技術(shù)教育重視程度不夠,因此坐在一個班級的學(xué)生,也無法保證計算機編程能力的統(tǒng)一。這就導(dǎo)致一開始的計算機程序設(shè)計教學(xué)事倍功半,即使學(xué)生最開始對程序設(shè)計抱有濃厚的興趣,但是隨著知識的深入,還是會導(dǎo)致學(xué)生無法真正領(lǐng)會課堂上的知識,課堂會變得枯燥無味,這會對學(xué)生的學(xué)習(xí)積極性造成打擊,進而影響學(xué)習(xí)效果[3]。
2.2 傳統(tǒng)教學(xué)不重視思維的培養(yǎng)
盡管素質(zhì)教育改革,更重視學(xué)生的教學(xué)主體地位,注重對學(xué)生自主思維能力的培養(yǎng),但是義務(wù)教育階段因為有考試成績的壓力,因此學(xué)生在學(xué)習(xí)方式上總是以老師為重點,亦步亦趨。教師也更加重視學(xué)生應(yīng)試能力的培養(yǎng),而沒有真正重視培養(yǎng)學(xué)生的自主思維。在課堂上,學(xué)生往往只是按照教師的參考程序原樣輸入運行,運行成功之后卻并未真正知其所以然,也沒有對程序進行拆解,分析每一個語句的功能,這樣就導(dǎo)致學(xué)生無法靠自己的力量編寫出邏輯和功能完善的程序,這也正是程序語言教學(xué)的大忌。學(xué)生如果不能真正按照題目要求設(shè)計程序,便不能算真正學(xué)會了程序設(shè)計課程,因此在教學(xué)方式上有必要進行創(chuàng)新,令現(xiàn)有問題得到改善[4]。
3 程序設(shè)計教學(xué)案例新思維
3.1 教學(xué)案例新思維背景
當(dāng)前社會背景,正是計算機信息網(wǎng)絡(luò)技術(shù)如火如荼發(fā)展的大數(shù)據(jù)時代,而計算機信息技術(shù)的發(fā)展,離不開軟件開發(fā)和程序設(shè)計,這也是計算機程序設(shè)計課程廣泛開展的現(xiàn)實意義。基于此,計算機計算思維,也和實證思維、邏輯思維上升到了等量齊觀的位置,成為思維范式的第三種。隨著社會上層出不窮的計算機技術(shù)的開發(fā),物聯(lián)網(wǎng)、大數(shù)據(jù)、云計算、VR技術(shù)、人工智能等新興詞匯,成為人們的口中熱詞,也從側(cè)面證明了,各種新興計算機技術(shù)人們的生產(chǎn)生活產(chǎn)生了潛移默化的影響。這也體現(xiàn)了人們對計算機技術(shù)的重視程度,以及在計算機技術(shù)開發(fā)革新上的不懈追求,人們對計算機程序設(shè)計的認(rèn)知,逐漸從理論知識求證,轉(zhuǎn)向解決生活中的實際問題,增強了計算機程序設(shè)計與開發(fā)的現(xiàn)實意義[5]。
這種思維也對中職程序設(shè)計教學(xué)課程產(chǎn)生了一定影響,在對學(xué)生計算機程序設(shè)計的能力培養(yǎng)上,更強調(diào)學(xué)生程序設(shè)計自主思維的提升。隨著互聯(lián)網(wǎng)空間的不斷發(fā)展,學(xué)生接收知識的渠道來源逐漸增多,可以通過各種學(xué)習(xí)網(wǎng)站加強那個對程序設(shè)計的認(rèn)知,進而通過計算機程序設(shè)計課程,實現(xiàn)相關(guān)技能的掌握。但是以C語言教學(xué)為例,傳統(tǒng)教學(xué)方式更側(cè)重字符的輸出,指針操作等教學(xué)內(nèi)容,這就讓原本更自由的編程課程,再一次陷入應(yīng)試教育的怪圈中,影響了學(xué)生的學(xué)習(xí)積極性,降低了教學(xué)質(zhì)量[6]。
3.2 Python語言程序設(shè)計教學(xué)方式優(yōu)化策略
首先教師應(yīng)當(dāng)在興趣引導(dǎo)上下功夫,可以讓學(xué)生通過小程序的開發(fā),調(diào)動學(xué)生的學(xué)習(xí)興趣。教師可以收集學(xué)生的興趣,并讓學(xué)生先認(rèn)識Python語言設(shè)計的一些小程序,例如在對本校19級軟件與信息服務(wù)班的教學(xué)中,引入“石頭剪刀布”“紅綠燈”“簡易電子鐘表”等等,讓學(xué)生能夠?qū)ython語言實現(xiàn)的程序功能做基礎(chǔ)認(rèn)識,方便學(xué)生建立對Python語言的認(rèn)知,從而調(diào)動自己動手編寫小程序的興趣[7]。
其次,教師在引領(lǐng)學(xué)生認(rèn)識小程序,調(diào)動學(xué)生學(xué)習(xí)興趣之后,應(yīng)當(dāng)保證學(xué)習(xí)的循序漸進,不能一蹴而就。應(yīng)當(dāng)先告訴學(xué)生計算機識別語言的機制,讓學(xué)生明確計算機語言的重點與難點,使學(xué)生能夠認(rèn)清Python語言的難度,采用正確的方法構(gòu)建自己的編程思維。教師首先應(yīng)當(dāng)讓學(xué)生自行完成Python語言程序設(shè)計軟件的安裝,從初始階段令學(xué)生加強自身的體驗。教師可以從最基礎(chǔ),也最具趣味性的教學(xué)實例,令學(xué)生領(lǐng)會Python語言的交互感,例如用數(shù)學(xué)的點線來繪制圖形、“制作簡易二維碼”,使學(xué)生能夠認(rèn)識到程度的趣味性。之后可以讓學(xué)生在成熟的程序上,輸入簡單的程序命令,對Python語言程序運行效果進行控制,觀察其執(zhí)行操作,然后教師可以令學(xué)生一行一行進行分析,Python語言程序進行拆解,從而令學(xué)生真正認(rèn)識到控制執(zhí)行效果的語句,從而令學(xué)生打消對程序的神秘感和對其難度的恐懼感,建立學(xué)習(xí)自信心。完成上述教學(xué)步驟之后,可以適當(dāng)讓學(xué)生在小程序范例上,練習(xí)程序的調(diào)試與保存,保證整個課堂教學(xué)的輕松氛圍,提升Python語言程序教學(xué)質(zhì)量[8]。
在具體教學(xué)內(nèi)容上,應(yīng)當(dāng)加強對學(xué)生的有效引導(dǎo),正視很多學(xué)生為編程零基礎(chǔ)初學(xué)者的現(xiàn)狀,防止將生動有趣的Python語言程序教學(xué),變成枯燥無味的照本宣科。在教學(xué)策略關(guān)鍵點上,首先應(yīng)當(dāng)將難點盡量分散,不要求學(xué)生在起步階段便掌握大量理論知識。在眾多計算機程序語言教材的編寫上,很多教材都十分重視程序語言中的常量、變量、運算符、指針等知識點,對賦值與輸入輸出語句十分看重,這樣就會令學(xué)生的學(xué)習(xí)負(fù)擔(dān)直線上升,降低學(xué)生的學(xué)習(xí)熱情和學(xué)習(xí)效率,很多學(xué)生學(xué)了半天,記得最熟悉的就是“print”,這和原本的教學(xué)目標(biāo),無疑是南轅北轍的,而且不能滿足Python語言程序設(shè)計學(xué)以致用的教學(xué)目的?;诖?,教師一定要改變思維,對教學(xué)方式加以創(chuàng)新,重視學(xué)生思維能力的培養(yǎng)。例如,教師可以讓學(xué)生用Python語言為同班同學(xué)做通訊錄,學(xué)生便會用Python語言程序去設(shè)計通訊錄,在通訊錄上包含各種信息。其中Python語言的應(yīng)用準(zhǔn)確性和執(zhí)行效果,可以體現(xiàn)學(xué)生自身理論知識,而通訊錄具體包含的信息,則完全靠學(xué)生動腦思考,爭取最大程度增加通訊錄的信息量,這就達到了培養(yǎng)學(xué)生思維能力的目標(biāo)。在程序分析上,教師應(yīng)當(dāng)帶領(lǐng)學(xué)生一起,對程序中的常量變量進行分析,以通訊錄設(shè)計為例,每個學(xué)生的姓名、聯(lián)系方式不同,這些在程序中就是變量。這樣就加深了學(xué)生對Python語言程序設(shè)計的理解[9]。
在教學(xué)內(nèi)容上,還應(yīng)當(dāng)加強和生活實例的結(jié)合,令學(xué)生能有熟悉感,擺脫對Python語言程序設(shè)計的空想。教師可以圍繞教材的教學(xué)內(nèi)容,在知識點順序上稍做調(diào)整,在教學(xué)方式上,可以為學(xué)生留出具體的教學(xué)任務(wù),激發(fā)學(xué)生的想象力。學(xué)生在這種教學(xué)任務(wù)驅(qū)動下,就會充分發(fā)揮自身主觀能動性,加強小組間的合作學(xué)習(xí),并強化自身的實踐,令知識可以學(xué)以致用。具體而言,可以圍繞教學(xué)實例進行任務(wù)布置,例如在學(xué)習(xí)Python語言分支結(jié)構(gòu)程序時,可以讓學(xué)生開發(fā)一個具體功能,例如,開發(fā)班級6S管理量化系統(tǒng),讓學(xué)生鍛煉程序開發(fā)的思維。學(xué)生為了完成任務(wù),就會去了解學(xué)校的班級6S量化細則進行研讀,并對于量化的細則進行程序化,然后完成設(shè)計并加以完善,之后對程序進行調(diào)試,也能在教學(xué)中滲透德育教育。教師還應(yīng)當(dāng)引導(dǎo)學(xué)生舉一反三,令學(xué)生真正重視程序設(shè)計的重要性,對已學(xué)知識進行鞏固,防止短期內(nèi)遺忘[10]。
4 結(jié)束語
綜上所述,當(dāng)前高校內(nèi)程序設(shè)計課程教學(xué)依然不容樂觀,在Python語言程序設(shè)計教學(xué)上,教師應(yīng)當(dāng)重視Python語言的優(yōu)勢,在教學(xué)方式上循循善誘,擺脫傳統(tǒng)僵化教學(xué)方式的桎梏,調(diào)動學(xué)生興趣,重視學(xué)生思維能力的培養(yǎng),提升教學(xué)質(zhì)量。
參考文獻:
[1] 吳元斌,熊江,劉福明,劉井波.軟件工程專業(yè)編程語言課程群教學(xué)中的問題與對策初探[J].電腦知識與技術(shù),2016(9):140-141.
[2] 姚麗敏.翻轉(zhuǎn)課堂在高職計算機基礎(chǔ)教學(xué)中的應(yīng)用研究基于慕課的高校計算機基礎(chǔ)教學(xué)應(yīng)用研究[J].電腦知識與技術(shù),2016(9):172-173.
[3] 劉瓊,史諾,Tran Van Cuong.基于計算思維視角的程序設(shè)計教學(xué)改革研究[J].自動化與儀器儀表,2015(12):93-94.
[4] 王瑞,唐萬梅.“MOOC+翻轉(zhuǎn)課堂”的多元化教學(xué)模式研究與實踐——以《Python語言程序設(shè)計》課程為例[J].軟件導(dǎo)刊,2019,18(2):204-207.
[5] 傅騫,解博超,鄭婭峰.基于圖形化工具的編程教學(xué)促進初中生計算思維發(fā)展的實證研究[J].電化教育研究,2019(4):122-128.
[6] 葛福鴻,張麗萍.基于iPad Apps的研究、實踐和設(shè)計框架(iRPD):源起、內(nèi)涵與教育應(yīng)用探索[J].遠程教育雜志,2018,36(6):19-30.
[7] 朱鵬飛.論Python程序設(shè)計語言——對大學(xué)生計算思維能力的培養(yǎng)[J].數(shù)字技術(shù)與應(yīng)用,2017(3):238-239.
[8] 王亞杰,尹航,李飛,王曉巖,郭建新.面向計算思維的大學(xué)計算機基礎(chǔ)教育教學(xué)改革[J].計算機教育,2017(8):74-77.
[9] 李力.高職院校《程序設(shè)計基礎(chǔ)》課程改革——基于Python語言[J].電腦知識與技術(shù),2017,13(8):137-138.
[10] 何欽銘,陸漢權(quán),馮博琴.計算機基礎(chǔ)教學(xué)的核心任務(wù)是計算思維能力的培養(yǎng)——《九校聯(lián)盟(C9)計算機基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》解讀[J].中國大學(xué)教學(xué),2010(9):5-9.
【通聯(lián)編輯:張薇】