c語言課程范文
時間:2023-04-03 09:59:09
導語:如何才能寫好一篇c語言課程,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
關鍵詞:C語言;教學方法;上機實踐
由于C語言功能豐富、應用廣泛,很多高校都將C語言作為一門計算機及相關專業的重要專業基礎課開設,甚至有不少高校將它作為計算機公共基礎課來開設。但在C語言課程的開設過程中,教師與學生都有誤區,教與學的效率和效果不理想。本文針對該課程在教學中存在的問題、在教學方法、上機實踐的設計與考核方式等幾個方面來進行分析與探討。
1教學中存在的問題
1.1教學觀念與學習觀念的誤區
講授C語言程序設計課程的教師容易走入一個誤區,即重視C語言的語法和概念的學習,忽視程序設計能力的培養,它使得該課程成為純粹C語法和概念的介紹[1]。另外,學習C語言課程的學生多數只是重視語法、概念和規則的學習,忽視更為重要的上機實踐,認為學習C語言就是學習C的語法、概念和規則,認為掌握了C的語法、概念和規則,就掌握了C語言,但實際情況是學生并不具備用C語言來編寫代碼和解決實際問題的能力。
1.2授課方式枯燥乏味
從傳統教學方法來看,C語言課程教學任務繁重、教師要用大量時間向學生解釋大量概念、術語和語法,而該門課程的理論學時有限,多數專業課程每周只有兩學時,教師授課時難免陷入靜態說明書式的狀態。語法知識枯燥乏味,而這樣一種靜態說明書式的授課方式,更加劇了學生的厭惡感,導致學生厭學。
1.3實踐課程比例不夠或不重視
受傳統的教與學的影響,師生雙方都或多或少忽視上機實踐。實際上,該課程的實踐課尤其重要,只有在實踐課上我們才能有效地檢查和驗證學生學到了什么,能夠做些什么。
2教學改革及教學方法探討
2.1轉變教學觀念,提高教師自身素質
教師要從以往的以教師為中心的模式向“教師主導,學生為學習主體”的模式轉變[2],改變老師單向課堂灌輸、學生被動地整堂課聽講的傳統授課方法。我們要規范整個教學過程,這些工作最好是由教授該課程的全體教師(即課程項目組)來共同合作完成。教師在熟悉教材內容的前提下,編寫完整的課堂教學教案;制作完整的教學用PPT;課程組從大量的例題中精選出部分典型的、針對性強的例題也是非常必要的,只有這樣才能減少教師在教學過程中選擇例題的盲目性;精心設計好實踐課內容,每次實踐課的內容要有針對性,有具體的目標和要求,并要求學生下課時必須提交實驗報告或作業,這樣,在提高實踐課效率的同時,可以有效增強學生實際動手能力,從而真正掌握C語言。
2.2采用靈活多變的動態的授課方式
對于C語言課程的教學,我們應采用靈活多樣的授課方法,可以嘗試采用啟發式、任務驅動式、比喻式等多方式有機結合,具體授課時采用的形式和手段也可以多樣化,根據實際知識點的具體情況,靈活采用傳統教學方法+多媒體教學文法。例如,對課程中的語法、語句、流程圖的畫法,采用多媒體教學,減少板書時間以增加對算法思想的傳授;在講完一個程序后,把程序在課堂上進行多媒體演示,這樣既有利于學生的理解,又能激發學生的興趣,還節省了講解時間,避免了靜態說明書式的教學方式;對于程序設計方法的講解,則采用傳統的教學方式,教會學生如何思考、推理,如何用語句實現算法,培養學生的抽象思維和邏輯推理能力。下面介紹幾種授課方式。
1) 采用啟發式授課方法,以培養學生分析問題和解決問題。啟發式授課方法,是指教師在全面掌握講授內容的前提下,在講解新的授課內容前,對以前所學知識進行回顧,引出新的講授內容。
例如,在講授“數組”一節的內容時[3],首先提出一個問題:用基本數據類型可以解決所有的問題嗎?具體實例有:對某班學生的成績按從高到低的順序進行排列。教師先讓學生回顧以前所學過的基本數據類型的相關知識,在教師引導下,學生能夠輕松地找到準確答案。比如,如果班里學生只有少數的幾個,如3個,那么用基本數據類型可以解決,但一個班通常有幾十名學生,這時候用基本數據類型解決就無能為力了。此時,教師就可以引出新的講授內容――數組的概念,并指出前面提出的實例,用數組來解決就顯得非常容易了;然后,簡要地向學生講授數組這一節課需掌握的理論知識――一維數組的定義和初始化,冒泡法和選擇法的原理,最后引導學生用數組這個新學到的數據類型,采用冒泡法和選擇法分別解決之前所提的問題。大多數學生都能夠做到,而且學生對兩個算法的理解也比傳統教學法深刻。
實踐證明,這種授課方法能充分調動學生的學習積極性,變被動學習為主動學習,培養學生分析問題和解決問題的能力。
2) 將項目教學法應用于C語言課程教學[4]。為了達到既能讓學生掌握C語言基礎知識,又能培養學生的編程動手能力,教師還可以縱觀全局,事先按照學生將要掌握的知識點,設計一個或幾個有一定規模的項目(規模大小視該教學單元模塊的難易而定),采取項目驅動法,即以項目為驅動力,從分析項目開始,講解完成項目所需要的編程知識和技能,在講授知識點的過程中,引導學生去解決實際問題,最后,以小組討論形式,共同完成該項目(任務)。具體實施過程如下:設計具體教學項目,按各個知識模塊來劃分,并根據知識模塊的大小和難易程度,確定項目的大小、教師的講解時間以及要求學生完成的時間。
3) 采用比喻式授課方法,將復雜問題簡單化,引起學生的學習興趣。比喻式授課,是指教師應用形象化的比喻,將抽象復雜的問題簡單化、具體化。這種授課方式適用各門課程。就C語言這門課來講,在上述兩種授課方式的具體實施過程中,都可以穿插應用比喻式授課方法。學習一門語言總要學習其語法和語句,而這些內容通常都比較枯燥,讓人厭煩,所以,教師要善用身邊的例子,利用形象化的比喻,把枯燥的東西變得形象生動,引起學生的興趣。
例如,在上述啟發式授課方法中提到過的用數組來解決多個學生成績排序的問題,可以采用冒泡法和選擇法,但這兩種算法都比較抽象,教師如果只是機械地講解冒泡法和選擇法的原理,學生會產生厭學心理。對此,教師可以把它形象化,從而將這個問題簡單化,將問題轉變成是10個兩位自然數排序的小問題;并運用多媒體教學,在教學課件里用動態的排序過程,分別展示運用兩種不同的算法去解決這個排序問題的具體實施流程。這樣一來,在動態數字排序過程的展示下,學生的目光都不由自主被吸引到講臺上來,隨著10個數字排序的動態全過程的完成,學生就能夠印象深刻地理解到選擇法和冒泡法的原理,從而達到事半功倍的效果。
2.3重視實踐教學
實踐教學是C語言課程學習的重中之重,教師和學生都應該從觀念上先認識到這點。在具體要求實施過程中,可以嘗試從以下途徑來完成實踐。
首先,課程項目組在開學初已制定好了完備的實驗教學計劃及實驗教案,針對每周的實驗課都有相應的實驗教案,清晰指明該次實踐課的目標、實驗指導、實驗要求及提交實驗作業的要求。
其次,在每次上機實踐的基礎上,視學生掌握知識點的情況以及動手能力的高低,一學期布置1~3個綜合的實驗項目,并體現項目教學法的精髓,即要求學生從初期規劃開始,從功能設計、模塊劃分、算法設計與描述、代碼編寫、調度、分析、心得體會等方面撰寫實驗報告,并提交電子源代碼與手寫的實驗報告。這一過程是對學生真實的動手能力的訓練,可以督促學生養成自主學習的好習慣,培養探索精神[5]。
再次,教師要讓學生明白,在實驗課上學生自己是學習的主體身份。在到機房上課前,學生已在之前的理論課上了解了該次實驗的內容與要求,是帶著任務來上實驗課的。在這個環節,教師可以實施小組協作學習的模式,同小組座位安排在一起,方便討論。上實驗課時,學生有問題可以與相鄰座位的同學相互討論,充分發揮學生的自主能動性和小組團隊協作的學習精神;如果出現了小組解決不了的問題,再尋求教師幫助。與此同時,教師在學生實踐時,可以巡視,并結合機器里安裝的教學軟件NETOP,觀察學生具體做實驗的情況,鎖定學生實踐的難點,對多數學生的共性問題通過大屏幕演示,進行統一指導與解答;而對于個別學生的問題,實施一對一的指導;最后,教師還可以抽出5~10分鐘的時間,針對上次實踐課的作業,利用大屏幕或NETOP軟件控制每個學生的機器進行點評,在共享目錄里展示學生好的源代碼,以便其他同學參考借鑒。
最后,在學生提交作業環節,教師可以從提交截止時間、提交目錄的權限設置及實驗課的實時監督等保證學生作業的真實性,防止抄襲拷貝現象發生。
2.4考核方式的改革
實踐對于這門課程很重要,故筆者建議將每次實驗作業的成績與綜合實驗項目報告成績,按一定的比例作為學生期末課程總評成績的一部分錄入,即采用上機實驗+綜合實踐+期末考核的方式來決定學生的C語言課程的總成績,具體比例如下:上機實驗(包含考勤)占30%,綜合實踐占30%,期末考試占40%。期末考卷最好能夠實現教考分離,例如,課程組的各位老師共同設計題庫,再從題庫里隨機抽題考核是一個不錯的方法。
總的來說,這樣的考核方式可以避免傳統的一卷定分數的“高分低能”現象的出現,按這樣的考核方式出來的成績,既能反映學生平時的學習過程,又能督促學生自始至終都重視實踐能力的學習與鍛煉,考核里加上了解決實際問題的大中型綜合實踐與期末的卷面考核,能全面真實地反映學生的實際水平。
參考文獻:
[1] 丁峻嶺,張克軍,代俊雅. C語言課程教學的探討與研究[C]. 北京:高等教育出版社,2009:510-511.
[2] 李克東. 教育技術學研究方法[M]. 北京:北京師范大學出版社,2003:132-137.
[3] 譚浩強. C程序設計(第三版)[M]. 北京:清華大學出版社,2006:99-118.
[4] 劉平. 任務驅動式教學法在C語言程序設計教學中的應用[J]. 無錫南洋職業術學院論叢,2009(3):78-80.
[5] 郭有強. C語言程序設計課程建設探索與實踐[J]. 教育與教學研究,2009(2):72-74.
Discussion on C Programming Language Course
XIONG Fang-min, XU Shuo-na
(Information Engineering and Technology Department, Nanhai Campus, South China Normal University, Foshan 528225, China)
篇2
[關鍵詞]C語言程序設計 探究教學 實施目標
中圖分類號:TP312.1-4 文獻標識碼:A 文章編號:1009-914X(2014)17-0126-01
一、 C語言程序設計探究教學實施的目標:情感目標、能力目標和認知目標
1、體驗C語言程序設計的編程思想,激發和保持對C語言程序設計課程的求知欲,形成積極主動地學習和參與C語言程序設計課程探究活動的態度。
2、能辯證地認識C語言程序設計對社會發展、科技進步和日常生活學習的影響。
3、獲得親自參與研究探索的積極體驗、培養嚴謹的科學態度。
4、能從日常生活、學習中發現或歸納可以利用C語言程序設計解決的問題,通過問題分析確定程序功能。
5、能根據任務的要求,確定所需信息的類型和來源,并鑒別信息的真實性、準確性和相關性。
6、掌握計算機程序的基本概念,理解并掌握C語言程序設計語言的基本知識,包括語句、數據類型、變量、常量、表達式、函數等,熟悉語言的語法規則,熟悉計算機程序執行的基本過程。
7、了解C語言程序設計語言,掌握編寫程序、編譯程序、連接程序以及程序開發環境等基本知識,掌握調試、運行程序的基本方法與技巧。
二、C語言程序設計探究教學實施的條件
1、掌握一定的計算機操作基礎
C語言程序設計課程由于其學科自身的特點,需要在計算機上調試程序,所以要求學生具有一定的計算機操作知識,如:開關機、鍵盤和鼠標的使用、文件的建立與查找、常用軟件的使用等。
2、良好的C語言程序設計認知結構
認知結構就是學生頭腦里的知識結構,是學習者觀念的全部內容和組織。奧蘇伯爾的認知結構理論是針對新學習內容的影響(即遷移)提出的,良好的認知結構有利于知識的提取和正向遷移。C語言程序設計探究教學強調在已有知識經驗上的主動建構,面對新的問題和任務,需要學生及時從頭腦中提取信息,建立新舊知識間的聯系,在已有C語言程序設計知識的基礎上思考解決新問題的辦法,并試圖將新知識納入自己的認知結構中。
3、良好的探究環境
良好的探究環境是學生順利進行探究的保證,至少包含兩方面的內容:(1)要有充足的探究時間和靈活的探究條件。探究時間應該根據學習任務進行合理安排,應該考慮到學生假設錯誤時所耽誤的時間以及討論交流所需要的時間。探究教學中可能需要查閱大量的資料,教師還應該準備書籍、網絡等輔助資源。(2)學生在探究學習的時候不能有太多壓力,不同的學生由于其自身的因素不可能以相同的速度學習,所以教師在進行評價的時候也應該因人而異,應該為每個學生提供充分的思考機會和時間,讓每個學生都能以自己的進度進行探索,并在此過程中感受到樂趣。
三、C語言程序設計探究教學情境的創設
心理學研究表明,恰當、適宜的環境能有效激發人的熱烈情緒,提高活動的質量和效果。教學情境是指教師人為創造的“典型場景”,創設目的在于引出教學任務,將學生的注意力吸引到學習任務中來。教師把將要學習的C語言程序設計知識通過一定的情境呈現給學生,使得學生認知結構與周圍環境不平衡,引起他們對學習目標的注意和興趣,并通過探究活動把學生過去的活動和將來的活動聯系在心理學研究表明,恰當、適宜的環境能有效激發人的熱烈情緒,提高活動的質量和效果。教學情境是指教師人為創造的“典型場景”,創設目的在于引出教學任務,將學生的注意力吸引到學習任務中來。教師把將要學習的C語言程序設計知識通過一定的情境呈現給學生,使得學生認知結構與周圍環境不平衡,引起他們對學習目標的注意和興趣,并通過探究活動把學生過去的活動和將來的活動聯系在一體。探究教學情境的創設應做到:(1)創設的情境是為C語言程序設計教學服務的,要以C語言程序設計探究教學目標為依據。(2)探究情境要接近學生的真實生活經驗,能夠吸引學生的注意力,激發他們的認知沖突和求知欲。(3)學生在情境中能夠感覺到問題的存在,自然地將新舊知識聯系起來。(4)情境中必須包含學生未知的新內容,而且是能夠通過探究掌握的。
四、C語言程序設計課程中的探究形式
C語言程序設計課程中開展探究教學主要有4種形式:探究性提問、探究性討論、探究性演示和探究性實驗。這4種形式是相輔相承的,而不是孤立存在的,在C語言程序設計探究教學中,需要用到多種形式來構成一個完整的探究教學過程。C語言程序設計探究教學通常都是由探究性提問開始,然后進行探究性討論、探究性演示或探究性實驗;也可能從探究性演示或探究性實驗開始,在演示或實驗的過程中發現問題,再進行探究性討論。在實際教學過程中,要根據學習內容和課堂情況靈活地選用這些形式。
五、C語言程序設計探究教學評價
教學評價指依據一定的標準,通過各種策略和相關資料的收集,對教學活動及其效果進行客觀衡量和科學判定的系統過程。C語言程序設計探究教學評價是對C語言程序設計探究教學過程及其影響的測量、分析和評定,評價中我們更關注學生學習和成長的過程,尋找適合學生發展的學習方式,滿足學生知識和能力發展的需要。評價對探究教學的積極作用是很明顯的,但是如果評價指標制定不合理,或者評價方法的選用、評價結果的表述不當,不僅不能達到預期效果,還會對學生的C語言程序設計學習產生消極影響。
參考文獻
[1] 《基礎教育課程改革綱要(試行)》教育部文件,教基[2001]17號.
[2] 保羅 朗格朗.終身教育引論瞰[M].北京:中國對外翻譯出版公司,1985,p15~31.
[3] 聯合國教科文組織.學會生存――教育世界的今天和明天[M].上海:上海譯文出.
版社,1979,p2.
[4] 張大均。教育心理學[M].北京:人民教育出版社,2005,p68--71.
[5] 靳玉樂.探究教學論[M].重慶:西南師范大學出版社,200l.
篇3
計算機程序設計類課程具有實用性強,和應用廣泛的特點。C語言作為現代非常流行編程的語言,更是具有通用性強和面向對象等眾多特點,作為大學計算機基礎編程類課程被廣泛學習。C語言存在一定的復雜性并且授課時限制,授課方式限制等等問題。將計算思維融入到C語言的教學中,合理調整針對各專業授課內容,將計算思維融入課程,并與MOOC教學模式對接。筆者結合十年的教學實踐經驗,總結出授課效果不佳的原因,提出若干改革措施。
關鍵詞:
計算思維;C語言程序設計;MOOC;
黑龍江省教學改革項目《高等院校計算機基礎程序設計類課程綜合研究性教學改革與實踐》項目編號:JG2014010854
1教學內容與模式存在問題
1)先理論后實驗
C語言程序設計課程在傳統的教學中,理論部分采用課堂講授的模式,邊講知識點邊進行編程,實驗課則是在理論課城講完之后,單獨進行實驗教學,單人單組,這種教學模式容易出現理論與實踐脫軌,接連不上,理解不透徹等問題。
2)創新性實驗不足
一般教學模式下,設計性實驗和創新性實驗占的比例在20%以下,創新性項目不足。這種模式下,學生在課堂上的學習積極性大部分依靠于教師的授課技巧或個人魅力來吸引學生,教師把知識點講授得清楚明白,但是學生自己動腦思考相應問題的時間短,并且大部分學生課前預習基本沒有,不能真正發揮學生主觀能動性和自主學習能力。
3)直接灌輸
大多數學生對與課前預習做的并不出色,可能大部分學生是完全沒有課前預習的。學生在頭腦中并沒有帶著問題聽課,而是老師直接灌輸C語言定的設計結構、數組、指針等復雜內容。學生沒有預習,沒有思考,只有類似直接灌輸式的教學模式。
2從教學模式改良教學內容
1)將計算思維能力培養融入課程中
程序設計類課程的教學方法要注重將“不可見”變為“可見”,變“無關”為“相關”,把大問題碎片化,把復雜問題進行分離與分層處理。例如,將C語言中的語法有融合到程序設計中,在程序中講語法,又在學語法的同時練習訓練了編程,這樣就避免了枯燥乏味的講述語法,將語法融合入程序設計中。
2)在C語言程序課程中擴展計算機思維的改革模式
①改進教學方法。不將C語言程序設計課程的教學內容做大量調整,而是通過改進教學方法來啟發引導學生認知知識點背后蘊含的聯系與規律,比如設置問題導引,問題討論,追溯反思,新建構架等等方式來潛移默化的滲透計算思維,使計算思維模式逐步走進學生的思維方式中。②重新構架體系結構。并不對課程教學的知識點做大量更改與替換,而是以計算思維模式為主干重新構建知識體系,只是課程內容授課順序和結構有較大復讀調整。例如容易基本的數學問題,生活常識問題,即由C語言外而進入C語言內的知識體系的調整。③更新大量陳舊項目。以往的教學內容包含一些生硬死板的程序項目,其目的只是為了說教語法和結構。取而代之的融入計算思維的程序項目則更加新穎,更加聯系實際,更加突出對計算思維的訓練,例如,愛因斯坦天國的階梯;生肖屬相輪回等項目,不僅生動、引人入勝,更能訓練思維。
3)依據計算思維融合傳統科目內容
我們可以將一部分學生選出來進行試驗性教學,打破傳統的幾門課程包括C語言、數據結構、算法分析、VC程序設計,等系列課程的教學方式,采用根據不同專業設定的包含基礎數學、程序設計技巧、算法分析的一體化教學內容,打破傳統的教學內容,該體系能夠更充分利用學生的自主能動性,課下的工作量比課上的工作量要大得多,學生在課前要進行大量的準備工作。
4)加大課前預習量
打破傳統的理論教學與實驗教學分開的模式,在理論教學中同樣需要學生進行大量的課前準備,然后在課堂上進行分組討論老師提出的問題,根據每組學生的討論內容,討論結果設置而在實驗教學方面,可運用本校的網絡教學平臺,提前發放討論內容及作業題,在實驗課中以項目提交的方式來完成實驗教學。
3對接MOOC網絡教學
1)MOOC興起
網絡技術的不斷發展,人們更愿意使用電子產品依托網絡進行學習。MOOC大規模網絡公開課程(MassiveOpenOnlineCourse,MOOC)[1]是2012年在美國興起,它作為一種大型的開放式網絡課程,為學生提供免費的學習平臺。隨后全球的各大知名大學逐步開設MOOC課程,紛紛涌入到MOOC的浪潮中。在中國的很多知名高校也加入其中,紛紛開設MOOC網絡課程,當前的coursera、udacity和edx的火熱應用,實施了翻轉課堂進行教學。
2)登陸MOOC
C語言程序設計的授課,為了適應新時期的教學發展趨勢和教學需求,要將傳統教學與在線教學平臺融合,更好地使二者相互補充和促進。MOOC也將教育推上了全球化的舞臺,這種變化帶來的好處顯而易見,最明顯的一個特征是打破了教育壁壘,令教育資源平等化[2]。
3)重組設計課程內容
C語言課程登陸到MOOC,并不能簡單的將課堂的內容簡單,直接的傳送到MOOC平臺上,而是應該結合C語言程序設計課程的特點,和MOOC平臺的優點,進行課程內容的整體策劃,重新設計設計整門課程的體系結構。
4總結
我們要通過分析教學中存在的問題,教學模式和教學內容進行多管齊下的相關改革。改革并不能與從前的單一模式相同,要針對課程的特性,改革教學內容與計算思維相對接,改革教學模式與MOOC相對接,實現多管齊下,真正達到教育教學目的,讓學習者能真正學以致用,轉換思維模式,無論在哪一方面都收獲良好的教育教學效果。
作者:逯柳 陳剛 孫毅 耿姝 王樹芬 單位:哈爾濱石油學院信息工程與計算機技術系
參考文獻:
篇4
《C語言程序設計》是計算機相關專業的一門基礎課程,是培養學生計算思維能力、程序設計與實現能力的入門課程,同時也是《數據結構與算法分析》等課程的先導課程;C語言也是IT企業中常用的編程語言。因此,該課程的教學對學生后續課程的學習和今后的工作都會產生重要的影響。對于初學者而言,因為邏輯思維能力較弱,所以在學習過程中積極性不高,學習效率低下,難以提高其編程語言解決實際問題的能力。經過多年的授課,筆者對《C語言程序設計》的課程教學進行了一些探討和實踐
二、教學中存在的問題
1.教學主體以教師為主
在傳統的教學中,教學主體往往以教師為主,高等院校對教師的考核注重“科研”,因此很多教師容易忽視“教學”的重要性。在《C語言程序設計》的教學中教師方面的問題主要包括:①課程的知識點較多,存在教學內容與教學時數之間的矛盾;②教師的教學方法、方式陳舊,難以激發學生主動學習的興趣;③教師在教學中大多重課堂教學,輕實驗教學;④任課教師往往沒有工程實踐經歷,其綜合業務水平有待提高。
2.教學中沒有充分調動學生學習的積極性
《C語言程序設計》的課程學習是在新生入學的第一學期,這對課程的教學也帶來一定的消極影響,主要體現在:①學生學習目的不明,動力不足,很多學生以為進入了大學主要是鍛煉社會交往能力;②學生的邏輯思維能力較弱,想象空間較窄,遇到挫折容易產生厭學情緒;③由于受傳統應試教育的影響,學生大多重教輕學,重理論輕實踐,考試能力強,編程能力弱,不能用計算思維解決實際問題。
三、教學改進的舉措
針對上述問題,筆者摒棄以單向性知識傳授為主的教學模式,主張講課教師應以課程的內容和學生的知識積累為基礎,積極引導學生創造性地運用知識和能力,自主地發現、分析和解決問題,學生在研討中學習知識、培養能力和提高素質。具體的教學實施方案包括:
1.編制詳細的教學設計方案
為幫助學生提高自主學習和創新的能力,需要制定詳細的教學設計方案,該方案是課程教學具體實施的主線,它相當于一場晚會的節目演出單,講課教師是導演和主持人,而學生是主角和演員。教學設計方案主要包括:教學日期和時數、教學內容和主題、實驗內容、教學方法、教學手段和作業安排等。
2.優化教學內容
該課程存在教學內容較多而教學時數受限,全面而細致的講解所有的內容已不合時宜。教學內容的優化應滿足教學目標的要求,滿足學生的學習需要,激發學生的學習興趣[1]。因此,我們按照“少而精、寬而新,突出核心的知識點”的原則優化教學內容,體現教學內容的先進性、實用性。按照學習進度,給學生安排相應階段的學習任務,有些內容要求學生自主完成。
3.改變傳統的教學方式
傳統的“填鴨式”教學方式效果并不好[2],因此,我們在教學引入并主要采用了“討論式”教學,以充分調動學生學習的積極性,具體的做法包括:①每次授課結束前,布置預習思考題,要求學生在課下充分預習,課上圍繞思考題展開討論,每次課分組討論1-3次,每次2-5分鐘;學生課堂討論、發言或回答問題的時間約占總學時的20%;②隨機抽查回答問題與各組指派同學回答問題相結合,回答問題不以正確性為唯一依據,也注重表達過程的清晰度和邏輯性,尤其鼓勵問題回答者闡述自己的觀點或提出問題。統計表明,學生回答問題次數平均水平有6-8次;③將學生在課堂教學過程中的表現按評分標準將其分值記入到平時成績檔案中。
4.加強教學方法的改革
在教學中應以學生為中心,引導學生走向知識,通過合理施壓,注重師生的互動交流,培養學生善于總結、發現問題和主動學習的能力[3-4]。在《C語言程序設計》的課程教學中,我們對教學方法做了如下改革:①“案例教學法”貫穿教學全過程,“學生信息管理系統”貫穿了該課程的全部章節,是學生在學習過程中的“長期任務”;②“任務驅動法”引導學生學習,“長期任務”可以分解為多個對應于知識點的“短期任務”,有助于學生逐步提高編程能力;③用“負反饋教學法”解決學生學習中問題,有效的提高學生的學習效率;④弱化語法,以“算法為先”實現實際問題的求解;⑤并用“多媒體”教案擴大課堂信息量,精心制作與教材配套的CAI課件和習題。
5.建立新型的實驗教學模式
為了激發學生學習的積極性,我們通過建立新型的實驗教學模式[5],包括:①為增強學生學習的體驗感,減少了基礎驗證型實驗比例,增加綜合型實驗和設計性實驗的比例;②建立以小組為單位的實驗完成機制,培養學生的團隊合作能力;③加強實驗報告的規范,增強學生的職業崗位意識;④建立定期的課外討論機制,教師定期討論主題,學生以小組為單位進行準備,然后通過專題討論和點評,并將學生的表現記入平時成績檔案;⑤鼓勵實驗動手能力的較強的同學自己設計實驗項目,并依據結果給予其一定的平時成績獎勵。
6.健全嚴格的學生考核機制
傳統的考核以筆試為主,學生為了應對考試采取死記硬背的方式,為此我們建立嚴格全面的考核機制,包括:①建立學生學習小組,分組原則是小組內部異質化,小組之間同質化;②建立每個學生平時學習成績檔案,學生的平時表現與分值相對應;③制定公平合理的成績評定方案:學期總評成績=平時成績×60%+期末考試成績×40%,平時成績=小組成績*小組人數*組員在項目組的貢獻百分比(組員的貢獻百分比是在教師給出小組成績之前,經過該小組的全體成員一致同意后提交給任課教師),這種考核方式可以促進學生的團隊協作精神和競爭意識;而期末考試側重于通過編程以解決實際問題,從而促使學生平時多思考、多上機實踐,有助于提高他們的邏輯思維和編程能力。
7.積極開展第二課堂教學
積極引導學生參加課外實踐活動,主要采取了如下措施:①開設了網絡教學平臺資源,為學生提供大量的經典實例程序、教學課件和習題,并通過電子郵箱、QQ群和微信群等手段,隨時為學生答疑,了解學生的學習狀況以調整教學內容和手段;②鼓勵學生自主創立或參加各種創新社團和講座,目前,本學院已成立“海盜社”等實踐社團,面向全校學生舉辦多種創新活動,2014年共組織了11場關于程序設計相關的講座和活動;③將各類程序設計競賽和實踐教學相結合,鼓勵學生參加各類程序設計大賽,為此學院提供了穩定的經費和場地支持,并依據參賽結果給學生一定的表彰和物質獎勵;④在大一第二學期末段,組織學生到印孚瑟斯技術中國有限公司等IT企業實地參觀學習,了解這些企業的文化、發展和對職業崗位能力的需求,進一步讓學生明確個人今后的發展目標和計劃,激發其學習熱情和自身的發展潛能[6]。
四、結束語
篇5
關鍵詞:高職高專;C語言;教學改革
中圖分類號:G642.3 文獻標識碼:B
1引言
“程序設計基礎(C語言)”(以下簡稱“C語言”)是我院三年制高職“軟件技術”專業和“計算機應用”專業的一門專業基礎課,其重要性體現在:
1) 該課程是專業課程體系中的第一門計算機類專業基礎課;
2) 該課程是專業課程體系中的第一門介紹程序設計基礎知識的課程;
3) 該課程是專業課程體系中的第一門編程語言類的課程;
4) 該課程是若干后續專業課程(數據結構、C++)的先修課。
因此,C語言課程對于計算機相關專業的學習是非常重要的。但是,由于高職學生的基礎不好,而程序設計課程邏輯性又很強,有不少學生不能很好地理解算法,編寫程序也很困難,C語言基礎打不牢還直接影響了后續專業課程的學習。如何改革C語言課程,進一步提高教學效果,成為專業課程建設中的一個緊迫任務。為此,我們邀請了校內外專家及來自企業的資深軟件工程師,與C語言教學一線的教師代表一起共同組成了C語言課程改革指導小組。經過廣泛調研、反復研討、仔細論證,明確了C語言課程改革的目標,制定了詳細的課程改革方案,并在接下來的幾年里有計劃、有步驟地貫徹執行,目前已初見成效,學生的學習積極性和學習效果有了顯著提高,C語言課程還于2007年被評為國家級精品課程。下面介紹課程改革的指導思想、總體思路和采取的具體措施。
2課程改革的指導思想和總體思路
C語言課程改革的指導思想是:
1) 改革要符合我院IT應用型學院的辦學理念和高職
實用技能型人才培養的定位;
2) 改革要立足專業培養目標,要符合學生的實際情況(包括基礎知識、學習能力、自我控制能力、情感特點等);
3) 改革要以培養學生的實踐能力為中心,體現以“教師為主導、學生為主體”的思想,充分激發學生的主觀能動性;
4) 改革的具體措施要具有可操作性;
5) 改革的過程是可控的,不能出現失控的狀態,導致課程無法進行下去;
6) 改革結果是可檢核的。
基于以上課程改革指導思想,結合我院實際情況,C語言課程改革工作主要從課程內容改革,教學模式改革、教學組織形式改革、課程考核辦法改革、配套教學資源建設等五個方面展開,改革的具體思路是:
1) 改革教學內容,引入綜合案例,突出實踐,做到核心知識點打透;
2) 改革教學模式,采取案例引導式教學模式,使教學過程更加符合學生的心理認知規律,做到循序漸進,逐步深入;
3) 改革教學組織形式,實施分組教學,加強學生的協作學習;
4) 改革課程考核辦法,引入機考,實施教考分離,使考核能真實地反映出學生的綜合能力,促進學生主動學習;
5) 加快配套立體教學資源包的開發,特別是電子資源和網絡平臺的開發,為學生自主學習提供有力的支持。
通過這幾個方面的改革,切實提高學生的實踐動手能力,激發學生主動學習的積極性,從而達到C語言課程的目標,即培養學生讀程序、調試程序、寫(仿照)程序的能力以及規范性編程的能力,使學生掌握程序設計的基本思想和方法,初步培養學生分析問題和解決問題的能力。
3課程改革的具體措施
3.1改革課程內容,突出精講多練
(1) 對知識點進行分類
課程內容的合理調整是C語言課程改革的核心,圍繞專業培養目標,根據企業對學生能力的要求,以“理論夠用,強化實踐”和“精講多練”為原則,在課程內容上放棄過度追求C語言知識點本身的系統化和細節化,集中精力于本課程的核心知識點,對于一些不重要、不常用的知識點略講或讓學生課下自學。
具體地說,將C語言的知識點劃分為A、B、C三類。A類為“應會”知識點,是學生必須掌握的核心知識點,教學中要求重點打透,反復練習。B類知識點為“應知”知識點,要求學生對其有一定的了解,教師要在課堂上適當講解,進行練習。C類知識點為“自學”知識點,有興趣的學生可在課后自學,教師可根據情況給以個別指導。
(2) 內容模塊化
整個教學內容分為四大能力模塊,每個模塊都制定了明確的學習目標,模塊的劃分如表1所示。
基礎能力模塊以較快的速度,讓學生接觸程序基本結構、數據類型、程序設計的三種基本結構、函數等編程基本概念,而不去過分追求知識的系統化和細節化。
初級應用能力模塊引入數組和字符串的知識,重點講解如何使用數組和字符串,強調知識的應用,并鞏固練習第一階段的分支和循環等知識。
高級應用能力模塊引入更復雜的構造類型D結構體,讓學生掌握如何用結構體數組來解決較復雜的實際問題,并能夠舉一反三,解決其他相近的實際問題。
綜合應用能力模塊引入指針和鏈表,通過鏈表的操作,讓學生掌握指針的基本使用方法,和如何利用指針來進行復雜操作的思想。最后將指針和數組做函數參數進行對比,讓學生進一步理解函數中參數傳遞的問題。
(3) 引入綜合案例
每個能力模塊都有配套的綜合性案例,這些案例覆蓋了C語言課程的所有核心知識點,貫穿整個C語言教學。學生通過開發綜合案例,能夠將知識點融會貫通,達到學以致用的目的。
案例的設計十分關鍵,要由易到難,由簡到繁,能夠體現知識的循序漸進,符合學生的認知規律。“計算器”案例是一個“輕量級”的小案例,旨在讓學生快速入門,掌握程序基本結構,初步理解函數的概念。對于“學生成績管理系統”案例,則根據知識點的前后連續性關系,分成復雜程度不同的三個版本,后一版本均在前一版本的基礎上進行擴展和完善,使其功能逐漸增強。每個綜合案例又拆分成若干個小模塊,每個小模塊覆蓋若干個核心知識點,這些小模塊供教師在課堂上作為引出核心知識點的引例,進行講解、分析。為便于學生學習,我們還設計了一個與“學生成績管理系統”案例功能相近的案例―“圖書信息管理系統”案例,供學生在課后模仿完成。
案例與教學內容的對應關系如表1所示。
(4) 精心設計實踐教學環節
C語言是一門實踐性很強的課程,我們針對該課程的工程性和應用性,精心設計實踐教學環節,注重實驗、實訓、課程設計的完整性、實踐性,在內容的設計上突出可操作性、技能性和探索性,使實踐教學環節內容與理論課程內容能夠有機結合。C語言實踐教學環節包括隨堂實訓/實驗和課程設計兩個部分。
篇6
關鍵詞:教學改革;C程序設計語言;教學探討
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2014)03-0589-02
1 概述
目前,C語言程序設計課程幾乎涉及了高等院校的所有專業,是各類專業學生必修的一門計算機基礎課程。重慶郵電大學的C語言程序設計課程從1994年起就作為管文類專業學生的公共必修課程。對于管文類專業的學生來說,通過該課程學習,可以提高學生的計算機思維方式,為學生用計算機語言編程解決實際問題提供了思路和方法,為后續計算機相關理論和實踐教學課程打下基礎。同時,它也是計算機二級等級考試所要求的考試內容之一。
2 存在問題
2.1 專業復雜、多樣化
管文類專業C語言程序設計課程涉及的學生專業復雜、多樣化,包括信息管理與信息系統專業、電子商務專業、經濟學專業、工商管理專業、會計專業、工程管理專業、外語專業、法律專業、體育專業等多種專業。不同專業的學生計算機水平參差不齊。信息管理與信息系統專業和電子商務專業的學生計算機水平稍微好一些,學習起來容易一些。外語專業、法律專業和體育專業的學生計算機水平相對薄弱些,而且不需要必須過計算機二級等級考試,因此這些專業的同學學習積極性相對差一點,學習起來稍微困難一些。
2.2 教學計劃不合理
管文類專業C語言程序設計課程教學計劃設置不合理。不管是什么專業的學生,C語言程序設計課程學時都是48學時(理論32學時+上機16學時),而且統一命題、考試,沒有考慮學生專業的復雜、多樣化。
2.3 學生學習積極性不高
就管文類專業學生來講,絕大多數學生學習C語言程序設計的目的在于考證(計算機二級等級考試),只停留在學習語言本身,考過了就仍到一邊,再也沒有用了,根本沒有設計的能力,由于管文類專業學生缺乏計算機知識,教師在授課時也只能講些淺顯的知識,很難培養程序設計能力。因而,導致學生學習積極性不高。
2.4 課堂教學與實驗教學脫節
C語言程序設計課堂教學由一位老師擔任,而實驗教學由實驗室老師承擔。從而,理論老師不知道學生實驗環節的情況,而實驗老師也不考慮理論教學的進度,導致課堂教學與實驗教學脫節。
3 對策及建議
3.1 合理安排教學計劃
針對不同專業群設置不同的教學計劃。對于偏計算機技術方面的信息管理與信息系統專業和電子商務專業,單獨設置64學時(理論48學時+上機16學時),獨立命題考試。其他專業48學時(理論32學時+上機16學時)。其中,對于計算機水平相對薄弱的外語專業、法律專業和體育專業的學生,由于不需要過計算機二級等級考試,因而也單獨命題考試。
3.2 激發和增強學生的學習積極性
興趣是最好的老師,學習興趣是學生積極主動學習的直接動力。在第一節課就讓學生明確C語言學習的目的,明白C語言的重要性和實用性。可以適當調整教學內容,增加有趣的游戲實例教學,例如“猜數字游戲”、“石頭、剪刀、布游戲”。從而激發和增強學生的學習積極性。
3.3 課堂教學與實驗教學相結合
改變原有的課堂教學與實驗教學方式,課堂和實驗教學都由一位任課老師擔任,避免課堂教學與實驗教學脫機。另外,組成實驗小組,相互討論,學習成績好的、動手能力強的同學幫助帶動相對弱一些的同學。
4 結論
管文類專業C語言程序設計課程由于涉及的學生專業多,各專業學生計算機水平參差不齊,因而教學相對困難,遇到的問題頗多。為了提高該課程的教學效果、學生的學習積極性,提高學生利用計算機解決實際問題的能力,專門對管文類專業C語言程序設計課程進行改革,取得了一定效果。同時,對其他課程的教學改革有一定的指導意義。
參考文獻:
[1] 牛熠,董阿妮,吳燕玲.C語言教學中學生興趣的培養[J].東莞理工學院學報,2006(1):110-113.
篇7
關鍵詞:C語言;教學方式;教學管理
作者簡介:文學志(1970-),男,湖南津市人,南京信息工程大學計算機與軟件學院,副教授;方巍(1975-),男,安徽黃山人,南京信息工程大學計算機與軟件學院,副教授,(江蘇 南京 210044)
基金項目:本文系2012年南京信息工程大學教學建設與改革提升工程一般教改項目(項目編號:12JY038)的研究成果。
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2013)31-0077-02
“C語言程序設計”課程是各高校普遍開設的一門課程,是學生進校后接觸的第一門計算機程序設計語言課,也是高校學生參加計算機二級等級考試中選擇最多的編程語言。學習這門課程,可以掌握程序設計的基本方法并逐步形成正確的程序設計思想,從而為學習后續課程打下堅實的基礎,也為利用計算機解決實際問題提供了一種有效的編程工具。
但在近幾年的教學實踐中發現:學生們普遍認為這門課程內容太抽象,學習難度大,期末考試不及格率高,學生們不能學以致用的現象也十分嚴重;與此同時,老師們也認為該門課程內容多,教學時數有限,學生自學能力差,教學效果不好。那么,如何解決“C語言程序設計”教學過程中教師難教、學生難學的問題,很多教師在這方面進行了有益的探索與研究,提出了一些比較好的方法,比如加強學生上機實踐、靈活設置考核方式;[1]加強算法和數據結構教學;[2]運用“最近發展區”理論來提高C語言教學效果。[3]本文主要從教學方式、教學管理兩個方面探討提高C語言教學效果的方法。
一、改進教學方式
1.改變傳統的教學方式
傳統的課堂教學過多地強調語法知識的教學,極大地限制了學生編程思維的形成和編程能力的提高,所學到的語法知識也不能轉化為實際能力,這就是學生不愛學、學不好,即使學會了語法也不能進行靈活編程的根本原因,因此,有必要改變傳統的教學方式。在整個教學過程中,教師應遵循啟發式教學原則,通過各種教學方式和手段激發學生的學習欲望,讓學生積極投入到學習活動中,學會發現問題、提出問題,并逐步解決問題。其中,最關鍵的是在教學中應嘗試多與學生一起探討,共同解決問題,比如與學生一起來分析待求解的問題,繪制解決問題的算法流程圖,根據流程圖與學生共同完成程序代碼編寫,讓學生在啟發下思考,在思考中解決問題,從而掌握分析問題、解決問題的方法。
2.重“算法”輕“語言”
目前C語言教學中一般都包含有概述、數據類型、運算符和表達式、算法和控制語句、函數、數組、指針、預編譯命令、結構體和共用體、文件這些內容。如果按部就班進行講授,在規定的教學時數內顯然無法完成教學任務。因而,有必要對講授內容進行精心組織,既要確保完成規定的教學任務,又要保證教學質量。具體到對教學內容的組織上,應本著“強化算法,弱化語言”的原則,即把解題思路、方法和步驟(算法)當做授課的重點,從而讓學生明白如何分析并解決實際問題,逐漸培養學生進行程序設計的正確思維模式。而那些容易讓人感覺枯燥、不易理解的語法知識則通過例題引出,在講解語法時只講解最基本的用法,其他用法隨著學習的深入在以后的問題中再逐步呈現給學生。
3.合理運用類比法
類比法屬于講授教學方法的一種,即借助于兩類不同本質事物之間的相似性,通過比較,形象地將一種已經熟悉或掌握的特殊對象的知識推移到另一種新的特殊對象上去的推理手段,也是教學中創設真實情景的有效工具之一。[4]從認知學角度來看,是學生把熟悉的思維方式平移轉化到接受新的知識點上的過程,即用熟悉的生活實例來理解并消化所學概念。在教學中適當運用類比法,可以幫助學生快速、準確地理解知識點,提高學習的興趣和積極性。比如:指針、指針變量和普通變量之間的區別,有的學生理解比較困難。指針就是變量所對應的存儲空間的地址,即指針就是地址;指針變量就是專門用于存放地址(指針)的變量,而普通變量就是用來存放數值或字符的變量。但是如果用類比方法講解,學生理解起來就容易多了。假設有一個裝錢的A箱子被鎖起來,該箱子有一把鑰匙,需要取錢時,有兩種典型的途徑:第一種途徑,直接拿A箱子鑰匙打開箱子取錢;第二種途徑,為安全起見,把A箱子鑰匙放進B箱子中鎖起來,則要取A箱子里的錢,需要先找到B箱子的鑰匙,打開B箱子,取出A箱子的鑰匙,再打開A箱子,取出A箱子里的錢。在這個過程中,把箱子比作存儲空間,相當于變量,把鑰匙比作指針,專門用來存放鑰匙的箱子比作指針變量,而專門用來存放錢幣的箱子比作普通變量。這樣,三者的區別一目了然。
4.培養良好的程序設計習慣
良好的編程習慣有助于提高解決問題的工作效率。在這個過程中,要做好以下三件事:第一,良好的解決問題習慣。對于要解決的問題,遵循以下四個步驟:一是分析問題,明確做什么;二是給出求解問題的算法流程圖;三是根據流程圖編寫程序代碼;四是運行程序,輸出最終結果。教師在課堂上一定要與學生共同踐行這四個基本步驟。第二,良好的編碼習慣。規范的代碼,閱讀起來給人以賞心悅目的感覺。對于C代碼,應采用縮進格式來編寫:比如函數體或語句體應縮進4個空格,運算符左右兩邊空一個空格,逗號分隔符右邊應空一格等等。教師在課堂上與學生一定要嚴格按此規范編輯代碼。第三,良好的輸入、輸出習慣。有的學生只關注問題的解決,不關心界面的友好性問題,導致運行時連自己都不知道運行界面上到底要求做什么,輸出的值代表什么含義。因此務必要求學生程序中凡是有輸入變量值的語句,一定要事先給出輸入提示,凡是有輸出值的語句,一定要給出該值所表示的含義。例如有這樣一個例子:編程求1+2+3+...+n的和。結果出現了很多如下所示的編程樣式:
#include
void main()
{
int i,n,sum;
scanf(“%d”,&n);
sum = 0;
for(i = 1; i
sum += i;
printf(“%d\n”,sum);
}
運行時光標在屏幕上閃爍,沒有任何提示,不知道要做什么,輸入一個值后,得到的輸出結果也不知道代表什么含義,這不是一個好的輸入、輸出編程習慣,將以上程序改寫如下:
#include
void main ()
{
int i,n,sum;
printf(“Input a integer n(n>1): ”);
scanf(“%d”,&n);
sum = 0;
for(i = 1; i
{
sum += i;
if (i != n)
printf (“%d + ”,i);
else
printf(“%d = %d\n”,i,sum);
}
}
可以發現,改寫后的程序運行界面表達的意思非常清楚,既表明了要求輸入什么樣的整數值n,又表達了對輸入的整數值做了什么樣的處理。
此外,對于碰到的問題,要讓學生養成先在心底這樣問自己的習慣:這個問題能否編寫程序來驗證或解決?曾經有學生提問:若x和n均為int型變量,且x和n的初值均為5,則計算表達式x+=n++后x的值為多少?n的值為多少?這個問題本身不難,主要是考查學生對于復合賦值運算符和自加運算符的計算規則是否理解清楚了。像這樣的問題,要讓學生自然而然地想到通過自己編程上機運行來檢驗自己的理解是否正確:
#include
void main()
{
int x = 5,n = 5;
x += n++;
printf(“x=%d,n= %d\n”,x,n);
}
如果學生自己理解的結果與上機運行結果不一致,應該通過調試跟蹤程序分析問題出在哪里。
二、教學管理
課堂管理是保證教學質量的前提,“利益攸關法”可顯著提高課堂管理效果。所謂利益攸關法,就是指在分配任務時,將該任務與完成人員的利益得失掛鉤,從而確保該任務保質保量圓滿完成。具體到C語言教學中,關系所有學生共同利益的是期末考試總評成績。C語言課程的期末考試總評成績一般由平時成績、期中考試成績和期末考試成績這三個部分按比例計算得到,其中平時成績由課堂考勤、作業、實驗報告、上機這幾個部分按比例產生。利益攸關法主要應用在平時成績這個環節。在上C語言的第一節課時,教師務必將與學生成績掛鉤的規定給學生講解清楚。比如上課點名之后到課的,一律按曠課處理,曠一次課扣除平時成績1分;作業和實驗報告不按時交的,一律按未交作業處理,缺一次作業或實驗報告扣除平時成績1分;上課主動回答老師提出問題的,無論對與錯,平時成績加1分;上機課,在規定的時間內完成老師布置任務的,平時成績加1分,否則扣除1分。同時,要明確告訴學生,只要按老師規定的要求去做,平時成績拿滿分應該問題不大,以消除學生的畏難心理。這個方法要求教師在執行時一定要本著客觀、公正、公平的原則對待學生。
三、教學效果
通過執行以上措施前后的對比發現,以前所出現的學生遲到、曠課、缺交作業或實驗報告、上機玩游戲的現象得到了很好的扭轉。課堂上大家積極主動回答老師提出的問題,在實驗課上,大多數同學都能夠完成老師布置的實驗內容,學生普遍反映學習效果較好。
四、結語
筆者在C語言教學多年經驗的基礎上,從教學方式、教學管理兩個方面探討了提高C語言教學效果的方法,并在實際教學中獲得較好的成果,教學質量有明顯提高。隨著教學對象和社會需要的人才標準不斷變化,如何探索針對性更強、效果更佳的教學方法是擺在教師面前的重要課題。
參考文獻:
[1]謝競博.C語言程序設計教學中的問題及改革建議[J].重慶郵電大學學報(社會科學版),2008,20(2):137-140.
[2]金華,崔榮一.“C語言程序設計”教學研究[J].計算機教育,
2012,(14):60-62.
篇8
Li Bo
(Qinhuangdao Institute of Technology,Qinhuangdao 066100,China)
摘要: 本文根據高職學生的特點,針對C語言課程難教、難學的現象,對教學內容、教學方法、教學手段和教學評價等方面作了大膽的改革嘗試。實踐證明,這些方法起到了事半功倍的作用。
Abstract: According to the characteristics of students in higher vocational college, aiming at the phenomenon that it is difficult to teach and learn the C language program, the paper attempts to reform the teaching content, teaching methods, teaching means and teaching evaluation. The practice proves that these methods play a multiplier effect.
關鍵詞: 高職 C語言 教學方法
Key words: higher vocational college; C language; teaching methods
中圖分類號:G42文獻標識碼:A文章編號:1006-4311(2011)21-0242-02
0引言
高職教育最大的特點就是突出職業性和技術性,使學生熟練掌握生產基礎知識和基本技能,并能運用這些知識和技巧解決工作中的實際問題,把所學的知識以最快的方式轉化成生產力。所以在教學過程中不但要重視理論教學還要重視實踐能力的培養。高職的學生由于英語和數學的基礎比較薄弱,學習興趣不高,所以在教學的過程中要充分調動學生學習的主動性,把知識點由淺入深,循序漸進的讓他們逐步掌握。
C語言以其功能齊全、表達能力豐富、使用靈活方便、目標程序效率高、可移植性好、可直接對硬件進行操作等眾多優點,而備受青睞。很多高校將C語言作為計算機及相關專業的重要專業基礎課,許多理工科專業將它作為計算機公共基礎課來開設。作為基礎課,旨在培養學生程序設計的思想、基本方法和手段,為《數據結構》、《操作系統》、《算法》等后續課程的學習打下堅實的基礎。C語言是培養學生程序設計能力的開端,形成初步的基本程序設計思想和觀念,培養初步的分析和解決問題的能力。對于學生將來是否能夠成為一個合格或優秀計算機專業人才,起著重要作用。但C語言較之于現在流行的可視化編程,界面枯燥,語法煩瑣,學生接受起來比較困難。學生即使是死記硬背的把語法弄懂了,書上例題中的每一個語句弄懂了,自己動手編程時還是無從下手。
所以如何在有限的學時內,讓對計算機一無所知的大一新生能夠掌握C語言基本原理的同時,能熟練運用程序設計的方法分析問題、解決問題,成為教學工作的重要組成部分。針對以上的種種狀況,作者在教學的過程中進行了大膽的改革,取得了良好的效果。
1改革手段
1.1 教學內容調整――適當取舍和整合大多數C語言教材內容是按照 “數據類型-基本結構-數組-函數-指針-文件”這樣的順序進行知識點編排,內容詳盡全面、講解細致[1]。如果教師在課程的起始階段,先對數據類型、運算符和表達式做一詳細的講解,很容易陷入枯燥的語法泥潭。這些知識點極為瑣碎,需要花費大量時間,許多學生就是在這個階段就對C語言的學習失去了耐心和興趣。
為了激發學生的學習興趣,培養學生綜合解題能力,對課堂教學內容進行適當的取舍和整合。
1.1.1 整合 適當的調整知識點的學習順序,增強知識點之間的聯系,讓學生直接把知識轉化成能力。但在教材整合要注重知識的漸進性,符合學生的認知規律。比如,講解整型數據的時候可以和該類型的輸入輸出語句的格式說明相結合,通過兩個數求最大值的例子,引入if選擇結構、關系運算符和關系表達式、流程圖的畫法的講解。通過判斷一個數的奇偶的例子,引入算術運算符和算術表達式、等于運算符的講解。這樣就把書上的數據類型、運算符和表達式、順序結構和選擇結構四章的內容打亂、重組。
1.1.2 取舍與其把所有內容通講,學生對每個知識點印象都不深刻,還不如挑一些內容精講,讓學生熟練掌握這些知識。對于未講的內容,可以通過循序漸進的方式,在例題或作業中逐步的加入。
1.2 教學方法的改革――采用案例教學法傳統教學方式是以教師和教材為中心,從書本到書本,從概念到概念,忽視了對學生潛能的開發,導致學生理論與實踐的脫節。而案例教學法十分注重學生的主動性的發揮,注重引導學生通過案例分析解決實際問題。
在課堂上從問題入手,每次課結束前,都給學生留一個和下次課要講解內容相關的案例。通過教師和學生一起分析討論,由案例引出新的知識點,這樣可以引導學生課后自己看書,在書上找到相關知識點的講解,并運用該知識點解決問題。讓學生帶著問題進行下次課課前預習。每次課上課前,老師根據案例的情景要求講解新知識點,再通過一系列精心設計的具有實用性和趣味性的案例,加深學生的理解,能靈活運用這些知識。放棄過度追求語言知識本身的系統化和細節化的做法,可以調動學生學習的積極性和主動性,培養自主學習能力。
1.3 教學手段的改革多媒體教學以其可以實時、高效、快速、有效地收集、處理、加工和傳播教育信息,提高教育信息化程度,豐富教學內容,優化課堂教學,充分調動學生的學習積極性等優勢特點被廣泛應用。目前在教學中使用得最多的是多媒體課件的形式。但多媒體教學不是萬能的,在使用過程中還是會出現一些問題的。比如:①多媒體課件內容一成不變,知識會出現之后現象;②課件信息量大,超出學生單位時間內接受知識的能力;③課件流程固定,缺少靈活性,缺少與學生的互動[2]。而傳統教學方法利用黑板、粉筆、教案等,在教室進行知識的教授。傳統教學方法由于片面地強調和突出教師的主導作用,片面地強調知識的傳授與灌輸,忽視了學生創新能力的培養。
1.3.1 在理論教學過程中,作者采用多媒體教學和黑板教學相結合的方式在對典型例題分析和相關知識點講解時采用多媒體教學。課件中適當設置一些動畫,幫助學生理解比較抽象的知識。分析完問題,找兩名同學到黑板上寫出算法的具體實現代碼,另外一名同學利用計算機寫出代碼,并且調試運行,其他同學在座位上寫程序。這樣可以調動學生的學習積極性,培養學生設計數據結構和算法的能力,用C語言實現算法描述的能力,編譯與調試的能力,測試程序正常運行的能力。這些能力是否能夠形成,對于學生將來是否能夠成為一個合格的計算機專業人才,起著直觀的作用[3]。
教師在學生寫程序的過程中,可以對基礎薄弱的同學給予重點輔導,盡量做到在課堂上不落下任何一個學生。
最后,教師要對黑板上和計算機上的程序給予講解,評判優劣、吸收優點、修改錯誤,對程序進行優化,并對例題進行擴展和延伸。
1.3.2 在實踐教學過程中,加強監督和輔導計算機學科是一門實踐性很強的學科,只“聽”、“讀”、“寫”是遠遠不夠的。在程序開發過程中,程序調試的工作量要比編程大得多,上機調試程序是一個不可缺少的重要環節。學生上機之前不清楚的布置作業內容,沒有明確上機目的,他們上機時僅會把老師上課所講例題和書上的例題的程序輸入到計算機里,驗證程序的正確性,不會具體的分析算法和語法結構。如果這樣,上機課的實踐目的沒有達到。所以教師在提高理論教學質量的同時,必須加強對實踐的監督和輔導。
實踐課內容主要分成兩部分:①理論課的例題。②針對理論課所講的內容,布置兩到三道有特點的作業題目。學習初期,學生對知識點理解還不到位,難以正確和靈活的運用,教師可以給學生布置一個不完整的程序,讓學生改錯或填空,這樣可以避免學生因為寫不出程序而有挫折感。
在實踐課上,教師幫助學生及時指出作業中存在的問題。對于個別問題單獨輔導,普遍性問題集中講解。根據學生實踐中所出現的問題,教師可以適當的調整理論課的授課計劃和授課內容,以滿足學生知識學習的需要。這不僅可以增強學生和教師之間的溝通,也可提高學生靈活運用課程知識的能力,提高學生在編程、上機操作、程序調試與測試的能力。
1.3.3 在課下,充分利用網絡資源,建立論壇。把一些課上由于時間限制無法講解分析的題目寫在論壇里,讓學生充分發揮創造力,提出解決問題的方法及具體用C語言代碼來實現。學生通過討論分析,不但可以提高分析問題和解決問題的能力,還可以提高創新能力。這種做法極大的激發了學生的學習積極性,使學生擴展了解題思路。在多種算法進行對比時,加深了學生對所學程序和算法的理解,也豐富了教學內容。
1.4 考核手段的改革以往C語言的考核是由平時成績和期末考試成績兩部分組成。期末考試采用上機或理論中的一種。采用單一考試方式,不能完全反應一個學生的實際學習效果。所以考核分為三部分:平時成績(40%)、上機考試成績(30%)和理論考試成績(30%)。這樣可以通過成績真實的反映出學生動手能力和知識水平。
2結束語
通過以上改革,學生的理論水平和實踐能力大大提高,極大的調動了學生的學習積極性。他們會積極主動地在網絡上搜索課本以外的C語言相關的知識,進行自主學習。學生綜合能力的增強,有助于提高學生的就業率。
參考文獻:
[1]譚浩強.C語言程序設計教程[M].北京:清華大學出版社,2007.
篇9
關鍵詞 建構主義 ACM平臺 C語言實驗課程 程序設計
中圖分類號:G424 文獻標識碼:A DOI:10.16400/ki.kjdkz.2016.01.064
C Language Experimental Course Teaching
Practice Based on ARM Platform
CHEN Rongqin, WANG Aidong, YING Jianjian
Abstract Constructivism teaching theory as the guiding ideology, "Taizhou University online program design comprehensive experimental platform" for the C language experimental curriculum bridges, breaking the traditional experimental teaching curriculum test several aspects of the drawbacks, the introduction of computers in all aspects of automatic evaluation method teaching, to put into traditional "teacher-centered" teaching mode "student-centered" self-learning process interesting and competitive, effectively combine inside and outside process of teaching and examination courses, and teaching efficiency is greatly improved.
Key words constructivism; ACM platform; C Language experimental course; program design; self learning
1 理論背景
建立在建構主義教學理論基礎上并具有較強指導意義的教學方法有目標驅動教學法、任務驅動教學法和項目驅動教學法。目標驅動教學法是以目標為主線,學生為中心、教師為主導的一種教學方法。嚴惠新(2012)敘述了目標驅動法在“計算機基礎”教學過程的設計原則和實施過程。張紅波等(2011)以課程知識應用、企業需求和學生就業相關需求為目標,結合學生主觀感受的體驗式課程教學模式,充分調動了學生的學習積極性,有效利用了課堂時間,十分值得借鑒。同樣,任務驅動教學法也頗受歡迎。所謂任務驅動教學法,就是以學生為中心,以任務為驅動的一種探究性學習和協作學習模式。其教學理念就是針對教學目標,教師設計教學任務,將所要學的概念、技能蘊含在所要解決的任務之中。黃美瓊(2012)分析了“任務驅動,案列教學”教學法的實施方法和優勢,并進行了教學設計舉例。此外,(卞琛,2008)認為項目驅動教學法也是一種探究式教學模式,就是讓學生在一個典型的信息處理的“項目”的驅動下,展開教學活動。引導學生由簡到繁、由易到難、循序漸進地完成一系列“項目”,從而得到清晰的思路、方法和知識的脈絡。胡孟杰等(2013) 針對程序設計課程傳統教學中存在的問題,以強化實踐能力和創新能力培養為目標,探索項目驅動教學法在程序設計課程教學中的運用。總之,三種理論殊途同歸,都突出學生的主體性地位,強調學生分析問題和解決問題的能力,對C語言實驗課程的教學都具有實質性的指導意義。
2 傳統實驗課教學模式的弊端和分析
通過對C語言實驗課程教學的初步調查,我們發現目前大部分C語言實驗課程教學還是采用傳統的實驗教學模式,這種教學模式普遍存在以下幾個方面的問題。
2.1 “教”的模式落后
(1)教師布置的實驗任務往往是實驗指導書上的內容,學生容易依樣畫葫蘆完成實驗,缺少對問題的分析以及實驗框架設計過程,對后續的項目設計能力培養尤為不利。(2)實驗課程通常只要求完成規定題目,實驗數目和題目數目均受到限制,由此造成了學生“代碼量”嚴重不足,限制了程序設計能力的提高。(3)教師之間“各自為政”缺乏信息共享,沒有利用好現有的優質資源和先進的教學方法,工作量大,但教學效果差。(4)教師除了在課堂上教學外,無法在課余時間監督和管理學生的學習狀況。
篇10
摘 要:《C語言程序設計》是計算機專業的基礎課,為后繼課程《數據結構》等的前導課程,也是其他專業的必修課程,同時是國家計算機考試中的重點內容。針對普遍認為該課程教師難教、學生難學的問題,本文從教學內容、教學手段、教學方法等方面介紹了對此課程進行的一系列改革。經過實踐證明,在教學改革實施后,不僅有利于培養學生對該門課程的學習興趣,而且對學生分析問題與解決問題的能力也有了顯著提高,取得了良好的教學效果。
關鍵詞:C語言程序設計;教學內容;教學手段;教學方法
作者簡介:李力東,女,(1974―),碩士,現在吉林省長春市吉林建筑工程學院從事計算機教學工作,講師,研究方向計算機軟件。
1、《C語言程序設計》課程介紹
C 語言是計算機程序設計領域的主流語言,它既具有高級語言的優點,又具有低級語言的特點,是一門承上啟下的課程。通過學習,使學生能夠比較熟練地掌握C語言的語法規則及程序設計的基本方法與編程技巧,了解進行科學計算的一般思路,培養學生獨立思考、分析、處理C語言程序設計問題,能在計算機上調試、運行程序,具有一定的查錯、改錯能力,做到理論和實踐緊密結合,并初步積累編程經驗,自己解決一些程序設計問題,為進一步學習和應用計算機打下基礎。C 語言是面向對象程序設計C++ 的先修課程,也是一些應用 C語言環境的相關課程如《數據結構》的先修課程,因此 C 語言在計算機專業人才的培養過程中占有重要地位。
2、教學中的問題
在《C語言程序設計》課程教學中,許多教師和學生都認為C語言涉及的概念比較復雜,規則繁多,使用靈活,極易出錯,教師授課和學生學習的過程中不同程度產生畏難心理[1]?,F在大多數高校將該課程設置為計算機專業的學生入校后最先學習的專業基礎課,對于沒有任何準備的學生來說,學習起來十分困難。C語言的重點內容包括:選擇和循環語句、數組應用、函數的應用、指針的應用等。這些內容逐層深入,聯系緊密,前面有一個地方概念不清都會導致其后續內容無法正確理解。
3、教學的改革
① 教學內容的改革
大多數的C語言教材,其教學內容都包括C語言基礎知識(數據類型、運算符和表達式)、三種程序控制結構、數組、函數、指針、文件及其應用等。教材在內容上,按照邏輯方式進行歸類,但是難點仍然比較集中,各章節跨度較大。在各章節中有的例子不典型,甚至涉及到后續內容,學生理解起來難度較大,適用性不強。
本著“深入淺出,突出實用”的教學思想,合理的對教學內容重新進行歸納,將難點分割,達到逐級遞增的目的。例如C語言數據類型、運算符、表達式種類繁多,以往放在一起利用幾學時統一講授時,學生理解起來難度較大,可以采用將算術型的數據類型、運算符以及相關的表達式先介紹,即將相關內容聯系在一起講解,使知識不分散,利于掌握。然后再采用這種方式介紹其他數據類型。接下來教學生編寫簡單、實用的C程序,由此引入基本輸入、輸出函數循序漸進。這樣難度減小了,學習積極性也提高了。此外,語言的敘述也對問題的理解很重要,比如,學習指針概念時,可以將A房間的鑰匙放在B房間里,若要取A房間里的物品,就需要先打開B房間,取出A鑰匙,再打開A房間,取出A房間的物品,這種方式講述“間接存取”的概念。學生理解起來簡單,記憶深刻。
② 教學手段的改革
在教學過程中,適當運用多媒體技術輔助教學,有利于激發學生的學習興趣,能發展學生的主體能力;同時由于多媒體信息量大,也能夠優化教學過程[2]。對于C語言的數據類型、變量類型、運算符、程序結構等,其定義較多,沒有多少邏輯推理,采用多媒體教學,避免使用傳統板書形式。對于有些程序,如冒泡法排序,可以借助多媒體的優勢,制作動態效果,將問題層層剖析、深入,利于學生理解掌握,摒棄了板書的枯燥性。
③ 教學方法的改革
歸納教學法:C語言有很多的定義、語法規則,使用靈活、難以記憶。同時這些定義和語法規則又有許多相似之處,如printf()與scanf()函數,有很多語法規則是一樣的,歸納之后,只要記住其中一個,另一個也迎刃而解了。
討論教學法:教學過程中,充分發揮學生的積極性與主動性是非常重要的。在課前給學生布置題目,讓學生利用課余時間去思考、收集資料,然后在課堂上暢所欲言的討論。學生獲得課外知識的同時,也促進教學內容的改革。
實踐教學法:學習程序設計課程的目的是掌握設計思路,最終編寫程序。因此解題思路的培養很重要。讓學生從簡單的程序編寫開始,然后逐步深入。鼓勵學生使用不同的方法解題,拓寬思路。
綜合考核法:考核的方式除了傳統的筆試外,還要進行編寫程序和調試程序。兩者結合給出綜合評定,在客觀反映學生學習情況的同時,也能促進學生學習達到良好的教學效果。
4、結論
無論是針對哪個學科,哪門課程的教學改革都是一個復雜的系統工程,涉及到諸多方面,在以學生為主體的教學模式下,采用多種教學方法的教學實踐表明,將有助于學生培養良好學習習慣,激發學習興趣,提高學習效率和成績。本文針對本課程的介紹,教學中出現的問題入手,從教學內容、教學手段、教學方法幾方面進行了教學改革,在《C語言程序設計》課程教學實踐中進行了運用,取得了良好的教學效果。
參考文獻: