?

C語言程序設計中f o r語句的教學流程設計
——以西藏大學為例

2017-01-11 02:30曾曉莉王龍業李勇峰
西藏大學學報(自然科學版) 2016年2期
關鍵詞:西藏大學C語言程序設計

曾曉莉 王龍業 李勇峰

(①西藏大學藏文信息技術研究中心 ②③西藏大學工學院 西藏拉薩 850000)

C語言程序設計中f o r語句的教學流程設計
——以西藏大學為例

曾曉莉①王龍業②李勇峰③

(①西藏大學藏文信息技術研究中心 ②③西藏大學工學院 西藏拉薩 850000)

文章以C語言程序中的循環控制結構語句的教學流程為例,根據布盧姆的認知教育目標的層次定義,在學生基礎較差的前提下,提出了C語言中for循環結構的分層認知教學目標。教學設計過程中以動機激勵模型為理念,根據加涅的教學設計原理設計了for循環語句的課堂教學流程。

C語言;for循環結構;教學流程;布盧姆

C語言是程序設計語言中的常青樹。它兼具高級語言和低級語言的特點,既可以編寫系統應用程序,也可以編寫不依賴計算機硬件的應用程序,它比高級語言耗費的代價小,又比低級語言容易理解。幾乎任何一種機型和操作系統都支持C語言開發。同時,國內外的理工科學科中也都普遍開設了C語言程序設計課程,它既是后續專業課程學習基礎,亦是培養學生掌握數據處理分析和算法設計的工具。

作為結構化程序設計語言,C語言遵循E.W.Dijikstra提出的使用順序、選擇、循環三種基本控制結構構造程序[1]。循環控制結構是整個C語言程序設計的核心,它和順序、選擇結構一起互相嵌套能實現更復雜的程序功能,且也和后續數組、遞歸等知識點相輔相成。從一定意義上講,循環控制結構掌握與否,將直接影響學生對整個程序設計語言的把握。本文結合西藏大學的教學現狀,論述了C語言程序設計中for語句的教學流程設計方法。

1 教學現狀分析

1.1 學習內容分析

循環控制結構作為程序設計三大控制結構之一,在C語言程序設計中起到了承前啟后的作用。一方面能和順序與選擇結構一起構造出更復雜的程序流程,完成更為強大的計算處理工作;另一方面又是后續課程的基礎,沒有循環就無從談遞歸,沒有循環數組的實現也是空談。

在C語言程序設計中,允許使用for語句、while語句和do-while語句等三種循環表現形式。另外還涉及到循環與選擇的嵌套、循環與循環的嵌套、break與continue的使用等[2],語法知識龐多而且復雜。在龐雜的知識系統里,需要對知識點進行梳理,找出其內在的聯系。for語句能夠很容易變形為while語句,while語句也能容易變為do-while語句,學生如果深刻理解了for語句,那么其它兩種語句就不會成為難點[3]。因此,筆者認為在教學安排中,for語句是第一個教學重點;而第二個教學重點是循環與選擇的嵌套,循環與循環的嵌套;第三個重點是break與continue在for循環中的特殊作用。在掌握了for語句的使用以后,很容易通過for語句的變形掌握while語句和do-while語句。

世界中太多的重復,但并不是簡單的復制,而是“九層之臺起于累土”的漸變,這正是我們課程中的循環之道。循環控制結構的難點就體現在怎樣運用相應的知識去解決現實生活中的問題,如求解斐波那契數列,棋盤上的麥粒等古老數學問題,也包含統計計劃生育政策下男孩女孩的比率等實際應用問題。

1.2 學習者特征分析

西藏大學是西藏自治區地方高校,按照漢藏生源1:1.5的比例招生,形成混合生源班級。由于學生基礎差距太大,所以在西藏大學的各類教學實施中,通常采用分級教學模式或者統一降低教學難度的方式。分級教學模式主要應用在受眾群體比較廣泛的公共課教學中,按照學生高考成績的不同,重新對學生組班教學,各班級采用不同的教學大綱;而在專業課教學中,很多老師依照“照顧大多數學生”的原則,統一降低教學難度,導致基礎好的學生“吃不飽”,基礎差的學生“撐不下”。在這兩種模式中,其共同點是對基礎差的學生采用了降低教學難度,減少教學內容的策略。

西藏大學選擇在學生修完計算機文化基礎課程之后,于大學一年級的下學期開設C語言程序設計課程。C語言程序設計作為工具類課程,有其完整的知識體系,某些知識的缺失,必然會導致學生后續課程學習的困難。例如,如果沒有鏈表的相關知識,學生在數據結構的學習中就會面臨巨大的困難。筆者認為上述兩種方式都不適合C語言程序設計教學。筆者在教學的過程中意識到,C語言程序設計課程不同于英語、數學等,需要扎實的基礎知識功底,對大部分學生而言,都是初次接觸程序設計語言,大家的起跑線是一樣的。另外基礎差也并不等于“腦子笨”,只是生活中使用藏語言交流的學生在面對普通話授課的課程中,需要先經歷語言翻譯一關而導致理解能力較差。故在教學過程中,由淺入深,貼近生活的教學設計將有助于學生對知識的理解和掌握[4]。

2 教學目標分析

1956年,美國著名的教育心理學家布盧姆立足于教育目標的完整性,制定了教育目標分類系統[5]。梅耶、安德森、拉斯沃爾等專家于2001年完成了對布盧姆教育目標分類理論的修訂,將認知過程維度教育目標分為六個層次:記憶→理解→應用→分析→評價→創造。這六個環節環環相扣,從低到高,前為基礎,后為深化。原本的知識被變更為知識維度,將知識從本質上分為事實性知識、概念性知識、程序性知識和元認知知識等內容[6]。

以案例教學為根本,實際應用為目標,結合布盧姆認知教育目標的劃分及C語言教學強調實操的特點,通過對教學內容的分析和對學生的學習能力進行評價,筆者將循環控制結構從知識維度進行了梳理[7-10]。在表1中,筆者設計了層次教學目標,且以“掌握知識”“內化知識”和“獲得知識的內核和精華”的層層推進方式對教學內容進行分解。擬實現能使所有學生真正明白和掌握所學知識,使大多數學生能內化知識、學以致用、能解決實際問題,部分學有余力的學生能掌握知識的精髓、實施更高級的知識評價的教學目標。

表1 for循環結構分層認知教學目標

通過以上的教學目標分析,我們把課程教學內容按照循序漸進的方式進行了整理和細化,在教學環節中能夠實施階段遞進式教學,讓學生在每個階段有明確的學習目標。

3 教學設計

西藏大學C語言教學面臨著學生基礎差、學習的自主能動性不強、C語言專業性強、教學學時緊張等客觀條件。在課堂教學的活動中,面臨的第一個問題就是,怎樣引導學生的學習興趣,提高教學效果,我們引入了動機激勵模型。

3.1 動機激勵模型

美國佛羅里達大學的約翰·凱勒教授提出的動機激勵(ARCS)模型得到了眾多從事教學設計和實施實踐教學的教育者的關注。他分析了很多有關學生激勵的材料,最后總結出來四個基本要素,即注意、相關性、信心和滿足感[11-13]。在課堂教學中,可結合這四個方面來引導學生的學習興趣,如在課程導入環節,與簡單的生活實例相結合,吸引學生的“注意”;在for循環的案例設計中體現出與實際應用的“相關性”和與以前學過的程序設計流程等知識點的“相關性”;對于“信心”的激勵,可結合課堂學生反映,做出合適的激勵原則,給學生設定“經過努力,就能做到”的目標和期望,這其中,目標過高或者過低都只會產生負面影響;最后,要實施公正、正面的評價機制,促進學生“滿足感”的產生。

3.2 課堂教學流程設計

課堂教學流程設計的好壞直接決定了學生的課堂學習效果,在課堂教學中,需要注重引導學生的學習興趣,加強教學互動,以培養學生的應用實踐能力為基本準則,采用形式多樣的教學方法。

3.2.1 課程導入

根據ARCS模型,在課程導入環節,需要積極引導學生的注意力,分析循環和生活的相關性,引導學生給出循環的應用場景。吸引學生的注意力有很多方式,包括激發學生的求知欲,引起學生的好奇心或者推翻學生原有的認知等。由于學生基礎較差,加上語言翻譯上的障礙,筆者嘗試從生活實例中去吸引學生的注意力,用特別簡單的案例來引導學生分析解決問題,獲得“C語言循環處理功能很強大”的認知。從而將課程導入以課堂討論方式層層推進[14-17]。

第一,老師拋出問題“怎樣讓計算機輸出跳100次”開始,讓學生討論當前所學知識是否能解決這個問題。如果能,解決方案是否合理?如果不能,那我們生活中是怎樣“跳100次的”?

在開放式的提問下,課堂氛圍會變得非?;钴S,給學生1-2分鐘的討論時間后,進行提問引導,在常規的思維下,學生會按照printf(“跳1次”),printf(“跳2次”),……,printf(“跳100次”)這樣連續執行printf()函數100次進行輸出。當然方式累贅,不合理。

第二,接著就回憶我們自己在實施“跳100次”時,動作是不變的,只需要從1到100每次遞增1計數就可以了,而在常規處理方式下,輸出語句的主體也是不變的,改變的只是用數字1到100表達的次數。老師在這時可以拋出循環的概念就是“重復執行某件事”,并讓學生分析要完成一個循環,需要知道哪些要素?

通過課堂討論以及教師引導,學生能夠得出答案:需要重復的事件,循環開始計數,循環結束計數,從開始到結束的改變方式。

第三,經過第二步的分析,學生已經從實例分析中掌握了循環的四個組成部分,如表2為老師用術語總結。

表2 循環基本組成要素

經過以上三步,完成了循環的導入,學生理解了循環的概念,掌握了實施循環需要的組成要素。

3.2.2 課程學習

課堂教學是實施整個課程教學的重點,我們按照布盧姆分層教學目標進行了課堂教學組織。教學過程包含教學內容的組織、教學案例的選擇以及教學方法的使用。教學內容要由易到難呈現,并且要注意教學內容的銜接以及綜合應用;教學案例要精簡且貼合實際應用,要具有代表性,包含課程講授知識點,能層層推進;教學方法要靈活多樣,加強教學互動,吸引學生的注意力,提高學生學習的興趣[18-22]。如表3所示,根據布盧姆教學目標,進一步細化了課堂活動環節,綜合運用不同教學組織形式,按照知識層層推進的模式,加強教學互動,完成課堂教學環節。

表3 課堂教學設計

課堂教學目的是實現對學生分析問題、解決問題能力的培養。在C語言教學中要把教學重點放在教會學生對現實問題進行邏輯抽象,掌握分析問題以及解決問題的思路,而不僅僅是以“語言為主”的教學方式。教是為學服務,我們要了解學生的心理,針對學生學習興趣點來設定教學活動,每個教學環節都能起到幫助或支持學生對知識的獲取和加固的作用,從而使學生得到進步。根據加涅的教學設計原理[23],結合布盧姆的認知教學目標層次,我們對課堂教學環節進行了劃分,在教學組織形式中,按照ARCS模型的要求,采用多種教學組織方式引導學生學習興趣,激勵學生學習動力。

在以上的教學環節中,以層層推進的方式,完成for循環語句的所有知識點的教學,在整體的教學流程中,我們不拘泥于語法知識的介紹,強調了語法知識的應用。在精選的案例教學中,學生能從實際的應用角度出發,利用C語言程序設計的知識來解決實際的問題,這也是我們進行C語言教學根本的目標所在。

3.2.3 課后作業

在前面的教學環節中,成功實施了for循環程序設計的導入,完成了for語句、for循環和選擇結構的嵌套,for循環自身嵌套以及偽隨機數的產生和應用等知識點的學習。在教學過程中,采用了案例分析的層層推進方式,著重培養學生應用相關知識點解決實際問題的能力,學生“學中做”,邊學邊做,編程能力得到了鍛煉。接下來的課后的訓練中,還要加強學生的實訓,在課堂訓練的基礎上,推進深化實踐項目,完成“假如2000萬對夫婦中有300萬對夫婦所在地區實行‘一孩半’(第一胎是女兒,還能生第二胎)政策,繼續分析其對男女比例的影響,并讓學生自行討論其他的一些生育政策與現狀,并用程序進行模擬”。讓學生自主程序設計中,互相協作,深入討論,形成實踐報告。在報告中著重闡述設計流程,并分析實踐的難點和重點,作為課程學習最重要的反饋,以供教師分析。

實踐證明,這樣的教學活動流程滿足了學生的學習心理,對知識點的提取、分類、總結恰當,兼顧到學生的學習基礎不好的問題,由淺入深,較好地實現了既定的教學目標。在組織實施中,引入ARCS模型,很好地調動學生的學習主動性,教學氣氛活躍,教學相長,較好地完成了課堂教學。

4 結語

教學設計是一項沒有通用標準的工作,教師要結合學生現狀考慮學習者特征,并結合社會發展來分析教學內容,學習各類先進的教學方法和教學理念,充實自己,完善教學過程。循環結構作為C程序設計的重點和難點,起著承前啟后的作用,語法實現多樣,還涉及到與其他程序設計流程的嵌套。但是只要向學生講清楚for語句的內涵,學生就能較好地掌握while和do…while結構以及后續數組等課程的學習都打下了良好的基礎。

[1][2]譚浩強.C語言程序設計(第4版)[M].北京:清華大學出版社,2012.

[3]馬憲敏,于延.C語言中循環結構的教學設計探討[J].計算機教育,2011(5):87-90.

[4][18]張莉,金瑩.如何讓程序設計課程既有用又有趣[J].計算機教育,2015(19):45-49.

[5]Bloom BS,EngelhartM D,Furst E J.Taxonomy ofeducationalobjectives:The classification ofeducationalgoals,handbook I:Cognitive domain[M].New York:NY:Longman,1956:1-5.

[6]KrathwohlDR.ARevision of Bloom's Taxonomy:An overview[J].Theory Into Practice,2002,41(4):212-218.

[7][14][19]孫華,于炯,田生偉,等.《C語言程序設計》中循環結構的教學方法探討[J].中國科技信息,2012,08:238.

[8][15][20]吳育含.VB程序設計中“循環結構”的教學方法改進[J].福建電腦,2015,07:156-157.

[9][16][21]盛小春.VB程序設計中循環結構教學方法的探討與實踐[J].江蘇技術師范學院學報,2011,08:86-89,96.

[10][17][22]趙美虹,任建平.程序設計基礎課程中循環結構的教學方法[J].中國管理信息化,2016,03:253-254.

[11]John M Keller.The systematic processofmotivationaldesign[J].Performance&Instruction,1987,26(9):1-8.

[12]John M Keller.Developmentand Use of the ARCSModel of Instructional Design[J].Journalof Instructional Development,1987, 10(3):2-10.

[13][23]加涅RM,布里格斯L J,韋杰WW,等.教學設計原理[M].皮連生,龐維國,等,譯.上海:華東師范大學出版社,1999.

Teaching processdesign of“For Circulation Structure”in CLanguage Programming design

Zeng Xiao-li①Wang Long-ye②LiYong-feng③

(①Tibetan Information Technology Research Center,TibetUniversity,Lhasa 850000,Tibet;
②③Schoolof Engineeringand Technology,TibetUniversity,Lhasa 850000,Tibet)

According to the hierarchy definition of Bloom's cognitive education goals and the teaching process of circular-control structural statement in C Language as an example,the hierarchical cognitive teaching goal of“For circulation structure”in C Language was proposed based on studentswith poor basic knowledge and low learning interest.The teaching process of“For circulation structure”was designed based on Gagne's instructionalprinciplewith the idea of themotivating encouragementmodel.

C language;For circulation structure;teaching process;Bloom

10.16249/j.cnki.54-1034/c.2016.02.016

TP311.11

A

1005-5738(2016)02-096-006

[責任編輯:張建偉]

2016-04-13

2015年度西藏自治區高等教育教學改革研究項目“任務驅動教學模式在西藏信息類課程中的應用研究”(項目號:JG2015-03);2015年西藏大學人才培養模式改革項目“我校大學生開放實驗室管理研究與實踐”(項目號:藏大字[2015]61號);2015年度西藏大學教學改革創新資助項目“基于微課的翻轉課堂的研究”(項目號:藏大字[2015]32號)階段性成果。

曾曉莉,女,漢族,四川南充人,西藏大學藏文信息技術研究中心副教授,主要研究方向為計算機應用和教育技術。

猜你喜歡
西藏大學C語言程序設計
西藏大學2021 年度社會科學類項目一覽表
基于Visual Studio Code的C語言程序設計實踐教學探索
習近平給在首鋼醫院實習的西藏大學醫學院學生的回信
51單片機C語言入門方法
從細節入手,談PLC程序設計技巧
基于C語言的計算機軟件編程
談西藏高校合唱發展狀況——以西藏大學藝術學院為例
高職高專院校C語言程序設計教學改革探索
《西藏大學學報》(自然科學版)2015年總目錄
PLC梯形圖程序設計技巧及應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合