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