肖建芳
(汕頭職業(yè)技術(shù)學院計算機系,汕頭515078)
高職院?!禖語言程序設計》課程實踐教學探索
肖建芳
(汕頭職業(yè)技術(shù)學院計算機系,汕頭515078)
以提高學生的編程能力和學習積極性、培養(yǎng)應用型人才為目標,通過分析目前高職院?!禖語言程序設計》課程教學中所存在的一些問題,引出《C語言程序設計》課程實踐教學改革的策略,提出從專業(yè)課程建設、教學內(nèi)容、教學方法、課堂模式和學生學習模式五個方面進行改革和實踐。通過教學實踐,該項改革效果良好,對于提高高職院?!禖語言程序設計》及其他專業(yè)課程的教學效果具有一定的參考價值。
程序設計是高職院校計算機等IT類專業(yè)學生必修的專業(yè)課程,很多高職院校如汕頭職業(yè)技術(shù)學院計算機系將《C語言程序設計》作為程序設計的入門課程。C語言具有較強的理論性和實踐性,語法要求嚴謹,通過該課程的學習,學生不僅要掌握正確的算法思想、提高邏輯思維能力,還要熟悉C語言的語法規(guī)則,養(yǎng)成良好的編程習慣等。《C語言課程設計》是汕頭職業(yè)技術(shù)學院計算機系大部分專業(yè)課程的前導基礎課程,學好該課程,對于后續(xù)專業(yè)課程的學習非常重要。
目前,高職院?!禖語言程序設計》課程在教學過程中主要存在以下問題:
(1)課程內(nèi)容多、難度大;學生起點低、學習積極性不高
《C語言程序設計》作為一些高職院校學生學習程序設計的入門課程,概念復雜而抽象、語法繁多而嚴謹、邏輯性強、需要掌握的知識點和算法特別多。一些高職院校IT類專業(yè)一般在大一開設該課程,大一學生在零基礎的情況下學習該課程,起點低、難度大、積極性不高,教師在教學過程中遇到的問題也特別多。同時C語言課程的教學效果一般都要在后續(xù)其他課程才能體現(xiàn),所以部分教師上課的積極性也不高。以汕頭職業(yè)技術(shù)學院計算機系為例,《C語言程序設計》課程是該系學生的專業(yè)必修課,是大多數(shù)計算機專業(yè)課程的前導課,新生第一學期就學習該課程,基本都是零基礎,也不具備相應的計算機操作基礎和信息素養(yǎng),少數(shù)偏遠山區(qū)生源甚至連最基本的漢字錄入都有困難,要學好C語言程序設計課程難度大、遇到的困難多,很難提起學習積極性。
(2)課程定位不準,課程內(nèi)容體系有很大的隨意性
目前開設《C語言程序設計》課程的高職院校在選用該課程教材時,都沒有比較統(tǒng)一的標準。有的使用本科教材,本科教材理論與實踐并重或重理論輕實踐,但其中一些內(nèi)容和案例并不適用于專科學生;有的選用普通高職高專教材,大都輕理論重實踐,導致一些重要知識點不能兼顧。一些院校沒有為彼此聯(lián)系非常緊密的課程建立相應的課程群,導致本來相互支撐相互促進的各課程成為孤立的結(jié)點,各課程教師之間也缺乏有效的溝通和交流,造成有的學習內(nèi)容銜接不連貫,有的卻多次重復授課的情況。因為各科目之間沒有有效銜接,且同一科目不同教師之間也沒有團隊教學,教師只能根據(jù)個人的認知來確定課程教學內(nèi)容,沒有統(tǒng)一的課程定位和內(nèi)容體系標準,各任課教師自由發(fā)揮的空間大,導致教學效果的差別也較大。以汕頭職業(yè)技術(shù)學院計算機系為例,《C語言程序設計》沒有相對固定的授課教師,沒有穩(wěn)定的教學團隊,沒有固定的教學內(nèi)容,更沒有適用的教學模式,課程定位及內(nèi)容體系全憑教師個人把握,導致教學效果差別比較大。
(3)教師教學方法和評價手段沒有與時俱進
新形勢下,各種網(wǎng)絡新技術(shù)和新的教學理論及學習方法不斷涌現(xiàn),不少《C語言程序設計》教師還是固守傳統(tǒng)的教學模式,僅僅是從以前的一塊黑板轉(zhuǎn)移到網(wǎng)絡教室的PPT課件,課堂上也是以教師為主體,理論課上教師滿堂灌或滿網(wǎng)灌,學生被迫接受知識,實踐課上教師布置實訓題目,由學生自己去完成。學生有沒有做,做得怎么樣,都沒有有效的監(jiān)督和管理。學習過程中教師一般以期末考試+平時成績這種單一的評價方式為主對學生進行評價,授課方式和評價方法都缺乏多樣性,學生的學習積極性沒有充分被調(diào)動起來,通過課程的學習很難達到預期的效果。
鑒于目前一些高職院?!禖語言程序設計》課程實踐教學中存在的一些問題,結(jié)合汕頭職業(yè)技術(shù)學院《C語言程序設計》課程教學實際,研究者提出以下教學改革策略。
目前,很多高職院校存在的一個現(xiàn)象是專業(yè)課程之間缺乏良好的銜接,教師之間也缺乏有效的溝通,教師在各自的課程領域傳授著自己認為該傳授的知識,造成一些專業(yè)知識斷層或脫節(jié)。因此,在進行專業(yè)課程建設的同時,把相關(guān)課程建成課程群,針對各專業(yè)的人才培養(yǎng)目標,對各課程進行清晰準確的定位,制定詳細的課程教學目標,然后對教學內(nèi)容進行整合與重新規(guī)劃,建立課程群體系。在對每一門專業(yè)課知識點的重要性、邏輯性、連貫性以及相互之間是否存在支撐性和促進性進行研究之后,重新進行各課程的教學大綱和教學設計的制定,形成初步的課程群教學體系。計算機類軟硬件及技術(shù)都不斷在更新,因而課程群里各課程的建設還必須與時俱進,不斷進行調(diào)整和修改。在課程群建設中,每門課程和每位教師不再是孤立的結(jié)點,而是時刻與課程群里的其他課程和教師保持著有效的溝通與交流。對于教授同一門課程的教師,建立教師教學團隊,通過課程教學團隊集體討論,共同制定課程教學大綱,進行教學設計和教學課件的制作等。通過建立C語言相關(guān)課程群和課程教學團隊,促進教師之間有效溝通,相互學習,相互促進,共同提高。
學習C語言,各種程序算法就是它的靈魂,學生能使用不同的方法解決常見的算法問題,就是本門課程學習的重點。所以教師在上課時,應當引導學生不拘泥于C語言的繁瑣語法,將學習的重點放在解決問題的算法上,當然,掌握語法是實現(xiàn)算法的必經(jīng)之路,所以在學期初的教學設計需要偏語法學習較多,從選擇結(jié)構(gòu)程序設計開始,應該將學習的重心轉(zhuǎn)移到算法上來,注重算法分析,突出算法的設計,圍繞算法開展程序設計的學習,同時也通過對算法的理解過程來學習C語言語法。在學習算法的時候,要注意由易到難,循序漸進,逐步深入。例如排序問題,一開始要求學生將兩三個數(shù)據(jù)排序,可以讓學生使用簡單比較然后交換的方法在主函數(shù)里實現(xiàn),到學習數(shù)組的時候,再要求學生使用冒泡排序法或選擇排序法進行排序,學函數(shù)的時候,又要求學生使用函數(shù)實現(xiàn)排序功能,最后再加入指針操作,使用指針來對數(shù)據(jù)進行排序。過程中要引導學生比較幾種解決方法的優(yōu)劣并不斷進行反思,引導學生的思維呈現(xiàn)一種螺旋的逐漸上升趨勢。
在學習內(nèi)容的取舍上,高職院校學生大都是中學學習基礎比較薄弱的學生考進來,自學能力、理解能力和邏輯思維能力普遍不能與本科院校的學生相比,因而,一些比較難懂又不太常用的學習內(nèi)容和算法可以考慮舍去。例如,學習二維數(shù)組的時候,遇到一些比如矩陣相乘等問題,如果學生沒有學過矩陣相乘,就可以考慮舍棄相關(guān)內(nèi)容和案例。
學生能獨立解決問題的第一發(fā)展水平到在教師的引導下解決問題的第二發(fā)展水平之間有一段距離,維果斯基稱之為“最鄰近發(fā)展區(qū)”。支架式教學法就是建構(gòu)主義者從維果斯基“最鄰近發(fā)展區(qū)”的思想出發(fā),借用建筑行業(yè)中使用的“腳手架”(Scaffolding)作為上述概念框架的形象化比喻,其實質(zhì)是利用上述概念框架作為學習過程的腳手架。該框架應該按照學生智力的“最鄰近發(fā)展區(qū)”來建立,因而可以通過這種腳手架的支撐作用不停地把學生的智力從一個水平提升到另一個新的更高水平,真正做到使教學走在發(fā)展的前面[1]。支架式教學由搭腳手架、進入情境、獨立探索、合作學習和效果評價幾個環(huán)節(jié)組成。
本研究團隊在《C語言程序設計》教學過程中采用支架式教學很重要的一個環(huán)節(jié)就是小組合作學習,在開學第一周把班級學生按照同組異質(zhì)、異組同質(zhì)的方式進行分組,每組人數(shù)控制在6人左右,同組的同學坐在一起,每組選出一名小組長,并對組員進行分工,方便在課堂開展小組合作學習。
例如學到《數(shù)組》那一章的“一維數(shù)組”部分,教師課前布置小組預習任務幫助搭建概念框架,并給出學習范圍和問題列表,范圍是數(shù)組和一維數(shù)組,問題列表如下:什么是數(shù)組?什么是一維數(shù)組?一維數(shù)組如何定義、初始化和引用?上課開始,給出問題并設置情境:數(shù)學考試成績出來了,小明班上有40位同學,老師要求小明編寫C語言程序,對40個同學的成績求總分、平均分并排名次,同時找出班級考最高分和最低分的同學,請大家來幫助小明。學生開始小組討論,查找資料尋求相應的解決措施,三分鐘后,教師就問題列表和情境中的問題進行提問,學生積極舉手回答,并表示出對于解決情境問題的疑惑,教師對學生的回答進行點評及深入講解。然后教師給出第一個小組任務:定義一個長度為5個元素的一維int型數(shù)組a,要求從鍵盤輸入數(shù)組元素初值,并輸出到屏幕上?;顒訒r間是10分鐘,要求先進行小組討論,共同探究解決方案,然后寫出代碼。根據(jù)《合作學習檢查表》的要求組內(nèi)互助,最先完成任務的兩個小組將獲得《學習過程評價表》上集體加分的獎勵。教師穿梭于各組之間,監(jiān)督各組活動,了解學生完成情況,適當?shù)臅r候進行引導和答疑。最后由小組長檢查組員任務完成情況,指定發(fā)言人向全班簡要匯報合作學習成果。小組活動完成后,教師簡單點評整個活動,現(xiàn)場編程再次引導學生思考和鞏固學習成果,并引入第二個小組任務:對剛才的一維數(shù)組進行求和及求平均值。完成后是繼續(xù)深入探究的第三個小組任務:求出剛才一維數(shù)組中的最大值和最小值并輸出。接著是第四個小組任務:使用冒泡排序法對數(shù)組進行排序。最后再回歸課堂開始的情境問題中,原來大家在一個個的小組活動探究中已經(jīng)幫助小明解決了問題。最后教師根據(jù)實際情況可以繼續(xù)給小明增加問題:查找某個同學的成績、刪除轉(zhuǎn)學同學的成績等。
在支架式教學策略中,通過設計學生自主學習、小組討論、自主探究、組內(nèi)互助、組間互助等方式,對一維數(shù)組的使用進行螺旋式深入探究學習,學生就像沿著教師事先架好的一個“腳手架”一步一步往上爬,跨越“最鄰近發(fā)展區(qū)”,達到一個新的更高認知水平。
在支架式教學過程中,引入多種評價機制,對學生學習的全過程和學習成果同時進行評價,而不是僅僅關(guān)注學生的記憶和模仿的能力。通過學生自評、組內(nèi)互評、組間互評和教師評價等多元主體評價,對學生的自主學習能力、對小組合作學習所做出的貢獻、是否對所學知識完成了意義構(gòu)建[2]等方面進行全方位的評價,并對表現(xiàn)優(yōu)異的小組及個人給予過程性評價獎勵。也就是對于建構(gòu)性的教學方法,其評價的觀點應從行為主義轉(zhuǎn)向認知主義,評價從一次性的評價到多途徑的多次的評價,從紙筆標準化測試到真實和表現(xiàn)性的評價[3]。
建構(gòu)主義學習理論的基本觀點認為,知識不是通過教師傳授得到,而是學習者在一定的情境即社會文化背景下,借助其他人(包括教師和學習伙伴)的幫助,利用必要的學習資料,通過建構(gòu)意義的方式而獲得[4]。
學生是學習知識的主體,只有讓學生自己去學習探究,尋求問題的答案,才能獲得最好的學習效果。教師要積極為學生提供更好的學習資源,創(chuàng)建更適合的學習情境,組織學生進行小組協(xié)作和會話討論,幫助和支持學生完成知識的意義建構(gòu)。改革教師滿堂灌或滿網(wǎng)灌的做法,通過在課堂上開展形式多樣的學習活動以及為學生提供多種學習途徑,將學習的主動權(quán)歸還給學生,讓學生自己尋求問題的答案。根據(jù)學習金字塔的理論,積極引導學生開展金字塔塔基的主動學習活動:討論、實踐和教授給他人。例如開展多種形式的小組合作學習活動,鼓勵學生多進行C語言編程實踐,課內(nèi)外多途徑積極探討學習問題等。例如從函數(shù)章節(jié)開始,課后習題讓學生來組織講解并開展教學競賽,小組集體備課,組員輪流做小老師,小老師在教師的指導下確定教學方案然后組織授課。這種形式既調(diào)動了學生學編程的積極性、加深了學生對程序算法及知識的理解,又鍛煉了學生的各項能力。
學生是學習的主體,所以教師引導學生改變慣有的學習模式非常重要。在網(wǎng)絡和通信技術(shù)如此發(fā)達的新形勢下,學生要摒棄學習靠教師、靠課堂、靠課本的單一途徑學習模式,充分利用線上線下各種學習資源,課內(nèi)課外多途徑開展深度學習。
(1)充分利用微課資源,進行碎片化學習
廣西師范學院楊上影老師認為微課是指為了促進學生學習,按照課程標準及教學實踐要求,以視頻為主要載體呈現(xiàn)的,在課堂內(nèi)外教育教學過程中圍繞某個知識點(重點、難點、疑點、熱點)或教學環(huán)節(jié)的精彩教與學活動。微課知識點集中、短小精悍的特點,以及智能手機和校園Wi-Fi的普及,學生可以隨時隨地充分利用自己的零碎時間,想學就學。例如,將兩數(shù)進行交換的算法是C語言的重要算法,本研究團隊教師將其設計成一個酒杯的酒與水杯的水借助一個空杯進行酒水互換的動畫微課,學生學習以后,再也沒有在這個問題上出現(xiàn)過邏輯錯誤。實踐證明,將一些難懂的概念或算法制作成微課給學生學習,能起到事半功倍的效果。
(2)善用在線網(wǎng)絡課程,學習和提升自己
網(wǎng)絡新形勢下,學生要轉(zhuǎn)變“等老師上課”的觀點,自己想學什么就積極通過網(wǎng)絡“尋課”。各種MOOC、SPOC網(wǎng)絡視頻課程為學生學習提供了極大的便利,也成為學生自主學習的重要陣地。學生要積極利用課余時間,選擇適合自己的課程來實現(xiàn)知識的學習、鞏固和擴充,并積極配合教師翻轉(zhuǎn)課堂。例如本研究團隊在C語言課程授課過程中,推薦學生上網(wǎng)學習網(wǎng)易云課堂《玩轉(zhuǎn)C語言》等免費課程,因為該課程從課程內(nèi)容和教師上課風格上都適合學生學習。還有近年來異軍突起的騰訊課堂,其新穎的課堂直播互動形式,打開QQ就可以參與學習的便捷性,以及對于課堂情境的真實模擬,受到學生們的青睞。
(3)使用網(wǎng)絡和及時通訊工具,隨時隨地討論和學習
網(wǎng)絡就是一個虛擬的世界,學生要善于使用網(wǎng)絡上形形色色的學習網(wǎng)站、學習論壇、學習博客、百度文庫等解答疑惑、尋求新知,同時也要培養(yǎng)對知識的鑒別能力,對于網(wǎng)絡知識去偽存真。俗話說“三人行必有我?guī)熝伞?,學生在學習過程中遇到了問題應積極通過班級學習群尋求教師與同學的幫助,同時也積極幫助有需要的同學。
《C語言程序設計》是計算機和信息等IT類專業(yè)一門經(jīng)典的專業(yè)課程,學生零基礎,學習內(nèi)容難、任務多、困難大。需要任課教師不斷進行教學改革,不斷創(chuàng)新教學手段和方法,充分利用新形勢下各種新的教育理念和學習方法,才能使我們的學生獲得良好的學習效果,為三年的大學學習打下堅實的專業(yè)基礎。通過本研究團隊教師進行的教學改革,學生學習C語言程序設計的積極性大大提高,無故缺勤的現(xiàn)象基本杜絕,明顯感覺學生對于知識的理解和應用比以往要好,少數(shù)學生除了在線上學習C語言,同時還學習了其他感興趣的課程,教學改革效果良好。
[1]覃輝,鮑勃主編.建構(gòu)主義教學策略實證研究[M].云南大學出版社,2010.
[2](美)伍爾??酥?教育心理學[M].何先友等譯.中國輕工業(yè)出版社,2008.
[3]李豫穎.C語言教學改革淺見[J].貴州教育學院學報(自然科學版),2008(9):74-77.
[4]陳琦,劉儒德主編.當代教育心理學[M].北京師范大學出版社,2007.
Exploration on the Practical Teaching of C Language Programming in Higher Vocational Colleges
XIAO Jian-fang
(Department of Computer,Shantou Polytechnic,Shantou 515078)
In order to improve students'programming skills and learning enthusiasm,cultivate applied talents as the goal,through the analysis of the teaching problems about C Language Programming course in higher vocational colleges,leads to the practice of teaching reform of C Lan?guage Programming course strategy,puts forward five aspects of learning from the professional course construction,teaching content,teach?ing methods,classroom mode and students'learning model to carry on the reform and practice.Through the teaching practice,the reform ef?fect is good,it has certain reference value to improve the teaching effect of C Language Programming and other professional courses in high?er vocational colleges.
1007-1423(2017)27-0024-05
10.3969/j.issn.1007-1423.2017.27.006
C語言程序設計;支架式教學;合作學習;高職院校;MOOC
汕頭職業(yè)技術(shù)學院2016年院級教改項目(No.16jy06)
肖建芳(1980-),女,湖南郴州人,講師,碩士,研究方向為計算機技術(shù)、高職教育
2017-07-06
2017-09-20
C Language Programming;Scaffolding Teaching;Cooperative Learning;Higher Vocational Colleges;MOOC