龐淑俠,羅中華,王燕
(1.蘭州理工大學 計算機與通信學院,甘肅 蘭州;2.甘肅中醫(yī)藥大學 經貿與管理學院,甘肅 蘭州)
計算思維是美國計算機科學家周以真(Jeannette Wing)教授提出,并得到國際上的廣泛認同。周教授認為:計算思維是運用計算機科學的基本概念進行問題分析求解、系統(tǒng)設計,以及計算機領域所涉及的一系列思維活動。C9高校聯(lián)盟在 2010 年發(fā)布的《九校聯(lián)盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明》中強調,把培養(yǎng)學生計算思維能力作為計算機基礎教學的一項重要的、長期的任務[1-2]。計算思維旨在運用計算機科學的思想與方法去分析和解決問題。它的優(yōu)點和價值不僅僅在于問題的解決,更是在跨學科中提供了一種解決問題的方法,同時也是不同專業(yè)適應科學技術發(fā)展的必然階段。
面向對象程序設計是計算機類專業(yè)的專業(yè)基礎課程之一,該課程對培養(yǎng)學生面向對象的編程思想起著啟蒙作用,是學生掌握面向對象思想的關鍵,同時也為以后的程序設計學習以及培養(yǎng)學生解決實際問題的能力產生深遠的影響。隨著大數(shù)據技術的不斷發(fā)展,面向對象程序設計也為學生理解大數(shù)據技術提供有力的保障。將計算思維應用在面向對象課程教學中,為學生解決實際問題提供了統(tǒng)一的方法和思想,為以后的學習和實踐打下堅實的基礎。
面向對象程序設計課程一般都存在學時不足的問題,往往教學中以語法規(guī)則和編程技術為主要內容,這種以理論教學為指導的教學方式,直接導致許多學生雖然課程成績高,但后續(xù)課程或實踐需要編程解決實際問題時,往往不知所以。導致這種情況的最主要原因是課程講述缺乏工程實踐案例,太過注重語法規(guī)則的掌握。同時結合就業(yè)形勢對面向對象程序設計的要求,以企業(yè)需求為導向進行教學方法和教學內容的改革,不但能激發(fā)學生的學習熱情,同時又能為學生以后的就業(yè)打基礎。
面向對象程序設計課程最大的特點是語法規(guī)則堆積,知識點散而多,專業(yè)術語多。基本上大多數(shù)高校的教學方式都是采取理論講授和上機練習相結合的方式進行,教師在講授程序設計的基本思想、實現(xiàn)方法時,容易讓學生覺得太抽象、不理解,不知所以然,從而缺乏興趣,產生畏難情緒,進而導致“厭學”現(xiàn)象。這種脫離工程實踐注重教學的方式急需改革。
2016年12月在全國高校思想政治工作會議上,習近平總書記指出,“要堅持把立德樹人作為中心環(huán)節(jié),把思想政治工作貫穿教育教學全過程,實現(xiàn)全程育人、全方位育人,努力開創(chuàng)我國高等教育事業(yè)發(fā)展新局面”[3]。習總書記站在實現(xiàn)中華民族偉大復興的全局和戰(zhàn)略高度,科學回答了高校培養(yǎng)什么樣的人、如何培養(yǎng)人以及為誰培養(yǎng)人這一根本問題,為做好新形勢下高校思想政治工作、發(fā)展高等教育事業(yè)指明了行動方向。廣大高校教師肩負著對大學生進行思想政治教育的重要責任[4]。
在面向對象教學過程中,“規(guī)則圍繞”是程序設計課程的一大特點,在講述課程前,培養(yǎng)學生“規(guī)則意識”,遵紀守法,任何國家和社會沒有絕對的民主自由,只有遵守社會和國家的規(guī)則,才能保障人民群眾的切身利益,才能進一步維持社會的和諧和穩(wěn)定,以新冠肺炎疫情為例,如果不顧現(xiàn)實地講自由,那么疫情如何管控,人民群眾的健康如何保障!
在講解友元的時候,結合實際生活中的詐騙實例,例如詐騙老人和學生的案例,往往以慢慢接觸,逐漸熟悉和結交朋友的方式,讓人減少戒心,事實證明,那些所謂的朋友,只是善良人的一廂情愿,詐騙分子一開始就目的不純,他們的目的就是騙取信任,從而騙取錢財。所以教育學生,真正的朋友之間應該互相幫助,與人為善,但那些一開始就目的不純的所謂朋友,要學會甄別,防止被騙。
另一個知識點:繼承,繼承不但可以直接使用已有類的成員,還可以增加派生類的成員。結合實際生活中的繼承,一方面通過繼承,可以相對輕松地得到相應的財富,另一方面可以通過自己的努力和奮斗為自己和社會創(chuàng)造更多的財富。通過繼承和派生,教育學生即使原生家庭環(huán)境優(yōu)越,也應該努力學習,實現(xiàn)自己的人生價值,同時承擔自己的社會責任,為社會做出更大的貢獻。
面向對象程序設計對應的語言比較多,就目前而言,計算機類專業(yè)大部分高校集中在C++,JAVA等語言。所以,首先需要明確這些課程之間的關系,明確每一門課程的教學目標,避免重復教學。一般來說,C++程序設計是第一門開始的課程,該課程首先應該讓學生掌握面向對象編程的基本思想和編程方法,所以該課程的課程內容包括幾個方面:類,類的繼承和派生,類的多態(tài),流等。在此基礎上,Java程序設計課程的主要內容包括java語法基礎,面向web編程等方面。不同課程的相互配合與銜接,一方面能讓學生多方面掌握面向對象程序設計的思想,另一方面也能使學生更快適應社會的需求和發(fā)展。
在課程的教學環(huán)節(jié)中,以啟發(fā)式為課程導向,融入課程思政元素,結合混合式、翻轉課堂等多種形式,提高教學效果。
在課程教學中,以工程案例或實際生活實例引出問題的求解方法,逐步形成問題描述——問題的解決方案——計算機處理方式——算法描述——算法實現(xiàn)的實現(xiàn)策略,從而培養(yǎng)學生計算思維能力和理論聯(lián)系實際的能力。例如在繼承與派生的教學環(huán)節(jié)中,可以以現(xiàn)實生活中的繼承展開問題,說明繼承現(xiàn)象存在的原因及好處,然后引申到程序設計中,代碼的執(zhí)行效果與代碼工作量之間的關系,從而說明用C++如何描述派生類等問題。
問題導向能在教學一開始就激發(fā)學生的好奇心與思考能力,在發(fā)現(xiàn)問題、分析問題和解決問題的過程中,逐漸形成用計算機科學解決實際問題的能力。
為了進一步讓學生理解課程體系及課程內容之間的邏輯關系,有必要在課程開始之前,構建課程的思維導圖。在課程前,教師先進行宏觀內容的簡單介紹,方便學生形成一個整體課程架構,然后學生通過查閱資料和自學,完成課程的思維導圖。由于開設C++課程的學生基本是大一學生,專業(yè)基礎相對比較薄弱,對于課程的理解難免存在局限性和不足之處,在此基礎上,開展不同形式的討論和問題求解驗證,以小組或宿舍為單位進行。教學過程中,教師以學生提出的問題為基礎,設計實例,展開分析,逐步形成知識點的應用和實踐,從而完成計算思維的培養(yǎng)過程。
在計算機技術日益普及的今天,各行各業(yè)都對計算思維能力提出更高的要求。在教學進行之前,首先了解市場對計算機的需求,把計算機技術與專業(yè)學習在思維層面連接起來,完善適應市場需求的教學內容,設置符合市場需求的教學案例,把前沿的信息技術選用合理的方式介紹給學生,激發(fā)學生思考信息技術與自己學科的結合點,激活學生的學習興趣,教學效果最大化[5]。
在專業(yè)教育中,充分與創(chuàng)新教育相融合,為此,在教學過程中,鼓勵學生積極參加計算機學科類競賽,如藍橋杯程序設計大賽,大學生數(shù)學建模競賽、ACM程序設計大賽等,通過問題導向,自主學習、自主思考、自主實踐,激發(fā)學生的潛能和興趣。同時積極引導學生進行創(chuàng)新實驗,探索利用計算思維解決實際問題的能力。條件許可情況下,在自主學習能力較強的學生中,鼓勵其參與教師承擔的課題或科研項目。學生通過參與課題過程中的文獻查閱,數(shù)據統(tǒng)計分析,模擬仿真等,既拓寬學生的知識面,又完整實現(xiàn)計算思維訓練全過程,同時學生還可以在創(chuàng)新訓練中進一步明確專業(yè)教育的綜合素質要求,積極加強自身創(chuàng)新創(chuàng)業(yè)能力的培養(yǎng)。所以,科研創(chuàng)新與實踐是進行計算思維訓練和培養(yǎng)創(chuàng)新人才的有效措施[5]。
計算思維是一種思想,一種解決問題的理念,所以計算思維存在于各個領域和專業(yè),用計算思維分析和解決問題的能力應該作為當代大學生的基本素養(yǎng)之一。2020年春季學期,在本校學生中進行計算思維能力培訓實踐,從教學效果和學生的學習積極性方面都有體現(xiàn),圖1為學生學習情況統(tǒng)計,從該圖中可以明顯看出,學生的學習主動性有很大提高,同時該學期的教學效果也較上屆提升。

圖1 學習情況統(tǒng)計表
由此可見,計算思維能力的培養(yǎng)是教學過程中的重要目標之一,只有在教學過程中有規(guī)劃、有意識進行計算思維能力的訓練和培養(yǎng),才能真正將計算思維融入專業(yè)教育,才能使計算思維成為一種常識性分析和解決問題的方法。通過完善教學內容,改變教學手段,融入課程思政,全面提高學生的綜合素質[7-8]。