中國期刊庫

教育   經濟   科技   財會   管理   
醫學   法學   文史   工業   建筑   
農學   水利   計算機   更多>>
 首 頁   論文大全   論文精品   學術答疑   論文檢測   出書咨詢   服務流程   誠信通道   關于我們 

以學生為本的課堂教學內容設計實踐探索

人氣指數: 發布時間:2018-01-30 10:21  來源:http://www.ppgxke.icu  作者:葛艷
分享到:

 

  摘要:在有眾多教學資源選擇的前提下,傳統課堂教學面臨著嚴峻的考驗。如何針對學生特點、學生普遍的接受能力,設計學生樂意聽、也聽得懂的課程內容,如何有效引導學生,創造有吸引力的課堂教學效果?內容重于形式,有機地組織教學內容仍是重中之重。以系統學為指導,貫徹以學生為本的教學理念在組織和設計高效的課堂教學通過《程序設計基礎》課程教學實踐驗證,是一種可行的方案。
 
  關鍵詞:以學生為本;教學設計;程序設計;系統工程
 
  程序設計基礎作為大學生接觸程序設計類的第一門課程,在開啟學生智慧和控制計算機解決實際問題方面具有啟蒙作用,因此用學生聽得懂的語言,循序漸進地向學生傳授程序設計的基礎知識,根據學生已有的認知能力和知識體系將學生平穩地從原來實驗思維、邏輯思維過渡到計算思維,做好程序設計基礎的開篇教學設計尤為重要。
 
  一、現狀分析
 
  通過問卷調查了解,就我校而言,大一新生對計算機的認識基本處于簡單文件編輯和上網操作,極個別同學接觸過一點VB編程,大部分學生對于學習編程還存在一些畏難情緒。而從已修這門課的同學了解到,初期新概念太多,內容雜,剛到復雜一些的內容一個學期結束了,沒學到多少。因此,把握教學目標,了解學生現有的知識結構和認知水平、認真梳理知識脈絡,在問題和解決方案之間,在學生的現有知識水平和待學的新知識之間搭起一層層階梯,是設計有效課堂教學內容,逐步提升學生程序設計能力的有效途徑。
 
  二、以學生為本的程序設計基礎課程教學設計思路
 
  針對以上分析的現狀,程序設計基礎課程在承擔語言、思維邏輯教學的同時,還要兼顧學生自信心的樹立和思維的轉換。為了完成以上培養目標,在教學設計上探討以學生為本,遵循知識的層次性特點,尊重認知由表及里的過程,按此思路來設計教學。
 
  程序設計基礎的基本載體是一種編程語言。作為一種可用的編程語言,它本身就是一個獨立的系統,而系統都是具有層次性的。于是,用認識系統的方法來學習一種語言,按照系統構成要素的層次性來遞進地、有規律地學習一種語言以及語言傳遞出來的計算思維方法,并將程序設計語言中繁多紛雜的概念按照層次性特點分層梳理。
 
  由表及里的“表”可以理解為外在形式或者系統對外表現出來的功能,“里”則是事物內部的組成和關系。由表及里的認識過程就是先知道事物的功能是什么,可以用來干什么,怎么用,然后再知道它是什么,它的構成,更深一步可以理解它的結構是如何支持對應功能的。
 
  以學生為本,就是在分析學生特點的前提下,按照知識的層級性,遵循認知的基本規律,設計學生聽得懂、學了會用的課程。
 
  按照問題→知識→實踐→思維,再循環為更復雜的問題→新的知識→再次實踐→新的思維螺旋式上升的過程來設計和組織教學,同時結合學生的特點,分清螺旋上升鏈的課內精講、學生自建,MOOC資源借用,鏈條的起點和終點等,可以有序并高效組織每一堂課。
 
  三、實施案例
 
  在上述教學設計思想指導下,程序設計基礎課程的具體教學實施辦法示例如下:
 
  1.“hello,world”問題的設計
 
  在教學設計中一些重要概念的闡述在用詞上注意保持一致性,新的術語或者概念也嚴格遵循先定義,界定其語義范圍,再使用的原則。在學習之初,從一個經典又易上手的“hello,world”程序開始。
 
  在這個實例中,區分程序和程序設計兩個概念。引入程序框架、主程序、頭文件的概念。在主程序中再引出函數、語句等概念。新概念的引入可以通過類比的方法降低新概念接受的難度。比如,將程序框架比作畫板、主程序框架比作畫紙,頭文件比作工具箱,而函數比作畫筆。引導學生在很多概念的學習上學會像用遙控器一樣的方法來學習,即只要了解用法和功效即可,無需非要把它拆解。
 
  接下來,可選擇地向程序設計、程序設計語言、程序的開發環境以及程序的執行環境幾個維度分別去拓展。拓展的原則仍是以“用”為標準,拓展的內容盡可能是能解決當前知識領域的基本問題的一個最小集,更豐富的知識留在對應課程中做深入講解。拓展中有意識的引導或點撥:一是傳遞程序設計與程序設計語言、開發環境、執行環境具有相對獨立性,在學習過程中要善于區分抽象和具體,普遍規律和具體應用,提高學生更替到新的程序設計語言或開發環境工作的適應性;二是引導學生“先見森林,再見樹木”,在進入領域知識的學習中不會迷路;三是為課程與其他課程的銜接預留接口,便于課程之間的無縫對接。
 
  程序設計部分的拓展核心解決程序設計流程圖即可。再掌握問題解決流程的形式化表達方法,學生能用形式化的方法表達問題的處理流程,架起問題和程序之間的橋梁。關于算法和數據結構的內容則留待后續課程深入,同時,不要過分強調復雜算法和數據結構的問題來打擊學生學好語言基礎的信心。
 
  程序設計語言部分的拓展是跨越C語言,簡介當前多種常用編程語言,防止學生在學習程序設計基礎課程時的“一葉障目”,陷入學習C語言的語法細節,而忽視了獨立于C語言的思維方法和適用于各種程序設計語言的通用規律的學習。
 
  程序開發環境包括程序的編輯、編譯、調試、預處理等環境,要學生一方面了解程序從編寫到執行過程,各自的任務、用戶、接口等。二是清楚開發環境的多樣性。
 
  盡管教學中以一種具體語言,一種具體環境為例,將語言的普遍規律映射到該具體環境去解決具體問題,但學生需要充分認識到程序設計語言所傳遞的程序設計的普遍規律與程序的開發、編輯、編譯以及運行環境之間的辯證關系,歸納出獨立于具體開發環境的一般使用過程,并抓住具體環境的特色之處。在熟練掌握一種具體語言、一種特定的環境后,能觸類旁通,培養出對語言和環境變更與進化的自適應性。
 
  程序執行環境拓展,理解計算機系統,更深入地把握程序設計語言的精髓,充分發揮程序設計語言的潛能。拓展中可選擇地覆蓋進制、數的表示、存儲和類型。
 
  以上各個層面的可選拓展為學生打開了視野,也引導不同學習能力、不同興趣愛好的同學自由構建專業知識體系。
 
  2.簡單數學運算問題的設計
 
  聚焦到一門程序設計語言,語言要素部分是最雜亂環節。采用如下方法解決:
 
  首先,引入一個簡單數學運算的問題:根據用戶輸入的兩個數,計算商,并顯示給用戶。
 
  由此分層推進C語言的構成要素:
 
  層次一:常量、標識符、符號
 
  常量,是數據的一種存儲形式。根據數據內容的不同分為:整形常量、實型常量、字符常量和字符串常量。轉義字符是其中字符常量的一種。
 
  標識符,是所有根據C語言命名規則形成的有效字符序列,用以表達一個對象的名稱。標識符可以被用作符號常量、變量、函數名以及C語言關鍵字等。
 
  符號,代碼中除常量和標識符外C語言編譯器可以識別的標志就是符號了。符號主要包括所有運算符和特殊符號。特殊符號介紹空格、括號()、逗號,、注釋符(/**/或//)以及分號(;)、逗號(,)、引號(“”)等。
 
  層次二:表達式及函數調用
 
  表達式是用運算符和運算符連接起來、符合C語言語法規則的式子。有算術表達式、賦值表達式、關系表達式、邏輯表達式、逗號表達式、條件表達式和函數表達式等。
 
  層次三:語句
 
  語句是C語言編譯器可以編譯執行的最小單位。一類是以分號為標志,包括變量聲明、函數調用、賦值、空、復合表達式語句。一類是以一對{}為標志,稱為復合語句。
 
  第四個層次的要素:程序
 
  包括主程序和函數定義。
 
  在按照以上層次劃分來梳理和解析C語言代碼的構成后,借助于逐級遞階的應用場景,遵循從簡入繁的原則,按照知識邏輯的組織,分層次推出語言要素。等課程結束,一覽全貌,一張完整的、結構清晰的知識體系圖誕生。
 
  3.階乘fac=n!(n=10)問題的設計
 
  實踐證明,學生掌握語法結構、理解代碼都不是困難的事情。困難在于遇到實際問題后,學生寫不出程序代碼。
 
  因此,從問題場景出發,展開分析并做出合理抽象,從程序語言語法設計出發解析與問題對接的線索,當兩者之間相匹配時,水到渠成,問題自然就解決了。
 
  問題分解
 
  對于n!,當把n賦予具體數值時,可以看出,完整的數學表達式是:
 
  如果n=1,無需重復,結果直接等于1,其他情況(n>1)則需要重復后面的乘法,根據輸入的n,重復(n-1)次,每次都是在原來乘積的基礎上再乘一個與當前次數相關的數。此時,可選擇延伸一個新的概念:應用程序=數據組織+數據處理。數據在內存中表現為存儲空間,在程序中表現為常量或變量。于是,可以通過分析問題需要的數據以及數據需要的處理著手,用流程圖把問題描述出來了。
 
  語法解讀
 
  在學習循環的語法符號和基本框架時,可以把語法用如下圖(圖1)表示:
 
  于是,循環結構的語法從語義角度向問題流程圖又靠近了一步,降低問題求解的難度。
 
  語言活用
 
  在代碼實現中,靈活地運用語言豐富的運算符和表達式,可以給出一個問題的多種代碼實現方案,而一個問題的多種求解或描述也為程序代碼的優化提供了條件,可以在比較中選擇更優化的代碼。
 
  上述fac=n!(n=10)為例,用for語句可以表述為:
 
  (1)for(i=1,fac=1;i<=10;i++)fac*=i;
 
  (2)for(i=1,fac=1;i<=10;)fac*=i++;
 
  (3)i=0,fac=1;for(;;)if(i++<10)fac*=i;elsebreak;
 
  用do...while或while語句也可以有多種實現方式,不再累述。還可以用遞歸函數解決該問題,如下圖(圖2):
 
  intfac(intm)
 
  四、總結
 
  從實際問題切入,提出了以學生為本的一種教學內容設計思路,解決學生已有認知結構和教學內容之間的差距過大以及知識不能轉換為能力的問題。實踐下來,對于逐階提升學生的實踐能力、培養學生的學習興趣以及學生自主系統地拓展都有很好的指導作用。
 
  參考文獻:
 
  [1]沈軍.程序設計語言類課程的教學思路研究[J].高等工程教育研究,2001(1):79-81.
 
  [2]何欽銘,陸漢權,馮博琴.計算機基礎教學的核心任務是計算思維能力的培養[J].中國大學教學,2010(9):5-9.
 
  [3]汪應洛.系統工程理論、方法與應用[M].高等教育出版社,2004.
 
  [4]周光禮.培養理性的行動者——高等教育目的再思考[J].高等工程教育研究,2015,3:49-57.

      中國期刊庫(http://www.ppgxke.icu),是一個專門從事期刊推廣、論文發表的網站。
      本站提供如何發表論文,尋求論文發表代理,快速發表論文,發表論文格式指導等解決方案:省級論文發表/國家級論文發表/核心期刊論文發表//職稱論文發表。


      【免責聲明】本文僅代表作者本人觀點,與論文發表,期刊發表_中國期刊庫專業期刊論文發表網站無關。論文發表,期刊發表_中國期刊庫專業期刊論文發表網站站對文中陳述、觀點判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

     
    QQ在線咨詢
    論文發表熱線:
    180-1501-6272
    微信號咨詢:
    zgqkkcom
    常州前堂信息技術有限公司
    蘇ICP備14036590號-1
    常州市鐘樓區北大街96號蘭洋大廈B座502室
    咨詢電話:18015016272 投稿郵箱:zgqkk365#126.com(#換成@)
    本站鄭重聲明:文章只代表作者觀點, 并不意味著本站認同。所載文章、數據僅供參考,使用前請核實,風險自負。
    部分作品系轉載,版權歸原作者或相應的機構  若某篇作品侵犯您的權利,請來信告知 
    Copyright © 2002-2018 . 期刊庫 版權所有
    pk10极速赛车计划软件