1000部丰满熟女富婆视频,托着奶头喂男人吃奶,厨房挺进朋友人妻,成 人 免费 黄 色 网站无毒下载

首頁 > 文章中心 > c語言課程

c語言課程

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇c語言課程范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。

c語言課程

c語言課程范文第1篇

高等職業教育的目標及側重點不同于普通高等教育,其培養的學生在畢業后應能直接上崗,具有熟練的實踐操作技能。教育部《關于以就業為導向深化高等職業教育改革的若干意見》中指出,高職教育應“堅持培養面向生產、建設、管理、服務第一線需要的‘下得去、留得住、用得上’,實踐能力強、具有良好職業道德的高技能人才”。

因此,加強實踐性課程教學,對保證人才培養質量顯得尤為重要。我院為貫徹《關于全面提高高等職業教育教學質量的若干意見》(教高[2006]16號文件)精神,針對區域經濟發展的要求,靈活調整和設置專業課程,以就業為導向,加快專業課程對應的課程設計改革。目前,我院按照由淺入深、不斷深化的教學規律,構建了實踐教學三層次四環節的實踐課程體系(圖1)。實踐教學三層次包括基本技能、專業拓展、綜合創新,四環節包括實驗、實習實訓、設計和課外實踐。“C語言課程設計”是我院信息類專業的必修專業基礎課程設計,在“C語言程序設計”課程教學結束后的下一學期進行,歷時2周,40學時。課程開設的目的在于培養學生分析問題和解決問題的能力,為學生提供一個動手、動腦、獨立實踐的機會。

2項目教學法的簡單介紹

2.1項目教學法“項目教學法”是基于建構主義教學理論的一種教和學的模式。著名的瑞士心理學家皮亞杰認為,知識不是通過教師傳授得到的,而是學生在一定的情境下,借助他人的幫助,利用必要的學習資料,通過意義建構的方式而獲得的。美國項目管理專家約翰·賓認為:“項目是要在一定時間里,在預算規定范圍內需達到預定質量水平的一項一次性任務。”

“項目教學法”是通過實施一個完整的項目而進行的教學活動,旨在把學生融入有意義的任務完成的過程中,讓學生積極地學習,自主地進行知識的建構,在課堂教學中把理論與實踐教學有機地結合起來,充分發掘學生的創造潛能,提高學生解決實際問題的綜合能力。因此,在教學活動中,教師將需要解決的問題或需要完成的任務以項目的形式交給學生,在教師的指導下,以小組工作方式,由學生自己按照實際工作的完整程序,共同制定計劃,共同或分工完成整個項目。

在項目教學中,學習過程成為一個人人參與的創造實踐活動,注重的不是最終的結果,而是完成項目的過程。在高等職業技術教育中,項目是指以生產或制作一樣具體的、具有實際應用價值的產品的工作任務。在技術領域,很多小產品或一些復雜產品的模型都可以作為項目,如:在信息類專業,可以開展微機組裝、網站建設、信息管理系統開發、局域網構建、單片機制作、多媒體課件制作等項目;在電子類專業,可以開展報警器、LED、門鈴、家電組裝等項目;在商業、財會和服務行業,所有具有整體特性并有可見成果的工作也都可以作為項目,如商品展示、產品廣告設計、營銷策劃等。

2.2項目教學法的基本特征項目教學法與傳統的教學法相比,有很大的區別,主要表現在改變了傳統的3個中心:以教師為中心轉變為以學生為中心;以課本為中心轉變為以“項目”為中心;以課堂為中心轉變為以實際經驗為中心。項目教學法具有以下特點:(1)實踐性。項目“源”于企業,項目的主題與真實世界密切聯系,由淺入深,選擇的項目具有典型性、實用性。(2)自主性。提供學生根據自己的興趣選擇內容和展示形式的決策機會,讓學生能夠自主地進行學習,從而有效地促進學生創造能力的發展。(3)發展性。長期項目與階段項目相結合,構成了實現教學目標的認知過程。(4)評價特殊性。項目型教學的評價注重學生在項目活動中能力發展的過程,測評內容包括學生參與活動各環節的表現及作業質量,避免了傳統的一張試卷定成績的弊端。測評可以采用自評、小組評、教師綜合評等方法。教師只有明確并抓住項目化教學特點,才能更好地完成教學目標。

3項目教學法在“C語言課程設計”中的實施

3.1教學內容為了更好地開展課程設計教學,經過多次實踐和摸索,總結出學生在具體實施項目中一般存在2個方面的知識不足:第一,在教學內容上,由于前導課程在教學上受學時影響,很多教師對指針、結構體、共用體和文件基本操作的知識介紹不甚完善、系統,更難談上輔以實例加以消化。對此,針對學生在這些知識點上的掌握程度,利用4~6個學時,實施區別式的、輔導性的、實例化教學。第二,學生對項目管理知識知之甚少,針對此情況,采用2個階段實施有別于常規教學的補課行動。第1階段為項目準備階段,利用2~4個學時,安排曾經做過項目且做得比較好的學生,現身介紹項目的準備工作(包括如何選題、如何查找資料、如何復習C語言知識)、項目實施過程要完成的工作(包括如何做市場調查、如何做需求規格分析說明書、如何做概要設計說明書、如何做詳細設計說明書、如何選擇使用代碼編碼器代碼編寫注意事項)、項目驗收及作業提交的工作(包括程序測試事項、如何寫課程設計報告)等。在學生介紹中,教師穿插講解,輔以點評。第2階段為項目實施階段,教師應針對學生發生的問題,及時給予指導,直到學生弄懂為止。

3.2教學要求切實保證教學質量和教學效果,本著“學以致用”的原則,要求學生做到以下3點:第一要做到“學有三備”,即:在項目實施前做好知識儲備,在項目實施中做好安全防備,項目結束時做好被評準備。第二要寫好“三書一報告”。“三書”即每個項目組要做需求規格說明書、概要設計說明書、詳細設計說明書,“一報告”即人人都要做課程設計報告。第三要做“四自”參與者。“一自”即自律,要求學生自覺履行學生守則和項目實施有關規則,不遲到、不早退、不缺席,實施點名制度,若無特殊原因,有5次曠課者自愿以重修論處;“二自”即自尊,要求學生尊重知識、尊重學習規律、尊重項目組成員、尊重教師、尊重自己;“三自”即自信,要求學生相信自己能夠按時、按量、按質完成工作內容,遇到困難時,沉著、冷靜,理性地尋找問題解決的辦法;“四自”即自強,要求學生不滿足自己已有的成績和以往與課題項目組共同取得的成績,用創新和超越的思想,做出比以前哪怕是前進一小步的事情。同時也要求教師做好相應的工作,如做好項目整體規劃、精心準備、努力激發學生參與行為、為人師表、表揚為主、批評為輔、多分析、精點評等。

3.3項目實施進程項目教學法是一種生動、靈活、多樣化的教學方法。在項目實施過程中,既不能生搬硬套地利用一個時間標準,又不能影響項目實施的整體進程,因此對時間的靈活處理是非常關鍵的,也是值得商榷的。

c語言課程范文第2篇

[關鍵詞]C程序語言 分層教學 任務驅動

[中圖分類號] G423.07 [文獻標識碼] A [文章編號] 2095-3437(2013)22-0081-02

一、課程教學現狀分析

C語言程序設計是高校計算機專業的核心基礎課程,很多學校都開了C語言公選課,將其作為學生學習程序設計的一個入門。學習C語言需要掌握的抽象概念和語法規則較多,同時又需要通過實踐培養編程實用技巧。由于計算機專業必修課程(例如C++,數據結構等)都需要具備一定的C語言基礎,所以對C語言的掌握程度直接影響著后續課程的教學效果。[1,2]長期以來C語言程序設計課程的教學改革一直都在許多高校中探索和實踐,提出了項目教學法、[3]案例教學法、[4]自主學習模式[5]的教學理念。但在實際的C語言課程教學中,諸多因素導致教學效果不理想,具體有以下幾方面:

首先,學生程序設計基礎參差不齊。一部分學生以前沒有接觸過程序,有些學生對學習程序不感興趣,有些學生沿用看書加背誦學習方法,他們感到枯燥厭煩,跟不上教學進度;還有一部分學生上課時積極主動,對編程產生較大興趣,不但能夠完全掌握老師講的課程內容,而且能夠積極查閱課外程序資料,教師講授的課堂內容不能夠滿足這部分學生。傳統的教學方式造成教師在教學無法兼顧這兩類學生。學期結束后,第一類學生普遍感到程序設計課程晦澀難懂,不會應用,無從下手,因此失去了學習熱情。

其次,傳統教學模式影響教學效果。在傳統的教學中,教師往往以課程的理論知識點為主線組織教學,依照從講解概念起,接著講解語法語句,最后舉例加以細化。部分教師缺乏對該門課程的整體性把握,在教學上過多注重語法結構的知識,沒有把學生放在主體的位置上,師生間的互動很少。甚至有些教材內容的結構安排缺乏合理性,語法部分編寫過于繁瑣,學生接受的是枯燥無味的理論規則,導致學習沒有積極性,難以調動學生學習的主動性。教學觀念、教學手段和方法以及考核形式等都比較陳舊,不能適應新形勢下的教學需求,學生學習效率非常低,無法將所學知識運用到實際中。

最后,實踐環節薄弱。上機實踐是學習編程語言的重要組成部分。實際授課中,重視課堂教學而輕視上機實踐,理論課上既要講基本的語法知識又要講編程方法,占用了過多的課堂時間。實驗課上進行基本的驗證性實驗,學生機械式的運行程序,無法真正學會如何編寫和調試程序,使得理論教學和實踐教學脫節。通常情況下,C語言程序設計目前的考核方式主要以筆試為主,主要考查語法和基本的邏輯推導能力,無法進行學生動手實踐能力的考查,從而造成了大部分學生即使理論知識掌握較好,卻不會上機編程。

二、C課程教學方法改革探索

(一)采用分層教學模式

首先,對象分層。新生入學后,系部首先通過問卷的形式對新生的計算機基礎技能、學習計算機的興趣以及課內外學習方式等情況進行了調查,并進行了計算機水平摸底測試。根據學生的實際測試水平,打破以班為集體的傳統教學模式,將他們分為不同的層次分別授課。將程序設計興趣較強、數學邏輯基礎較好、有一定編程基礎并且測試成績較好的學生編入A層;將測試成績較差并且沒有編程基礎的學生編入C層;其余多數學生編入B層。教師依據各層學生進行因材施教,即針對學習者不同的學習能力、態度等個體差異施行不同的教學模式,實際上是使三層學生各有側重、共同提高的一種教學方法。

其次,教學分層。分層授課是分層教學成功實施的關鍵,學生是教學活動中學習的主體,教師需要對所教層次學生的編程水平有準確的認識,才能真正激發其學習激情,培養其學習能力,促進課堂教學質量的提高。A層學生一般理解力較強,學習具有主動性,教師可以引導他們除了掌握教材知識點外,推薦課外參考書,盡快參與軟件開發項目或興趣小組。B層的學生通常情況下能夠掌握基本的語法規則及編程方法,但是對編程缺乏總體思路,就需要教師及時將學生學過的知識加以復結,在掌握教學大綱要求的知識點外可通過綜合實訓練習進行編程水平提升。對C層就要通過精心設計教學內容、耐心的作業輔導、適時的課后交流激發他們的學習興趣和信心。分層教學從各層學生的實際出發,“因人制宜”,關注各層次學生在學習方法上的差異,給予學生不同級別的指導,刺激學生向高層次目標努力,從而大面積地提高教學質量。此外,在實施過程中也要注意保護學生的自尊心,以淡化各層間的人為界線,避免分層帶來的負效應。

最后,分層評價。分層評價是針對各類學生的學習水平,建立一套完善科學的評價體系激發學生學習興趣、優化學習方法、樹立學生的自信心,促使各成其才。對A、B、C 三層的學生不同的目標要求體現在評價體系中。對平時成績的考核對應不同層次,A層同學分組考核,分工協作完成預設項目,根據小組中的表現進行組員互評和老師評價相結合的方式。B層和C層的同學則通過上機實操進行編程水平的測試。期終試卷可在同一份試卷上進行分層,分別對應于不同層次。試卷分成基礎和提高兩部分。基礎部分主要考核學生是否達到基本教學大綱要求,這部分是三個層次學生共同的必答卷,對于三個層次的學生同分但不同值,成績作為課程的考核分。例如編程題標注10分,則如果A層學生做對考核分加10,B層和C層學生做對加15。第二部分為提高卷,也是A層學生的必答卷,B、C層學生的選答卷,成績作為課程的考核分。分層考核的目的是使各層次的學生經過努力都能獲得較高的分數,獲得成功的體驗,激發學生的求知欲。

(二)基于實踐導向的任務驅動教學

以實踐為導向在教學活動中要求,以專業能力要求為依據,將“教、學、練”一體化的教學模式融入教學課程設計中。根據行業需要的知識、技能確定課程內容的選取與安排,課程設計是采用真實項目貫穿教學全程,項目按照內容分成若干模塊,實現將化整為零進行學習。

任務驅動下分組學習討論是一種非常有效的方式。讓學生發揮主動性自由分組,依據編程能力水平給每組指派一名組長,上課時以組為單位,分析、討論項目任務,具體包括需要收集資料、項目進度以及具體的工作任務。小組長主要負責小組內任務分配、協調組內成員等工作,老師輪流在每個小組旁聽學生的討論并接受學生的咨詢。

教師所指定的任務主要包括兩類內容:一類是課本課后習題,并對完成任務所必需的知識點進行必要的說明;另一類是具有實用性的項目任務實例,讓學生更直觀地理解所學知識應該如何與實踐相聯系。第二類任務需要教師進行設計,盡可能具有綜合性、可分割性,適合小組討論解決及協作完成。

制定合理的考核標準來綜合衡量學生的學習狀況是激發學生進行協作學習的動力。當學生完成任務后,先在小組成員之間進行任務完成情況評論。最后由老師對每組學生的任務完成情況進行總結講評,對其中的不足進行點評,對比較好的做法給予鼓勵,并據此對每個學生計算平時成績,將小組整體得分與組內個人得分進行綜合。課程采用綜合測試考評方式,突破單一的閉卷考試方式,將平時作業、課堂討論成績、與期末考試相結合。

三、結束語

C語言是一門實踐性很強、熱門的高級編程語言。根據目前的教學現狀,分析和總結教與學的不足,通過分層模式教學改革和以實踐為導向的任務驅動教學探索,不斷地提高課程的教學效率,使課程更具科學性,把學生的主動性充分地調動起來,讓學生在學習中嘗到樂趣。

[ 參 考 文 獻 ]

[1] 楊理云.“C 語言程序設計”教學方法探索[J].中國成人教育,2007,(5).

[2] 丁群,文明瑤.項目教學法在C語言教學中的應用[J].電腦知識與技術: 學術交流,2012,8(3).

[3] 陳洪超.項目教學法在“C語言程序設計”課程中的應用[J].重慶電力高等專科學校學報,2012,17(3).

c語言課程范文第3篇

在這個星期里,我們專業的學生在專業老師的帶領下進行了c語言程序實踐學習。在這之前,我們已經對c語言這門課程學習了一個學期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對里面的好多東西還是很陌生,的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。

由于時間的關系,我們的這次實踐課程老師并沒有給我們詳細的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理.簡單界面程序.高級界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。

上機實驗是學習程序設計語言必不可少的實踐環節,特別是c語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。對于程序設計語言的學習目的,可以概括為學習語法規定、掌握程序設計方法、提高程序開發能力,這些都必須通過充分的實際上機操作才能完成。

學習c程序設計語言除了課堂講授以外,必須保證有不少于課堂講授學時的上機時間。因為學時所限,課程不能安排過多的統一上機實驗,所以希望學生有效地利用課程上機實驗的機會,盡快掌握用c語言開發程序的能力,為今后的繼續學習打下一個良好的基礎。為此,我們結合課堂講授的內容和進度,安排了12次上機實驗。課程上機實驗的目的,不僅僅是驗證教材和講課的內容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:

1.加深對課堂講授內容的理解

課堂上要講授許多關于c語言的語法規則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個工具解決實際問題,又必須掌握它。通過多次上機練習,對于語法知識有了感性的認識,加深對它的理解,在理解的基礎上就會自然而然地掌握c語言的語法規定。對于一些內容自己認為在課堂上聽懂了,但上機實踐中會發現原來理解的偏差,這是由于大部分學生是初次接觸程序設計,缺乏程序設計的實踐所致。

學習c語言不能停留在學習它的語法規則,而是利用學到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。

通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數同學在完成老師作業時的心態。但是在程序設計領域里這是一定要克服的傳統的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去"掩蓋"程序中的錯誤,而不是盡可能多地發現程序中存在的問題。自己編好程序上機調試運行時,可能有很多你想不到的情況發生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發能力。

2.熟悉程序開發環境、學習計算機系統的操作方法

一個c語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環境下才能進行。所謂"環境"就是所用的計算機系統硬件、軟件條件,只有學會使用這些環境,才能進行程序開發工作。通過上機實驗,熟練地掌握c語言開發環境,為以后真正編寫計算機程序解決實際問題打下基礎。同時,在今后遇到其它開發環境時就會觸類旁通,很快掌握新系統的使用。

3.學習上機調試程序

c語言課程范文第4篇

【關鍵詞】授課設計;講課比賽;C語言

0 引言

隨著我國高等教育的發展,高校中的青年教師逐漸成為了講臺的中堅力量,站穩講臺是他們的首要任務。講課比賽是學校對青年教師進行激勵和教師自我激勵[1]的常規而有效的方法,對促進本科教學設計、知識組織和課堂管理的交流起到了積極的作用[2-3]。西安科技大學兩年一度的青年教師講課比賽也成為全校非常重要的教學交流活動。C語言作為集匯編語言和高級語言的優點于一身的程序設計語言,既可用來開發底層的嵌入式、系統開發,也可用來開發上層的應用程序開發,是高等院校講授程序設計課程的首選語言。作為理工科專業的公共基礎課,其講授效果會持續影響學生后續課程的學習和編程應用。C語言是一門結構化的程序設計語言,由順序、選擇分支、循環三種基本結構組成,任意復雜的程序都可分解為三種基本結構。其中,循環結構是最復雜的一種結構,所以該部分內容的授課設計至關重要。因此,這里選擇C語言課程中的循環結構作為講課比賽的內容,精心設計了緊湊而飽滿的授課內容。

1 授課方法分析

目前,對C語言課程教學的研究越來越多,文獻[4]針對學生的計算機基礎知識不同和傳統教學模式的不足,進行了分層教學模式的探討,首先對學生水平進行摸底分層,然后有針對性的進行分層教學;文獻[5,6]認為應加強課程設置、教材體系和實踐教學建設,建立突出實踐能力、創新能力、信息能力的考核機制。對于C語言循環結構部分的教學設計,也出現了很多有意義的研究,文獻[7]針對計算機專業第一門程序語言的教學要求,采用循序漸進的方法,逐步啟發學生,通過分解程序執行過程,逐步展示運行結果,使學生更清晰的認識循環結構;文獻[8]針對C語言公共課授課對象,通過分析學生學習該部分內容的心理規律,探討了一種適合公共課的“雙主體教學模式”,較好地解決了程序設計本身抽象、枯燥、難懂等問題。

通過以上分析,本門課程的授課對象是非計算機專業的學生,作為他們學習的第一門計算機語言,要采用公共課的授課方法。循環結構部分的內容語法講解太過抽象與枯燥,容易使學生產生抵觸與畏懼的心里。因此,在授課過程中會采用理論與時間相結合的引導、啟發式教學方法,以原理為主線、案例為引導,重點突出、難點分散。結合傳統板書和多媒體教學的雙重優勢,語法講解板書圖文并茂,并結合程序案例進行多媒體演示,以加深學生對語法的理解和應用,提高他們的學習興趣。針對講課比賽時間有限的特點,講解內容力求難度適中且信息量飽滿。

2 循環結構授課設計

2.1 板書設計

板書不求面面俱到,要重點突出。具體板書設計如圖1所示,板書文字只有授課的框架標題和關鍵字,中間四分之三的版面是三種循環結構的介紹,語法格式結合流程圖和案例程序,這樣可以對教學重點進行對比展示,達到直觀的教學效果。

2.2 授課進程

授課進程主要分為四個遞進步驟:

(1)首先,復習C語言三種基本程序結構中的順序和選擇分支結構的特點,由連續自然數求和、迭代求根等問題,引出反復執行同一段程序特點的循環結構;

(2)然后,結合程序流程圖,對while/do-while兩種當型循環結構語法和執行流程進行板書講解,并結合同樣一個程序案例對比二者應用語法的不同,然后進行上機VC程序演示;

(3)通過分析兩種當型結構中循環控制變量i的作用,結合程序流程圖,對for型循環結構語法和執行流程進行板書講解,并結合同樣一個程序案例對比應用,然后進行上機VC程序演示;

(4)最后,對三種循環結構進行總結比較,分析各自適用的情形,布置課后上機練習作業。

4 結語

本文以講課比賽為目的,結合非計算機專業學生(下轉第56頁)(上接第41頁)的特點,對C語言課程中循環結構內容的教學進行具體設計,包括授課方法分析、板書和授課進程設計,對該課程教學具有一定的指導意義。通過使用該授課設計參加西安科技大學青年教師講課比賽,得到了評委教師的認可,取得了優異的成績。

【參考文獻】

[1]嚴芳,余仰濤.高校青年教師講課比賽中的主要問題及對策研究[J].學校黨建與思想教育,2013,444:76-79.

[2]熊志勇.講課比賽對提升青年教師教學能力的作用[J].重慶科技學院學報:社會科學版,2011,3:170-172.

[3]范建玲.講課比賽評價指標體系的研制與實施[J].廣西教育,2014,1:21-28.

[4]景泉.C語言程序設計課程改革分析與探索[J].價值工程,2014,15:282-283.

[5]楊健,徐東,劉海見,祁薇.C語言課程教學改革[J].科教文匯,2014,6(上):79-83.

[6]劉淑英,張順利.C語言課程的教學改革與實踐[J].吉林教育,2014,11:3-3.

[7]孫華,于炯,田生偉,錢育蓉.《C語言程序設計》中循環結構的教學方法探討[J]. 科技教育創新,2012,8:238-238.

[8]徐東,祁薇,劉海見.《C語言循環結構》課程教學設計研究[J].軟件導刊,2014, 13(6):154-156.

c語言課程范文第5篇

隨著信息技術日新月異的發展,社會需求越來越多的CS專業畢業的學生。Internet已經滲透到人們日常的工作、學習和生活當中,一年級CS專業的學生與上世紀90年代相比也發生了很大的變化。在我們學校,2001年到2003年計算機科學與技術專業的學生入學平均成績在全校幾十個專業位居第一;然而,10年之后的2011年,已經降至第28名。PC機和Internet的普及和十年前相比不可同日而語。這些新的變化迫使任課老師必須采用新的方法以應對入門程序語言課程教學的新需求變化。

本文其它部分組織如下:在第二節分析了教學過程中存在的問題之后,將在第三節提出一些方法來解決這些新出現的問題,最后第四節進行小結。

一問題分析

在過去幾年的教學中,我們發現,把這門課程安排在一個學期內完成學習,很多學生感覺吃力,在后續課程學習過程中會表現出遇到實際問題編程能力較弱。甚至有少數一些學生不知該如何下手寫一個新的程序。本節我們從教和學兩個方面挖掘分析其中存在的問題。

1對計算機科學缺乏興趣

C語言安排在一年級,很多學生在入學前對這個專業認識很膚淺。可以說入學前,幾乎所有學生對今后的計算機職業生涯規劃都一無所知。換言之,只有相當少數的學生對CS專業有他們自己的愛好興趣,曾經學習過編程,他們對專業或程序的興趣可使得以后的學習是自我驅動式的。然而,總有一些學生在C語言課程的初始階段是毫無興趣可言。據我們經驗來看,很大程度上,課程結束時考試成績差進一步導致他們對后續專業課程學習缺乏信心。興趣才是最好的老師。任課老師應該從課程一開始就激發學生的興趣,才能在后續教學過程中使學生的潛能得以發揮。

2缺乏編程的調試能力

編程新手經常苦于如何像擠牙膏似的寫程序開始的代碼段,而且,在好不容易寫出程序后,不知道如何找出隱藏在其中的錯誤和漏洞,不知道如何分析程序找出錯誤。特別是對于成績較差的學生,即使寫很簡單的程序,他們也看不出程序到底是錯在哪里或者為什么得出不正確的結果,不知從哪里開始排查和定位錯誤。這樣的情況在我們每一屆每個班的教學中都會遇到。實際上,即使是熟練的程序員,調試程序的能力都是必不可少的,特別是在開發復雜軟件程序的時候。

3優秀生和差生之間的差距問題

在我們計算機學院,招生人數從2001年的359人翻一番到2011年的790人。學生來源于從大城市到農村等不同地區。在第一次課時,我們都會做過簡單調查,發現只有少數一些學生在高中學習過程序設計,一般學習BASIC或PASCAL語言,有的學生曾經參加過國家奧林匹克信息學競賽(NOI)等相關課外活動;大多數學生并沒有學習過程序設計。在一年級第二學期,將會有優秀的學生能在ACM廣東省賽區比賽中獲得獎勵。再看成績較差的學生,在第一次上機課時,他們連鍵盤的布局都不知道,不知如何開機關機和基本的操作,因為以前從未使用過PC機。這樣,優秀生和較差生的差距比十年前擴大了。如果我們教學過程較多顧及后者,前者將不能充分利用好課堂時間發揮他們的潛力。這就會任課老師帶來新的挑戰。

二改革教學方法

1在課堂教學中提高學生對計算機科學的興趣

通過和本課程相關的故事,讓學生了解計算機科學技術發展史的同時,激發他們對計算機技術的熱愛和對科學執著追求及探索精神,逐漸培養興趣。例如,在第一課時,在講C語言歷史時將介紹C語言之父丹尼斯?里奇(Dennis Ritchie)的故事,他雖然不是像比爾?蓋茨那樣為大眾所知,但他和肯?湯普遜(Ken Thompson)對C語言和UNIX操作系統做出了杰出貢獻。在C語言和這兩位著名計算機科學家互相交織的歷史故事當中,學生將體會到什么是科學精神,什么是對計算機科學的貢獻和創新。當然,在課程的后續教學過程中仍然會花幾分鐘加入一些相關故事活躍課堂氣氛。學生樂于在課堂中聽到這些一般不為人知的故事,潛移默化地增加了興趣。

另外一個途徑是介紹和C語言關聯密切的應用實例。雖然C語言被用于開發操作系統和嵌入式系統,但是,這些應用不易于新手所理解。所以,在講到相關知識時,我們選擇一些簡短的應用程序演示其運行甚至瀏覽一下源代碼,有些有趣的應用就作為實驗課的任務,讓學生完成編程。曾做過2個班級對同一個實驗內容的比較,一個班級要求編程完成的是與實際應用需求相關的任務,另外一個班級要求完成的是等價的數學問題,實踐表明:前者能激發學生解決問題的求知欲望,提高學習興趣,并且更多的學生進行熱烈的討論和進一步思考,效果較好。

2運用可視化工具促進學生對程序的理解

可視化工具是促進學生直觀理解程序運行過程一個重要的有效的方法。我們采用了吳偉民教授開發的名為Anyview的一套軟件[2],從2009級的部分班級開始試用,2010級所有學生使用。從2010年開始正式建設題庫,到目前為止已經達300題(共9章教學內容的習題)。它由web服務器端和客戶端兩部分組成。服務器端存儲了實驗任務的題目數據庫和學生寫的源程序文件,包括正確完成的程序以及未完成或有錯誤的源程序。客戶端安裝能夠通過校園網或Internet連接服務器的 PC機上,學生用來編寫程序。

使用Anyview與原來教學相比有較好效果。Anyview打破了課堂實驗教學的時間限制,學生在宿舍或者其它地方能連接通過Internet的PC機上用它編程。Anyview有助于初學者理解、調試程序。可以為不同的教學層次的學生設立不同作業表,使學生編寫程序的題目不同。例如,曾經根據重修班級學生的學習情況,專門設置1個題庫,讓學生重點練習薄弱環節。布置的上機題目分必做和選做,因材施教,使不同層次學生都能得到提高。

課堂教學用Anyview演示程序的運行。程序能在其中編輯、運行和調試。可以使程序一步一步的運行過程或設置斷點,學生就能觀察運行過程中所有變量值的變化情況。對一年級的新手來說,它操作很簡單,結果直觀可見,有助于學生理解for語句、while語句等控制流程語句的執行過程。在實驗課上,我們鼓勵學生使用多種IDE開發工具(Integrated Development Environment)配合Anyview一起學習。

從老師的角度來說,我們能夠通過教師端程序詳細地實時地了解每個學生編寫程序的進度。有助于老師督促較差學生,可以通過教師端軟件看到哪些學生完成情況差,實時掌握學生學習情況;反饋到課堂教學有的放矢。并且可以知道優秀學生學習水平如何,有哪些學生的自學能力較強,有的學生可以在開課2個月內完成整個課程的題目,在2009級之前通過作業或提問往往不能發現所有優秀生。隨著題庫建設完善,我們將進一步用Anyview進行實驗課限時測驗,讓不同班級的任課老師自主設置每個班級的題庫作業表。

3從一開始就強調學習調試

調試是用于發現或減少程序中錯誤缺陷的分析過程。在課程教學中使用了3種工具。下表對它們的優缺點做了比較小結。

新手容易掌握Anyview的使用,而且他們可能對操作Windows上的軟件工具不熟悉,所以在課程開始的前幾周,我們教學生使用Anyview。新手往往很難學會TC的環境配置,我們在教學實踐中發現較差的學生在課程接近結束時都對配置感到迷惑。VC還是受到編程相對熟練的學生的歡迎,他們可以用VC寫一些自己感興趣的稍大的程序,甚至完成包括窗口圖形界面程序的編寫。

在第1次實驗課上,我們就告訴學生如何用工具查看變量的值。在后面的教學中,要求學生掌握如下調試技術,告訴他們什么時候選擇其中之一來進行調試[3]。經驗表明,學生越早學習使用調試技術,將能更好地提高調試程序的能力。

(1)單步執行。每步執行一條語句,選擇一些變量加入觀察窗口。(2)跳越函數執行。這將在講函數這一章時講。學生可觀察一些變量的值在執行完函數后的變化。(3)在指定語句處設置斷點。(4)在程序中的某些語句后加入打印語句,以便在程序運行后觀察某些變量在運行過程的中間結果。方法3和方法4將在講完循環控制語句后學習。

4改為2個學期學習該課,改革課程考核方式

為了切實提高大多數學生的基本編程能力,充分發揮優秀生的潛力[4,5],我們進行了兩項改革。在2009級之前,本課程在一年級的第1或第2學期開課,在一個學期內完成教學,理論課堂教學與實驗課教學分別占56和16課時;學生普遍感覺時間很緊,沒有足夠的時間在機器上編寫代碼實踐。而在2010級開始,我們改革教學安排,分成2個學期完成該課教學,第1學期理論與實驗分別占32和24課時,第2學期分別占24和16課時。這樣的調整安排使學生有更多的實驗課時間花在編寫代碼實踐上面,以用促學。

另外,從2011級開始我們在第2個學期根據學生在第1個學期的學習綜合評價進一步把學生分成2個教學班組,大概25%較優秀的學生安排在A組班級,其余安排在B組班級。在第2學期A組學生要求完成1個較大的程序設計任務,或稱為課程設計任務,包括編寫代碼和編寫相應的文檔。對B組學生重點強調基本編程方法的教學。當然在Anyview系統中我們布置給他們的編程任務也有所區別。實踐表明,由于這種因材施教,A組學生的能力提高更快能夠挑戰難度更大的任務,而又使相對較差的B組學生獲得了更多基本的編程訓練并為以后學習建立了更強的自信心。

老師能用Anyview查詢查看到每個學生寫的每個程序并評分。當然給程序評分并不是一件容易完成的工作[6],需要有更好的算法。下圖是2012年秋季的一個班級共46人的Anyview綜合評定成績排名與期末考試筆試成績排名的差值,其中x軸表示學生序號1~46,y軸表示這2個排名的差值。數據為(Anyview排名,期末考試排名):(46,46),(13,6),(6,4),(23,22),(19,23),(10,27),(13,2),(11,28),(31,32),(29,40),(41,20),(4,7),(36,37),(33,39), (32,18), (1,9), (2,11), (45,31), (8,26), (23,33), (35,38), (9,1),(13,24), (5,12), (18,35), (42,25), (20,15), (28,43), (22,16), (43,36),(20,30),(23,10),(17,3),(12,34),(27,41),(34,19),(44,42),(7,14),(29,13),(3,5),(16,8),(38,17),(26,44),(39,45),(37,21),(40,29)。這說明,很多學生平時實際編程能力與筆試表現有出入,所以最后課程的成績評定中期末考試占一定的比例,還必須考慮平時實際編程能力表現。

總之,C語言是一門在本科一年級開設的基礎課程。我們進行的教學改革實踐表明培養學生對本專業課程的興趣是很重要的,本文分析了如何解決學生調試能力差的問題,介紹了用一個可視化工具作為調試器和新生有效學習助手的經驗。如何對不同學生進行個性化教學是一個挑戰性任務,我們改革了教學學時安排和進行了分組教學,使得優秀生和較差生都能得到盡可能大的進步。

參考文獻

[1]吳偉民.試論軟件基礎課程程序設計環境的可視化[J].廣東工業大學學報:社會科學版, 2007(B06): 156-157.

[2]Pengfei Yu, Lijun Yang, Programming Skills Training in Programming Language Courses[C].2010 International Conference on Educational and Information Technology, V3: 14-16.

[3]Andreas Zendler, Christian Spannagel, and Dieter Klaudt. Marrying Content and Process in Computer Science Education[J].IEEE Transactions on Education, 2011(8): 387-397.

[4]Raymond Lister and John Leaney, First Year Program ming: Let All the Flowers Bloom[C]. 2003 Proceedings of the fifth Australasian conference on computing education, Volume 20: 221-230.

相關期刊更多

忻州師范學院學報

省級期刊 審核時間1個月內

忻州師范學院

徐州師范大學學報

省級期刊 審核時間1個月內

江蘇省教育廳

贛南師范學院學報

省級期刊 審核時間1個月內

贛南師范大學

主站蜘蛛池模板: 华容县| 汕头市| 贵溪市| 宝山区| 新干县| 公安县| 洛宁县| 唐河县| 康定县| 康乐县| 高台县| 南郑县| 通州市| 榆树市| 旌德县| 图们市| 东辽县| 灵石县| 西贡区| 荔波县| 昌宁县| 佛山市| 承德县| 宜川县| 县级市| 大田县| 鸡泽县| 兴仁县| 万年县| 定州市| 始兴县| 股票| 剑阁县| 济南市| 蒲城县| 宜昌市| 永宁县| 孝感市| 定州市| 来安县| 延川县|