- 相關(guān)推薦
非計算機專(zhuān)業(yè)C語(yǔ)言教學(xué)模式分析
目前國內各個(gè)高校大多在非計算機專(zhuān)業(yè)開(kāi)設了計算機語(yǔ)言課程,C語(yǔ)言作為一種廣泛流行的結構化程序設計語(yǔ)言,成為了大多數高校非計算機專(zhuān)業(yè)計算機語(yǔ)言課程的教學(xué)語(yǔ)言.下面是小編搜集整理的相關(guān)內容的論文,歡迎大家閱讀參考。
摘要:針對目前為非計算機專(zhuān)業(yè)開(kāi)設的C語(yǔ)言程序設計課程教學(xué)現狀,提出一種與專(zhuān)業(yè)相結合的S&C(Specialized&ComputationalThinking)式C語(yǔ)言程序設計教學(xué)模式,在培養學(xué)生計算思維的同時(shí),為后續專(zhuān)業(yè)課程的學(xué)習打下良好基礎。
關(guān)鍵詞:C語(yǔ)言;專(zhuān)業(yè)相結合;計算思維
一、引言
目前很多高校都在推行為非計算機專(zhuān)業(yè)開(kāi)設的程序設計類(lèi)課程改革,研究如何全面提高教學(xué)效果。將計算思維融入程序設計是當前課程教學(xué)的研究熱點(diǎn)[1];很多教育專(zhuān)家和一線(xiàn)教師都提出了以培養計算思維為目標的程序設計類(lèi)課程教學(xué)改革方案[2,3]。C語(yǔ)言程序設計屬于此類(lèi)課程,在注重培養計算思維的同時(shí),更重要的是將教學(xué)內容與學(xué)生本專(zhuān)業(yè)相結合。因此,提出一種融入計算思維、與專(zhuān)業(yè)相結合(以下簡(jiǎn)稱(chēng)S&C)的C語(yǔ)言程序設計教學(xué)模式。
二、計算思維的專(zhuān)業(yè)化培養
計算思維是信息時(shí)代中的每個(gè)人都應當具備的一種思維方式,培養計算思維能力已成為計算機基礎教學(xué)的核心任務(wù)[4]。程序設計類(lèi)課程屬于計算機基礎課程體系,但是學(xué)習的內容和要求是相對的,對不同的人群應該有不同的要求[5]。對非計算機專(zhuān)業(yè)學(xué)生而言,程序設計語(yǔ)言更像是一個(gè)工具,是其在從事本專(zhuān)業(yè)工作中可以使用的一個(gè)工具。因此,任課教師應考慮到專(zhuān)業(yè)需求,將計算思維與專(zhuān)業(yè)應用進(jìn)行融合,讓學(xué)生感受到利用計算思維求解問(wèn)題過(guò)程中的魅力[4]。計算思維教育的目的是培養一種思維習慣,一種像計算機科學(xué)家思考問(wèn)題那樣的習慣[6],雖然計算本身也是一門(mén)學(xué)科,但是其具有促進(jìn)其他學(xué)科發(fā)展的作用,不應該將計算思維局限于此,而是應用于各專(zhuān)業(yè)領(lǐng)域。
三、C語(yǔ)言程序設計與專(zhuān)業(yè)相結合
為非計算機專(zhuān)業(yè)開(kāi)設的C語(yǔ)言程序設計課程,授課深度和廣度有別于計算機專(zhuān)業(yè),很多高校將它作為一門(mén)通識課程,使用同一個(gè)教學(xué)大綱,難以與專(zhuān)業(yè)課程緊密銜接。實(shí)際上,隨著(zhù)計算機的普及,程序設計語(yǔ)言的使用不再是IT人的專(zhuān)利,很多行業(yè)都會(huì )涉及到軟件開(kāi)發(fā)、編寫(xiě)應用程序。如單片機等智能芯片的開(kāi)發(fā)語(yǔ)言就是以C語(yǔ)言為主[7],學(xué)生程序設計水平高低可能直接影響他們的就業(yè)和職業(yè)發(fā)展[8]。因此,有高校教師提出自動(dòng)化專(zhuān)業(yè)的C語(yǔ)言程序設計課程改由自動(dòng)化教研室承擔[9]。但這種做法是否有違開(kāi)設C語(yǔ)言程序設計課程的初衷?C語(yǔ)言是程序設計的入門(mén)語(yǔ)言,最重要的是建立C語(yǔ)言與專(zhuān)業(yè)的關(guān)聯(lián),培養一種獨特的處理問(wèn)題的思維方式,更適合由計算機專(zhuān)業(yè)教師授課,在后續專(zhuān)業(yè)課程中再由專(zhuān)業(yè)課教師進(jìn)一步引導學(xué)生的應用實(shí)踐。但教學(xué)內容要向專(zhuān)業(yè)靠攏,能夠認識到專(zhuān)業(yè)課程和C語(yǔ)言之間的聯(lián)系點(diǎn)在哪里,并由此制定出相對獨立的教學(xué)大綱和專(zhuān)業(yè)化教學(xué)方案。
四、S&C式C語(yǔ)言教學(xué)模式
(一)課程設置
雖然學(xué)習C語(yǔ)言不需要什么必須的先修課程,但經(jīng)過(guò)授課教師分析[8],與計算機專(zhuān)業(yè)學(xué)生不同,非計算機專(zhuān)業(yè)學(xué)生只是孤立地學(xué)習C語(yǔ)言,建議將C語(yǔ)言與相關(guān)課程配套開(kāi)設,以自動(dòng)化專(zhuān)業(yè)為例,在同一學(xué)期內,先開(kāi)設C語(yǔ)言程序設計,在課程中后期再開(kāi)設單片機課程,這樣既可以加強學(xué)生理論聯(lián)系實(shí)際的能力,又使學(xué)生對C語(yǔ)言的學(xué)習目的和從業(yè)方向更加明確。
(二)教學(xué)目標和教學(xué)內容
C語(yǔ)言程序設計的教學(xué)目標應體現基礎性與專(zhuān)業(yè)性;A性是針對后續課程來(lái)講的,學(xué)生通過(guò)該門(mén)課程的學(xué)習掌握一定的算法和常用子程序,學(xué)會(huì )用C語(yǔ)言編寫(xiě)程序,為后續課程打下堅實(shí)的基礎;專(zhuān)業(yè)性是指學(xué)生在掌握C語(yǔ)言的各種語(yǔ)法與程序結構的基礎上,不僅能夠根據實(shí)際問(wèn)題設計算法、編寫(xiě)出解決問(wèn)題的程序,還可以運用計算思維解決生活中或專(zhuān)業(yè)領(lǐng)域的問(wèn)題。計算思維主要不是靠講課得來(lái)的,而是在學(xué)習和應用計算機過(guò)程中培養的[5],但理論依然是實(shí)踐的基礎。因此,應將思維訓練融入到教學(xué)內容中,并將計算思維具體化為對以下幾項能力的培養。
1.抽象。從本質(zhì)上講,程序設計語(yǔ)言是對人類(lèi)問(wèn)題求解過(guò)程的抽象,例如,數據與數據類(lèi)型、表達式、流程控制、函數等都是數據抽象、計算、邏輯推理以及問(wèn)題約簡(jiǎn)等人類(lèi)問(wèn)題求解思維方法的物化[10]。使用C語(yǔ)言進(jìn)行程序設計的過(guò)程就是利用計算的手段求解問(wèn)題的過(guò)程,這一過(guò)程中對問(wèn)題定義和形式化,以及建立問(wèn)題的邏輯模型就是對問(wèn)題的抽象過(guò)程,而抽象是計算思維的基本方法。
2.多樣性思維。C語(yǔ)言中變量的使用是編程的基礎,也是最基本的概念。C語(yǔ)言提供了多種數據類(lèi)型,如整型、浮點(diǎn)型、字符型、數組、指針、結構體及枚舉型等。在求解實(shí)際問(wèn)題時(shí),會(huì )涉及到各種各樣的數據,如整數、小數、字符,還有一些復雜的對象,如學(xué)生個(gè)人信息、考試成績(jì)等,為處理這些不同類(lèi)型的數據,除了要分析數據的對象特征,還要了解各種數據類(lèi)型之間的差異及其使用方法,通過(guò)大量練習掌握并靈活應用這些數據類(lèi)型,這對于訓練學(xué)生多樣性思維有極大幫助。
3.問(wèn)題分解。C語(yǔ)言是一門(mén)模塊化程序設計語(yǔ)言,在求解一個(gè)復雜問(wèn)題時(shí),一般采用逐步分解、分而治之的方法,即將一個(gè)大問(wèn)題分解成若干相對較易求解的小問(wèn)題,再分別進(jìn)行求解。C語(yǔ)言的函數就是程序的基本組成單位,在編寫(xiě)一個(gè)復雜程序時(shí),將整個(gè)程序的功能劃分為若干功能較為單一的程序模塊,即用函數實(shí)現每個(gè)單一功能,然后再將所有函數像搭積木一般,組合起來(lái)。函數有其獨立性,即要保證高內聚,低耦合;但卻不是孤立的,使學(xué)生理解調用函數和被調用函數的相關(guān)知識和二者之間的相關(guān)性。
4.算法。算法是解決問(wèn)題的方法和求解問(wèn)題的步驟。解決同一問(wèn)題會(huì )有不同算法,算法設計是C語(yǔ)言程序設計的核心。引導學(xué)生學(xué)會(huì )利用已有知識,學(xué)會(huì )從多個(gè)角度分析問(wèn)題,采用不同的類(lèi)型、結構都能解決問(wèn)題;同時(shí),引導學(xué)生進(jìn)一步分析各算法的差異,不僅可以鞏固知識點(diǎn),還能加深學(xué)生對不同數據類(lèi)型、程序結構化的認識。在教學(xué)內容中設置一些與專(zhuān)業(yè)應用相關(guān)的案例,增加趣味性的同時(shí),激發(fā)學(xué)生的學(xué)習興趣,增強與本專(zhuān)業(yè)的聯(lián)系。
5.遞歸。遞歸就是用自身定義自身的方法。C語(yǔ)言允許使用遞歸,以應用遞歸求解的問(wèn)題為例,使學(xué)生理解遞歸的工作原理。例如,利用公式n!=n×(n-1)!求一個(gè)自然數的階乘,可以用以下函數進(jìn)行計算。intfact(intn){if(n<=1)return1;elsereturnn*fact(n-1);}跟蹤i=fact(3)這條語(yǔ)句的執行過(guò)程,從中了解遞歸函數逐層調用和展開(kāi)的過(guò)程。
6.程序。程序是為實(shí)現特定目標或解決特定問(wèn)題而用計算機語(yǔ)言編寫(xiě)的命令序列的集合,在系統的IPO模型中,程序是算法的實(shí)現。C語(yǔ)言以順序結構、選擇結構和循環(huán)結構作為基本的程序結構。學(xué)生在求解問(wèn)題時(shí)選取合適的程序結構,練習使用相應結構的語(yǔ)句,訓練其結構化思維;編程過(guò)程中,為了實(shí)現程序的整體性功能,要考慮如何協(xié)調各類(lèi)函數,從而強化一體性思維;任何程序,無(wú)論是簡(jiǎn)單的還是復雜的,都按照一定秩序有序執行,為解決不同問(wèn)題要采用不同要素、結構組成程序,這可以強化學(xué)生的有序性思維。7.動(dòng)態(tài)性思維。C語(yǔ)言中很多知識點(diǎn)的運用都體現了動(dòng)態(tài)思維。例如,根據計算對象的類(lèi)型使用不同類(lèi)型的變量,在多種類(lèi)型數值進(jìn)行混合運算時(shí),其結果又能根據精度要求動(dòng)態(tài)地向高精度類(lèi)型轉換;循環(huán)結構中,循環(huán)變量值的變化是程序動(dòng)態(tài)性的最佳體現,在單步調試時(shí),能夠清楚地觀(guān)察到循環(huán)變量及相關(guān)變量值的每一步變化;在函數定義中形參的設定也是訓練動(dòng)態(tài)性思維的重要知識點(diǎn),每次調用函數時(shí),函數所接收到的實(shí)參都是不同的,只有具有動(dòng)態(tài)性思維,才能真正理解函數實(shí)參和形參的概念。
(3)教學(xué)方法
在課程教學(xué)中,教師應具有不同的角色,課程前期,教師是講授者、主導者,以講授法為主,通過(guò)對比記憶等方法幫助學(xué)生接受C語(yǔ)言各種定義的方式和語(yǔ)法結構;課程中后期,教師是協(xié)助者、引導者,采用翻轉課堂教學(xué)法,讓學(xué)生成為課堂主體。教師應設計好課前任務(wù),及時(shí)獲得反饋以調整課上活動(dòng);課上進(jìn)行分組討論和以專(zhuān)業(yè)性案例為主的任務(wù)拓展,引導學(xué)生舉一反三,研究規律,掌握方法,讓學(xué)生認識到C語(yǔ)言程序設計與專(zhuān)業(yè)學(xué)科的密切關(guān)系。翻轉課堂的有效實(shí)施需要一個(gè)過(guò)程,既是學(xué)生接受、適應和主動(dòng)參與的過(guò)程,也是教師根據不同課程班逐步調整實(shí)施方案的過(guò)程。教學(xué)方法的有效性以學(xué)生的學(xué)習自主性為前提,而激發(fā)學(xué)生的學(xué)習動(dòng)機似乎一直是教師與學(xué)生之間的較力。C語(yǔ)言與專(zhuān)業(yè)相結合可以在一定程度上提高學(xué)生學(xué)習興趣,因為大多數學(xué)生是依據自身興趣選擇專(zhuān)業(yè)的,但這還不夠。依據ARCS模型,增強學(xué)習者動(dòng)機的四個(gè)要素:Attention、Relevance、Confidence和Sat-isfaction。在教學(xué)開(kāi)始階段,引入一個(gè)C語(yǔ)言開(kāi)發(fā)的專(zhuān)業(yè)案例吸引學(xué)生注意,激發(fā)學(xué)生想進(jìn)一步探究的好奇心;進(jìn)而建立C語(yǔ)言與專(zhuān)業(yè)學(xué)科的關(guān)聯(lián),使學(xué)生清楚教學(xué)目標和學(xué)習內容的價(jià)值;在課前任務(wù)中布置一些較簡(jiǎn)單的任務(wù),以此增強學(xué)生的學(xué)習信心,課堂上進(jìn)行任務(wù)拓展時(shí)提供一些有些難度而學(xué)生又能解決的問(wèn)題,讓他們感覺(jué)到自己的能力“非凡”,最后讓學(xué)生明確自己取得的成果是自己具有能力并付出努力的成果;在實(shí)踐環(huán)節布置的項目任務(wù)為學(xué)生提供了在一種真實(shí)或模擬的情境中運用知識的機會(huì ),感受到學(xué)習的價(jià)值、學(xué)習的快樂(lè ),從中獲得滿(mǎn)足;對學(xué)生的學(xué)習結果提供反饋,如對課堂表現好的學(xué)生給予口頭表?yè)P,維持后續的學(xué)習動(dòng)機,面對全班公布考核方式的評分標準,讓學(xué)生感受到教師評價(jià)的公平性。
(4)實(shí)踐環(huán)節
為了鼓勵學(xué)生積極進(jìn)行實(shí)踐,應該不斷加強C語(yǔ)言實(shí)驗平臺建設,在校內使用OJ(OnlineJudge)系統[11]。但要使OJ系統更好地發(fā)揮效用,教師必須對題目進(jìn)行正確描述和引導,以及對測試用例考慮充分,增加與專(zhuān)業(yè)聯(lián)系密切的實(shí)驗內容,減少驗證性實(shí)驗內容;布置合作式項目任務(wù),并以此作為大學(xué)生研究性學(xué)習和創(chuàng )新性項目,訓練學(xué)生在實(shí)際工作中協(xié)調、合作和創(chuàng )造能力。學(xué)生還可以利用OJ系統進(jìn)行階段性測試,促進(jìn)自主性學(xué)習。
(5)考核方式
課程的考核方式?jīng)Q定著(zhù)教師如何教這門(mén)課,也決定著(zhù)學(xué)生如何學(xué)習。目前C語(yǔ)言程序設計課程的考核方式為“平時(shí)表現+期末考試”的形式,期末考試采用無(wú)紙化上機考試,是評定學(xué)生成績(jì)的主要方面,排除了考試各環(huán)節中人為因素的影響。試題庫涵蓋教學(xué)大綱規定的所有知識點(diǎn),難度適宜、重點(diǎn)突出。但全面考核學(xué)生的程序設計能力不能僅依賴(lài)于期末考試,應重視平時(shí)課堂和實(shí)踐環(huán)節的考核,采用作業(yè)自評和同伴互評的評分機制。自評是學(xué)生比對評分標準自查;同伴互評是學(xué)生通過(guò)相互批改作業(yè)相互學(xué)習,是形成性評價(jià)的有效手段,能夠幫助學(xué)生更積極主動(dòng)地參與課程學(xué)習,增加了再次回顧知識、溫習知識和總結自身所得的機會(huì ),促進(jìn)更深層次的思考。為了使這一評分機制能有效開(kāi)展,教師要制定一個(gè)好的評分標準,不同的“評委”依據這個(gè)評分標準對同一個(gè)作業(yè)進(jìn)行評判應得出同樣的判斷;考慮到同伴互評中可能出現的問(wèn)題,如學(xué)生不遵照評分標準打分等,做出相應的對策,使學(xué)生能夠自覺(jué)以評分標準為指導,高質(zhì)量地完成作業(yè),然后根據評語(yǔ)對照評分標準修改完善自己的作業(yè)。
五、結語(yǔ)
應用型大學(xué)非計算機專(zhuān)業(yè)的計算機應用教育,應以能力為導向,使學(xué)生具備在各個(gè)領(lǐng)域應用計算機的能力。作為應用性較強的專(zhuān)業(yè)基礎課,C語(yǔ)言程序設計能否學(xué)好關(guān)乎到后期專(zhuān)業(yè)課程學(xué)習的效果。根據專(zhuān)業(yè)特點(diǎn),采取與專(zhuān)業(yè)相結合的C語(yǔ)言教學(xué)模式,培養學(xué)生將計算機處理問(wèn)題的思維方式運用于本專(zhuān)業(yè)領(lǐng)域的能力,為各學(xué)科問(wèn)題求解帶來(lái)一種思想、策略、方法和手段上的變化,促進(jìn)各學(xué)科的突破性發(fā)展。
參考文獻:
[1]劉軍.面向計算思維的程序設計教學(xué)實(shí)踐[J].計算機教育,2015,(14):116-118.
[2]喬淑云,黃剛.程序設計類(lèi)教學(xué)改革與計算思維之培養[J].計算機教育,2012,(19):17-19,23.
[3]聶蘭順,戰德臣,宋巧紅.計算思維的教學(xué)內容與方法研究———以“算法”和“系統”兩種問(wèn)題求解的計算思維為例[J].工業(yè)和信息化教育,2013,(6):21-27.
[4]馮博琴.對于計算思維能力培養“落地”問(wèn)題的探討[J].中國大學(xué)教學(xué),2012,(9):6-9.
[5]譚浩強.研究計算思維,堅持面向應用[J].計算機教育,2012,(21):45-49,56.
[6]陳國良.計算思維的表述體系[J].中國大學(xué)教學(xué),2013,(12):22-26.
[7]盧振利.應用型本科院校自動(dòng)化相關(guān)專(zhuān)業(yè)中51單片機項目C語(yǔ)言六步編程法教學(xué)研究[J].電工技術(shù)•理論與實(shí)踐,2015,(5):228-229.
[8]俞敏.對自動(dòng)化專(zhuān)業(yè)C語(yǔ)言教學(xué)的思考[J].高校教育研究,2009,(3):135,137.
[9]陳麗敏,邵長(cháng)友.基于自動(dòng)化專(zhuān)業(yè)C語(yǔ)言課程教學(xué)改革的研究[J].中國電力教育,2013,(31):76,90.
[10]郝興偉.大學(xué)計算機———計算思維的視角[M].第3版.北京:高等教育出版社,2014.
[11]廖雪花,厲蘭潔,唐思娩.基于OnlineJudge的C語(yǔ)言程序設計實(shí)驗課教學(xué)改革研究[J].計算機教育,2016,(6):130-133.
【非計算機專(zhuān)業(yè)C語(yǔ)言教學(xué)模式分析】相關(guān)文章:
非計算機專(zhuān)業(yè)程序設計語(yǔ)言的教學(xué)探討03-03
淺談?dòng)嬎銠C專(zhuān)業(yè)教學(xué)模式11-23
非計算機專(zhuān)業(yè)計算機教學(xué)改革03-01
非信息管理專(zhuān)業(yè)MIS教學(xué)的網(wǎng)絡(luò )教學(xué)導入模式探析03-29
計算機專(zhuān)業(yè)英語(yǔ)教學(xué)模式研究03-27
淺析高校非計算機專(zhuān)業(yè)計算機基礎教學(xué)改革03-27
高校非計算機專(zhuān)業(yè)計算機基礎教學(xué)改革探析03-21
對任務(wù)型教學(xué)模式下的英語(yǔ)語(yǔ)言學(xué)教學(xué)分析論文11-16