肖奕 劉傳平
[摘 要]大學計算機課程體系作為本科生通識教育的重要組成部分,是培養學生信息素養和計算思維的重要環節。本文結合大學計算機課程教學的現狀,闡述了基于計算思維的大學計算機基礎課程和程序設計課程聯動教學改革的總體思路與教學實踐。
[關鍵詞]計算思維;大學計算機;教學改革
[中圖分類號] G642.0 [文獻標識碼] A [文章編號] 2095-3437(2018)03-0004-04
計算思維曾經是數學家、計算機科學家、軟件工程師等人的專利。然而隨著計算機的普及,其應用領域的爆炸性發展,計算思維不再是這些專業人員的專屬,它逐漸普及成為所有大學生的必備技能。因此,計算機課程教育提出以計算思維作為大學計算機基礎教育和課程改革的出發點,并就此開展了積極的討論、研究和實踐。教育部高等學校大學計算機課程教學指導委員會在計算思維教學改革宣言中指出:以計算思維為導向的計算機教學改革,將在很大程度上提升中國大學生的思維水平和認識境界,并以此提高整個社會對于現代技術的認知和理解[1]。
我校作為一所多學科協調發展的全國重點大學,以培養“品德優良、基礎厚實、知識廣博、專業精深”的高素質創新人才為己任。大學計算機基礎課程體系是為全校大一學生開設的計算機基礎課程,內容涉及計算機各領域概念和知識層面的內容及大學生必不可少的應用技能、思維能力。目前該課程體系在教學中存在不盡如人意之處,主要體現在以下方面:
(一)課程內容
我校就大學計算機基礎課程進行了多次改革。早期開設計算機文化概論課程(大一一學期)和C語言程序設計課程(大一二學期),兩門課程的知識點幾乎完全分離:計算機文化概論的主要內容為計算機基礎知識,如Windows 7的使用、Office系列的操作、網絡基本知識和技術;C語言程序設計則注重學生編程操作。之后根據專業需要將課程重新設置,文理專業的學生學習計算機文化基礎和C語言程序設計:計算機文化基礎保留計算機文化概論部分內容,另外增加了算法和數據庫的基礎知識;工科專業的學生學習計算機導論和C++語言程序設計:計算機導論弱化了Office操作,內容包括計算機基礎知識、硬件原理、操作系統、算法、數據結構、程序設計數據庫等,為后續的C++程序設計課程做了算法鋪墊,但計算機導論涉及的知識點多,基本上是該領域知識的濃縮版,因而在講述該課程的時候,知識點容易浮于表面,學生不能從更深層面理解計算機。
(二)學生基礎差異大
隨著計算機普及程度越來越高,部分學生在中小學階段已經得到了相關信息技術知識和技能的培訓,當然也有部分學生是白紙一張。但教學以課程班為單位,一個課程班通常按專業由3到4個自然班組成,沒有按照學生計算機水平差異進行分層次教學,使得基礎好的學生“吃不飽”,基礎差的學生“消化不了”,久而久之,導致學生只注重知識的背誦記憶以應付考試,缺乏對計算機相關知識的實際應用能力。
(三)教師教學方法單一
教學中多數老師采用案例教學法,案例雖然經典,但知識更新較慢。各專業混合的課程班,在一定程度上阻礙了教師在專業層面上進行內容重組和案例、練習設計,同時也使教師難以根據學生能力分層設置案例和練習,因此,缺少對學生解決實際問題的能力和創新能力的培養。
計算思維(Computational Thinking)是2006年由美國卡基梅隆大學周以真教授提出:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學值廣度的一系列思維活動[2]。它代表著一種普遍的認識和一類普適的技能,每個大學生都應該掌握它的學習和應用。因此,《九校聯盟(C9)計算機基礎教學發展戰略聯合聲明》認為,培養復合型創新人才的一個重要內容就是要使他們逐漸養成一種新的思維方式——計算思維[3]。
計算思維不是計算機編程,不是要使學生像計算機那樣思考,而是建立在計算過程的能力和限制之上,由機器執行,通過約簡、嵌入、轉換和仿真等方法,把復雜問題闡述成一個可解決的問題,使學生敢于去處理那些原本無法由個人完成的問題求解。
著名心理學家、教育家布盧姆提出“掌握學習理論”,即“給學生足夠的學習時間,同時使他們獲得科學的學習方法,通過他們自己的刻苦努力,應該都可以掌握學習內容”。學生在知識基礎和專業背景及需求上存在差異,比如物探專業、資勘專業的學生計算機編程能力較強,文管專業的學生更多的是進行數據分析,而珠寶、藝術專業的學生更多的是進行多媒體數據的處理,不同的學生對不同的教學內容的關注度和需求不同,所以就應該采取分層教學的方法,在不同程度上培養學生的信息素養和計算思維。
大學計算機課程與程序設計基礎課程之間有著密不可分的聯系。大學計算機課程中計算機基礎、軟硬件平臺與計算環境、算法與程序設計基礎、數據處理和多媒體技術等培養學生對計算機的理解,讓學生具有一定的計算思維;程序設計基礎課程則以具體計算機高級語言(如C、C++)強化學生求解具體問題的能力,鍛煉學生的編程實踐能力,幫助學生更深入地理解計算思維。
(一)教學內容重組
2015 版《大學計算機基礎課程教學基本要求》中指出大學計算機基礎課程涉及的知識領域和知識單元如表1所示[4]。
其中,算法與程序開發的領域知識和程序設計課程的領域知識有部分重疊。這部分重疊的知識模塊同樣也是計算思維引入大學計算機基礎課程之后的重點知識模塊。基于表1的要求,結合本校不同專業的需求,將大學計算機課程內部分為A、B、C三級(總學時32 = 上課16 + 上機16):A級面向對編程基礎要求高的專業;B級面向普通理工科專業;C級面向外語等文科專業。其后續程序設計基礎課程(總學時64=上課32+上機32)分為A、B兩級,如表2所示(注:兩門課程的實驗課部分在此表中均沒有涉及)。

在不打破原有的行政班的基礎上,對學習內容進行重組分級,根據不同的專業要求和學生基礎重新組織教學內容,確定與其專業相適應又可以達到的教學目標,從而既降低了文科生的學習難度,又滿足了理工科學生擴大知識面的需求。
(二)教學分層
在教學內容分級的基礎上,考慮到有的學生在中小學階段已經接受過計算機的相關培訓,甚至參加過全國青少年信息學奧林匹克比賽(National Olympiad in Informatics),他們對計算機領域知識的訴求遠遠高于其他大一新生。可在新生入學周組織大一學生參加大學計算機基礎摸底考試,考試內容以2015 版《大學計算機基礎課程教學基本要求》中要求大學計算機基礎課程涉及的知識領域為藍本,包括計算機系統、計算機網絡、多媒體技術、算法等基礎知識。通過考試將教學分為三個層次(見表3):成績優異的學生進入高級班,成績中上的學生進入網絡班,其他學生則進入普通班。
高級班的學生為已掌握了大學計算機課程A級的相關知識,對編程有興趣的學生,設置的授課內容主要是計算機編程及算法,并結合程序設計加深學生對大學計算機基礎知識的理解與應用。
網絡班和普通班的教學內容仍以《大學計算機基礎課程教學基本要求》中規定的為主,只是在教學手段上有差異:網絡班主要采用互聯網視頻自學為主,老師小班輔導和討論為輔;普通班則采用傳統課堂教學為主,網絡教學為輔。
在大學計算機課程教學結束后,組織大一學生進行計算機程序設計基礎摸底考試,成績優異的學生進入高級班學習,通過組織講座和參加比賽的方式加強學生對計算機專業領域知識的理解,著重培養他們的實踐能力和創新能力;其他大一的學生則進入普通班,教師采用網絡教學+課堂教學的混合式教學方式,培養他們對計算機領域知識的理解能力和應用能力;另外,針對往屆未能通過計算機程序設計考試的學生開設重修班,基于知識點進行輔導練習。
(三) 教學手段
在學時學分壓縮的背景下,必須在有限的課內教學中要求學生掌握更多的領域知識,這必將將課內學習延伸到課外自學,可借助于“MOOC+MOODLE”,推動本校大學計算機基礎課程體系教學改革實踐。
MOOC(massive open online course)大規模開放在線課程,向大眾提供中國知名高校的MOOC課程,實現了一種知識傳播。MOODLE是我校自行搭建的虛擬學習環境。我校在共享MOOC 課程資源(如北京理工大學的大學計算機課程)基礎上,考慮到本校學生基礎及分級、分層教學的需要,于是就某些內容重新組織教學課件,并發布在校內的MOODLE平臺上。各個教師可在MOODLE上對不同層級的學生布置不同的學習任務,提供不同的教學資源。學生通過MOOC和MOODLE在網上完成基礎內容的自學和相關作業任務。利用MOOC和MOODLE,各個教師就可以獲悉學生的反饋,在線下課堂中講解重要知識點,組織學生進行研討式學習、展示與點評式教學等。“MOOC+MOODLE”的教學方式使得學習能力強的學生可以學習到更多內容,讓基礎薄弱的學生通過反復觀看教學視頻而學習得更扎實。
(四)過程化考核機制
大學計算機基礎課程體系不僅要講授教學知識點,還要培養學生的學習能力、思維能力等。教學手段的改變也促進了學生的成績考評機制的改變,傳統的以期末考試為主的考核方式向多維度的質量評價轉變,加強對學生的平時學習過程的考核,如圖1所示。
教師在課堂上可以根據學生層級及專業特點,開展課堂測驗和討論,布置上機實踐任務,根據學生的表現計分。
課后在MOODLE和百科園考試平臺組織學生完成單元練習、月考和期中考試,檢驗學生的實際學習效果,題目不僅包括選擇、判斷等客觀題,也包括工具操作類、程序設計類等應用型題目。機器自動閱卷能減少教師閱卷壓力的同時,還可以快速反饋學生存在的問題。在承認人的發展有差異的前提下,對學生進行多層次評價,是對每個學生的勞動成果應有的肯定。按知識單元組織的單元練習(允許多次答題,取最好成績為單元練習成績)和月考主要是對課堂內容的檢測,一般來講,學生只要認真聽就可達標;期中考試和期末考試則是對學生知識結構有機結合的檢驗。
綜合性作業主要包括開闊視野類的調研性學習題目、工程設計分析類應用性題目、工具應用實踐性題目等,學生4~6人為一組,各組完成題目的資料查閱、整理、總結、展示等,利用小組合作學習和成員之間的互幫互學形式,師生之間、學生之間充分互動、互相激勵,為每個學生創造整體發展的機會。特別是學生間人際互動,利用了學生層次的差異性與合作意識,協調發展了學生的多方面素質。
(五)實踐型教學探索
計算思維的培養,不能將大學計算機課程變為單純的工具學習和理論積累,也不應只停留在對各種科學問題和工程問題的認識與驗證的層面,而是要努力培養學生的綜合能力和創新意識,加強實踐教學,更貼近科學研究,貼近工程實際。我校每年約有400萬元用于大創新項目,借助高校大學生創新創業項目訓練,組織學生團隊完成對MOODLE平臺的開發和維護,引導學生主動開展新知識的學習與實踐,學以致用,提升實踐能力和創新能力。組織學生參加各種競賽,比如天梯賽、互聯網+、物聯網以及機器人、ACM等競賽,提升學生面向新經濟、新工業等的創新和實踐能力。目前,我校MOODLE平臺的實際維護都是由大一和大二的學生完成,平臺訪問量已達到38萬余次,日均訪問量近千次。2016和2017兩年組織大一學生參加天梯賽均獲得參賽隊二等獎、團體三等獎。
四、結束語
大學計算機課程作為本科生通識教育的重要組成部分,是培養學生信息素養的重要環節。計算思維的引入為大學計算機教學改革帶來了機遇,也帶來更大的挑戰[5]。計算思維能力的培養不是一朝一夕就能完成的,需要我們把它融入大學計算機教學的每一節課、每一個實驗作業和每一次實踐任務中。隨著以計算思維為導向的大學計算機課程改革的不斷加強和深入,教學過程中總會遇到一些新的問題要解決,這是一個長期的過程,需要我們不斷探索和實踐。
[ 參 考 文 獻 ]
[1] 教育部高等學校大學計算機課程教學指導委員會.計算思維教學改革宣言[J].中國大學教學,2013(7):8-10,17.
[2] 周以真.計算思維[J].中國計算機學會通訊,2007(11):83-85.
[3] 宋煥林.基于計算思維的計算機基礎課程教學方法研究[J].電腦知識與技術,2015(36):85-86
[4] 教育部高等學校計算機課程教學指導委員會.大學計算機基礎課程基本要求[M].北京:高等教育出版社,2015.
[5] 基于計算思維的大學計算機教學研究[J].中國大學教育,2015(9):55-58
[責任編輯:鐘 嵐]