鄧向武 吳錫鳳 崔得龍
摘要:針對電子信息類專業學生在人工智能時代發展背景下,要求其用電子信息類專業知識,結合計算思維能力去解決具體工程問題。該文結合《高級語言程序設計》課程所具有的實操性強、靈活性強和邏輯抽象性強等特點,有針對性地提出課程教學中學生計算思維能力培養存在的問題,比如:師生對計算思維能力培養不夠重視、忽視計算思維能力對其他專業課學習的重要性和對計算思維能力培養過程的長期性不夠重視,并從教理念、課程內容和案例教學方法等方面提出《高級語言程序設計》課程教學中的計算思維能力培養策略。
關鍵詞:電信專業??計算思維??高級語言程序設計??能力培養
中圖分類號:?TP31;G64?????文獻標識碼:A???文章編號:1672-3791(2022)02(a)-0000-00
Research?of?Computational?Thinking?Ability?with?Advanced?Language?Programmingis?in?Telecommunications?Professional
Abstract:?Under?the?background?of?the?development?of?artificial?intelligence?era,?students?majoring?in?electronic?information?were?required?to?solve?specific?engineering?problems?with?professional?knowledge?where?the?electronic?information?combined?with?computational?thinking?ability.?In?this?paper,?combined?with?the?high?level?language?program?design?course?in?field?the?maneuverability?was?strong,?strong?flexibility?and?logic?abstractness?characteristics,?against?the?problems?existing?in the?course?teaching?high?school?students?thinking?ability,?such?as?teachers?and?students?thinking?ability?training?seriously?enough,?ignore?to?calculate?the?thinking?ability?of?the?importance?of?other?professional?course?learning?and?the?long-term?process?of?computational?thinking?ability?training?was?not?enough?attention,?Based?on?the?teaching?idea,?course?content?and?case?teaching?method,?this?paper?puts?forward?the?cultivation?strategy?of?computing?thinking?ability?in?the?course?of?Advanced?Language?Programming.
Key?Words:Telecommunications?professional;?Computational?thinking;?Advanced?language?programmingis;?Ability?training
隨著信息化和智能化的高速發展,新的時代背景下電信專業大學生所具備的專業信息素質有了更高的要求,特別是針對電子信息類專業學生在人工智能時代和新工科時代發展背景下,要求其用電子信息類專業知識,結合計算思維去解決具體工程問題。計算思維能力是由計算機學科發展而來,是指能將問題進行抽象化,借助計算的方式來實現具體問題的求解,其中涉及問題抽象、數據組織、建模等。計算思維能力核心為培養學生具有采用計算機思維方式解決實際問題的能力,要求思維具有以下幾個維度:創造力、算法、批判性等。電子信息類專業學生計算思維能力的提高能促進其他課程的學習效果和專業技能的發展,同時還能有效地促進電信專業學生解決實際問題的能力。
1《高級語言程序設計》課程特點
《高級語言程序設計》課程是一門編程工具語言課程,主要包括基本數據類型(變量和常量)、運算符(算術運算符、賦值運算符、關系運算符和邏輯運算符等)和表達式(算術表達式、賦值表達式、關系表達式和邏輯表達式等)、輸入輸出函數(printf函數和scanf函數、putchar函數和getchar函數)等;程序的控制結構主要包括順序結構、選擇結構、條件語句(if語句)和循環結構(while語句do-while語句和for語句),復雜控制結構就包括循環嵌套、窮舉與迭代;同時還包括比較常用的數據結構數組、結構體和共用體等。這門課程包含很多知識點,知識點具體,但函數之間參數傳遞和調用又是局部和整體的關系,函數實現具體的功能,通過函數間的相互調用,所以這門課可以用多種語言來授課,《高級語言程序設計》授課內容如圖1所示,無論采用什么編程語言進行教學,總體上具有一定的共性特點?[1-3]。
1.1實操性強
《高級語言程序設計》主要是編程語言為載體,結合理論授課和上機實踐對編程理論和方法進行學習。由于課程知識點的開展過程是由易到難,由簡單容易理解的各種語法定義到各種復雜的算法結構,基本上每種典型的算法結構程序設計都會有相對應的上機實操課程進行鞏固練習。《高級語言程序設計》上機課是針對學生在理論知識點學習過程中知識點把握不準確、程序代碼有疑惑等具體問題,通過上機實踐明確各種知識點的具體用法,同時對知識點進行鞏固提高[4-6]。
1.2?靈活性強
《高級語言程序設計》作為一門工程語言,具有完整明確的語法定義、語句結構和算法結構等知識點組成,同時在具體使用過程中又有很多靈活多樣使用方法,針對具體問題首先對問題進行抽象化和流程化,隨后可以采用不同語句知識和算法結構來實現。由于不同學生計算思維能力的差別,針對同一具體問題,有的同學很快就能掌握,并能靈活運用將各種算法舉一反三[7-8]。
1.3邏輯抽象性強
由于《高級語言程序設計》是由各種語言作為載體進行教學,而程序語言具有流程化和抽象化特點。《高級語言程序設計》這門課程是一門理工科工具課程,目標是培養學生的邏輯抽象能力,將具體問題進行抽象化,然后轉化為編程問題。由于《高級語言程序設計》課程具有邏輯抽象性強的特點,導致學生在掌握這門課的過程中具有邏輯思維轉換困難的特點,造成學生學習該課程缺乏信心,錯誤認為該課程學習起來十分困難。
2課程教學中學生計算思維能力培養存在的問題
2.1師生對計算思維能力培養不夠重視
由于很多學生學習過程中比較強調“實用主義”,《高級語言程序設計》這門課程被大多數學生視為一門工具性課程,導致學生只注重知識和應用技能的掌握,沒有打開自己的計算視野和思維。《高級語言程序設計》主要是C語言為載體,結合理論授課和上機實踐對編程理論和方法進行學習。學生在這門課學習過程中,并不是簡單掌握老師教授的知識和方法即可,還需對知識點進行舉一反三。同時教師也受就業市場導向影響,其教學理念主要是當前社會需要什么教師就教什么,很多教師仍然將《高級語言程序設計》視為一門工具性科學,將《高級語言程序設計》教學局限于簡單編程和上機操作,偏重于具體知識點的掌握,而忽視該課程可作為提升學生計算思維能力的載體培養和提升電信專業學生的計算思維能力和創新能力。
2.2忽視計算思維能力對專業課學習的重要性
由于在信息化和人工智能背景下,電信專業和計算機專業學科領域之間的邊界越來越模糊。學生的計算思維能力不僅會對電子信息工程專業學科發展和變革產生一定的影響,同樣也會涉及到其他學科領域的發展。培養電信專業學生運用計算思維能力去解決該專業領域中具體問題的意識和能力,是當前高校《高級語言程序設計》教學任務的重中之重。目前,還沒有認識到計算思維能力是電子信息學科學生應具備的思維方式,忽視計算思維能力為我國在信息化和人工智能時代背景下培養創新型青年人才隊伍的重要意義[9-10]。
2.3對計算思維能力培養過程的長期性不夠重視
對于電信相關專業的學生來說,《高級語言程序設計》是入學后必修的專業基礎課程之一,所以學習該門課程期間是培養學生計算思維能力的黃金時期。隨后針對電信專業學生還會開設《算法和數據結構》或其他課程,但會忽略兩門課程之間的聯系。在這種情況下,學生雖然掌握了一定的基礎理論知識和基本應用技能,卻壓縮了進一步提高和發展的空間,導致很多學生只會簡單編程操作和簡單問題的程序化處理,卻很難利用計算科學的思想、方法為專業學習服務。大學《高級語言程序設計》課程是培養學生計算思維能力最佳的課程,所以《高級語言程序設計》課程承擔著培養非計算機專業學生計算思維能力的重任。如何通過有限的《高級語言程序設計》課程教學在有限時間內培養和提升學生的計算思維能力,是《高級語言程序設計》教育學者和教學工作者在具體教學中面臨的巨大挑戰。此外,我們應清楚認識到,計算思維能力的培養是一個長期系統的過程,僅僅通過《高級語言程序設計》和《算法和數據結構》這兩門課程學習而在短時間形成是不可能[11-12]。
3《高級語言程序設計》課程計算思維能力培養策略
3.1教學理念
大學《高級語言程序設計》教學應巔峰傳統“狹義工具論”的理念,系統培養學生的綜合素質和創新能力。《高級語言程序設計》教學要圍繞培養學生解決問題能力和計算思維能力兩個方面入手,因此,《高級語言程序設計》教學應由“知識和技能掌握”為基礎,然后向“計算思維能力培養”進行遞進,通過逐層遞進的方式系統培養學生掌握計算思維能力去分析和解決電信專業中的實際問題,逐步提高電信專業學生的信息素養和創新能力[13-14]。
3.2課程內容
《高級語言程序設計》課程教學中需要著重培養學生計算思維能力,所以該課程教學內容在《高級語言程序設計》基礎知識點基礎上,加強《高級語言程序設計》課程中數量流和編程流等邏輯思想和程序構建方法,引導學生理解并運用計算思維方式去解決課程中的實際問題,提高電信專業學生的計算思維應用能力和創新能力。
3.3案例教學方法
《高級語言程序設計》傳統知識點灌輸性教學方式針對編程課程效果不太理想,因為學生在掌握該課程一定的基礎知識后,學生在學習上就具有很強的自主性和靈活性。如果采用案例教學法更加能激發學生的編程熱情和積極性,還能促進學生抽象化思考。將來自于社會和生活中的典型案例引入到《高級語言程序設計》課堂教學中,《高級語言程序設計》的教學案例應在體現計算思維的基礎上與電信專業緊密聯系。案例教學是由師生之間討論問題,教師引導學生思考、歸納和總結,并且要對學生計算思維能力進行專項訓練,讓學生深深體會和理解計算思維的運用,進而培養學生的計算思維能力。
4?電信專業《高級語言程序設計》課程計算思維能力培養實例分析
4.1?班級問卷調查
對兩個所帶教學班級學生進行計算思維能力調查問卷,實際發放問卷80份,回收調查問卷74份,其中89.19%的同學對計算思維能力有正確的理解,93.24%的同學認為有必要對計算思維能力進行系統培養,說明大部分同學都希望系統培養計算思維能力。64.86%的同學雖然在以前接觸過計算思維的概念,但沒有經過系統的能力培養。86.49%的同學在遇到編程問題或其他問題時都會首先想到網上進行查閱資料,86.49%的同學認為在知識、技能和思維能力中,思維能力是最重要的。
4.2融入計算思維并開啟學生創新能力
計算思維能力培養模式的應用是為在智能時代和新工科時代背景下培養更加具有自主創新意識和創新性人才,使大學生的思維能從具體問題中得到抽象,并更加縝密在具體問題上提出解決方案,從而更好地分析客觀事物,促進學生自身素質水平的提升。可以在《高級語言程序設計》教學中融合目前雙創開展的項目,通過問題導向和目標導向方法,將創新創業項目中包含的計算思維進行提煉,并區別于具體知識和技能,讓學生能運用計算思維來思考問題,在參加雙創項目、“互聯網+”項目的過程中通過計算思維開啟學生的創新能力培養。《高級語言程序設計》雖然只是一個編程工具課程,但是可以通過不同應用場景的應用來培養計算思維能力,同時計算思維能力又是創新能力培養的基礎,創新能力又推動了計算思維的發展。
4.3?課程思政的融入
通過引入課程思政來促進學生學習這門課程更加具有方向性和目標性,《高級語言程序設計》是由編程語句+語法來實現,不同功能的語句在語法規則的約束下進行編譯運行,如果不按照語法規則進行編程,編譯過程將報錯。這就類比于我們的校園生活和今后畢業進入的社會生活,在校園生活中我們要認真學習,如果考試不及格科目過多,不及格學分達到一定條件,就可以留級處理;或者在平時的課程學習中,有事情就要請假,如果無故曠課達到一定節數,就要進行課程預警。所以大學生要按照校園的語法規則進行學習生活,如果不按照這個語法規則(校紀校規),將會出現編譯錯誤(學業預警、留級或拿不到畢業證)。在以后大學畢業后的社會生活中,也要按照社會規則去開展生活,不能走捷徑和犯法,否則就不是校園生活中的小懲罰,而是社會語法規則法律制裁。
《高級語言程序設計》是由一句句代碼語句組成,代碼語句就組成函數,函數是實現程序的基礎,函數是具有一定功能的程序,但是都是在main函數中開始,也在main函數中結束我們的一生就像main函數一樣,有一個整體的目標,而main函數調用函數就相當于我們一生中的某個時期(如一年),調用函數中的每一行代碼就相當于我們生活的每一天,所以要編好一個程序需要每一行代碼都沒有錯誤,而沒有的人生也是一樣,要求我們過好每一天,進而過好每一個月,每一個學期,每個學期都要有具體的目標并實現(功能函數),這樣我們的一生才會精彩(main函數)。
5結語
該文首先對《高級語言程序設計》課程內容、結構及課程特進行闡述?《高級語言程序設計》這門課程可以用多種語言來授課,主要是作為一門編程工具語言,無論采用什么編程語言進行教學,總體上具有實操性強、靈活性強和邏輯抽象性強的共性特點。由于《高級語言程序設計》編程語言具體,但編程思維具有抽象性,所以在《高級語言程序設計》課程教學中,培養學生計算思維能力存在師生對計算思維能力培養不夠重視、忽視計算思維能力對專業課學習的重要性和對計算思維能力培養過程的長期性不夠重視等問題。
該文通過調查問卷發現,93.24%的同學認為有必要對計算思維能力進行系統培養,說明大部分同學都希望系統培養計算思維能力。但如何通過《高級語言程序設計》課程培養計算思維能力,可以通過教學理念、課程內容、案例教學方法來培養大學生的計算思維能力。同時還可以融入課程思政來有力激發學生的學習動力,通雙創項目和“互聯網+”等實際項目促進學生掌計算思維能力,可以通過雙創項目和“互聯網+”不同應用場景的應用來培養計算思維能力,同時計算思維能力又是創新能力培養的基礎,創新能力又推動了計算思維的發展。
參考文獻
[1] 魏麗瓊.培養計算思維的信息技術課堂教學策略[J].建電腦,2021,37(6):92-95.
[2] 李秋璇.以培養計算思維為導向的《計算機科學導論》實踐教學案例設計[J].發明與創新(職業教育),2021(8):121,123.
[3] 史健婷,陳亦男,王建才,等.計算思維視角下的大學生創新能力培養與實踐[J].經濟師,2021(6):145-146.
[4] 孫立會,王曉倩.基于馬扎諾教育目標新分類學的計算思維評價框架構建[J].化教育研究,2021,42(6):20-26,33.
[5] 于曉雅.計算思維:面向智能時代的基本思維[J].中國民族教育,2021(6):15.
[6] 劉鋒.編程教學中計算思維有效落地的思考與探索[J].中國信息技術教育,2021(11):51-53.
[7] 徐新中.計算思維融入創客教育的實踐與思考——以Scratch單元“賽車游戲”教學為例[J].中小學信息技術教育,2021(6):47-49.
[8]?? 王艷俠,鞏媛麗,王學秀,等.以計算思維培養為目標的人工智能校本課程的設計與實施[J].中小學信息技術教育,2021(6):64-67.
[9] 李辛.落實學科核心素養,發展計算思維能力——以“數據處理與應用”教學為例[J].中國信息技術教育,2021(10):37-39.
[10]?何彤宇,孟曉倩.大學生計算思維能力培養水平實證研究——以全國大學生計算機設計大賽為例[J].軟件導刊,2020,19(5):267-70.
[11]?張倩,郭仲杰.基于計算思維能力培養的混合教學模式研究[J].課程教育研究,2019(13):225-226.
[12]?朱穎.學生計算思維能力培養模式研究[J].福建電腦,2021,37(5):149-152.
[13]?李雨婷.?面向計算思維培養的問題解決學習活動設計研究[D].無錫:江南大學,2020.
[14]?劉學民,龍海芹.提高中職學前教育專業學生計算能力初探[J].文化創新比較研究,2018,2(1):187,189.
基金項目:2020廣東石油化工學院教育教學改革研究項目(項目編號:JY202027);廣東石油化工學院教學團隊項目(項目編號:TDPY201918)
作者簡介:鄧向武(1984—),男,博士,講師,研究方向為電子信息類專業教學改革。
崔得龍(1978—),男,碩士,教授,研究方向為電子信息類專業教學改革。
通信作者:吳錫鳳(1986—),女,碩士,助教,研究方向為教學管理,E-mail:1020183413@qq.com。
2190500783359