版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 基于PBL的程序設計語言教學案例設計 白洪濤1何麗莉2胡成全2(1吉林大學公共計算機教學與研究中心 吉林長春 130012;2吉林大學計算機科學與技術學院 吉林長春 130012)摘 要 針對學生學習計算機程序設計語言的困難,以提高學生的實際編程能力為目標,提出了分層次的基于問題(Problem Based Learning,PBL)的程序設計學習方法。包括:以激發(fā)學習興趣為目標的教學情景案例、以培養(yǎng)“計算思維”為目標的宏觀問題和以培養(yǎng)實際編程能力為目標的微觀問題等。教學實踐表明基于PBL的教學取得了良好的效果。Key 基于問題的學習 教學情景 宏觀問題 微觀問題:G424 :A DOI:1
2、0.16400/ki.kjdkz.2015.08.061Programming Design Language Teaching Cases Base on PBLBAI Hongtao1, HE Lili2, HU Chengquan2(1 Center for Computer Fundamental Education, Jilin University, Changchun, Jilin 130012;2 College of Computer Science and Technology, Jilin University, Changchun, Jilin 130012)Abstr
3、act: For students to learn computer programming languages difficult, in order to improve students ability to target the actual programming is proposed based on hierarchical problem (Problem Based Learning, PBL) learning programming. Including: to stimulate interest in learning the target of teaching
4、 case scenario, to develop macro issues computational thinking as the goal, and to develop practical programming capabilities targeted micro issues and so on. The practice shows that the good results achieved based on the teaching of PBL.Keywords: problem-based learning; teaching situation; macro is
5、sues; micro issues0 引言計算機程序設計語言是學生們普遍認同的學習難點,過多的語法知識點以及在考核考評模式下,學習計算機程序設計語言應有的根本目標編程能力沒有得到很好的鍛煉。當前的教學模式是以教師為主體,教師是教學過程的主導,學生是知識的被動接受者和思想的跟隨者。因此,培養(yǎng)學生的創(chuàng)造力,構建以學生“學”為中心的教學體系是非常必要的?;趩栴}(Problem Based Learning,PBL)的教學模式率先由美國神經病學教授Barrows創(chuàng)立。PBL已從國際醫(yī)學界擴展到工程、法學、工商管理等諸多學科,從大學高等教育逐步延伸到中小學教育。PBL在國內的起步較晚,上世紀90年代
6、才引起研究者的關注,全國教育科學“十五”項目規(guī)劃將PBL的網絡化設計列為重點課題。1994年開始,陸續(xù)有關PBL理論研究的文章發(fā)表,且側重于醫(yī)學教育領域,2000年后擴展到其他領域,但理論研究比例較大。PBL在高等院校計算機程序語言學課程中的實踐,則較為少見。本文引進PBL教學模式,通過基于“問題”的學習,探尋一條適合學生學習計算機程序設計語言的有效途徑,同時為教師在教學中提供可參考的方法和思路。1 教學情景案例1.1 什么是計算機語言對于初學者而言,最直接的問題就是:“什么是計算機語言?”我們從通靈芯片一書中對計算機語言既抽象又形象的解釋來闡述這一問題。石頭上我蝕刻了一副圖案,內有幾何圖形種
7、種,在不明者眼中,顯得神秘而又復雜,但我明白,只要布局正確,這塊石頭將被賦予一種特殊的能力,即對一種至今無人說過的咒語做出反應。我用這種語言提問,石頭會顯靈應答:那是一個我用符咒創(chuàng)造的世界,一個在石頭圖案內想象的世界。石頭是硅片(硬件),咒語就是程序(軟件)。1.2 計算機語言與人類語言的關系,學習計算機語言與學習外語的相似性語言也是我們人類的主要交流途徑,要說對方能夠聽得懂的話。若我們想讓計算機遵從我們的意愿工作,就必須對計算機“說”它能夠“聽得懂”的“語言”。學習和使用計算機語言與我們學期一門外語(如英語)一樣,有兩種方式:先學習單詞、語法,再學習語義。學習一定的語法,在使用(編程)中學習
8、語義,融會貫通。我們建議采用第二種學習方法,竭力避免為了語法而語法,死記硬背的學習是沒有意義的。1.3 結構化程序設計的好處我們吃中餐都有這樣一個體會,同樣一個菜品,在不同的飯店,由不同的廚師做出來的味道迥異。而比如KFC,無論在世界上的哪個店面,口味幾乎是一樣的。同學們想為什么呢?對,因為KFC建立了一套標準化的食品制作流程,每個環(huán)節(jié)都是規(guī)定好的,細致的,不需要個人主觀“發(fā)揮”的。同樣,程序設計既可以是“京醬肉絲”,也可以是“漢堡包”??梢允撬囆g,也可以是工程。比較而言,我們更側重于用工程化的思想和方法來進行程序設計。進而,有了結構化程序設計方法,就是為了規(guī)范程序設計的個人行為的。使得程序有
9、更好的可讀性、可理解性和可移植性。 1.4 正確理解編譯器的提示信息同學們在用編譯器對高級語言源程序進行編譯的時候,若有語法錯誤,通常編譯器會告知我們語法錯誤出現在哪一行。有時僅僅有一個語法錯誤,但是編譯器會顯示有很多行都有錯誤。很多同學不理解,以為出了什么問題,其實這是可以解釋的,如圖1所示:圖1 編譯器匹配規(guī)則第一行有5個正確的匹配,如果我拿走了其中的一個(黃色一對中的一個),則高級語言順序編譯器根據至上而下檢查的原則,會出現4個(而不是一個)失配的錯誤。只要更正了黃色的部分,則所有錯誤消失。2 宏觀問題(1)如何才能學好計算機程序設計語言?回答:從模仿開始。人類學習母語是模仿,學習計算機
10、程序設計語言也可以從“照葫蘆畫瓢”開始,在模仿的過程中修正錯誤,掌握知識點,培養(yǎng)程序設計的思路、方法和技能。類比,學習外語如英語的方法也不該只是大量地背單詞,應該是從說話、閱讀、寫作當中學習,學會用是最終目的,否則再多的單詞也是沒有生命力的。(2)if 語句和switchcase語句都能實現選擇分支,是不是二者用哪個都可以?回答:雖然從語法上,switchcase結構相當于多個if嵌套。也有一些題目來考察兩者的相互轉換。但語法不該被亂用或濫用,switchcase結構只有在特定的多分支選擇時才適合使用。(3)條件表達式可以代替if語句,那么就多用條件表達式對嗎?回答:這個問題類似于switch
11、case結構一樣,不能被濫用。只有類似于下面的條件語句if ( ab )Max = a;elseMax = b;才能使用 Max = ab?a:b;來代替,不是任何if語句轉換成條件表達式都是合適和易于理解的。(4)為什么C語言有“指針”?是必須的嗎?回答:包括C語言在內的任何一種計算機程序設計語言,都是從實用性出發(fā)的,而不像數學定理那樣追求“當且僅當”。C語言的指針并不是必須的,比如C#就沒有指針的概念,但有了“指針”,能夠使程序更具靈活性,在實現某些功能時更方便、快捷。當然,C語言的指針也有一些負面的作用,如野指針。對初學者來說,C語言的指針也確實是一個難點。但無論如何,同學們完全可以通過
12、勤學多練,掌握“指針”。隨著學習和應用的深入,同學們會慢慢體會到C語言的“指針”不僅不是阻礙,而且還是解決問題的“利器”。3 微觀問題(1)數組既然是多個數據元素的集合,是否可以對數組所有元素進行整體輸入和輸出?例如:int a10;scanf(“%d”, a);回答:C語言規(guī)定,數組的名字代表了數組首元素的地址(或理解為數組在內存中的起始地址),雖然scanf的參數表列的要求是地址,但不允許用一個地址將數組所有元素都輸入,除非要輸入的字符串,且字符串是放到字符數組中,并當作一個整體來看待的。正確的方法是:int a10, i;for (i=0; i10; i+)scanf(“%d”, &ai
13、);對于字符數組而言,可以:int c10;scanf(“%s”, c);(2)如何驗證對浮點數在“足夠接近”情況下的等值?;卮穑焊↑c數的定義決定它的絕對精確度會隨著其代表的值變化, 所以比較兩個浮點數的最好方法就要利用一個精確的閾值。這個閾值和作比較的浮點數值大小有關。不要用下面的代碼:double a, b;.if (a = b) /*錯!*/要用類似下列的方法:#include if (fabs(a - b) = epsilon * fabs(a)epsilon 被賦為一個選定的值來控制“接近度”。你也要確定a 不會為0。(3)莫要亂寫“;”C語言程序的一行是以“;”為結尾的,但不意味著任何一行程序的末尾都要加“;”。比如:for ( i=0; i100; i+ )sum = sum + i;有很多同學在for ( i=0; i100; i+ )后加了一個“;”,這使得本來完成一個功能的語句,硬生生地被“分開”了。4 結束語熟練掌握一門計算機程序設計語言,無論是對計算機還是非計算機專業(yè)的學生都是非常重要的。教學實踐表明,通過不同層次基于問題的學習,能夠顯著增強學生的主觀能動性,提升學習興趣。本文是在我校教育教學改革項目的支持下的教學研究成果。期望在政策的指引下,通過師生的共同努力,探
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 調研報告:全球及中國新型穿戴設備市場全景圖譜 出貨量穩(wěn)定增長
- 《工作與健康》課件
- 單位管理制度展示大全【人力資源管理篇】十篇
- 單位管理制度展示大合集【人力資源管理】十篇
- 策略深度報告:1月度金股春季躁動的“科技成長”和“內循環(huán)”
- 【大學課件】市場競爭策略
- 特種設備安全管理人員和操作人員培訓課件
- 2025年中國碘佛醇注射液行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略咨詢報告
- 中國可信計算機行業(yè)發(fā)展趨勢預測及投資戰(zhàn)略咨詢報告
- 穿墻螺栓行業(yè)市場發(fā)展及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 麻醉藥品、精神藥品處方權資格考試試題(2024年)
- 2024年度玩具代工生產及銷售合同模板(2024版)3篇
- 業(yè)主大會和業(yè)主委員會工作指導手冊
- 2024年小學五年級科學教學工作總結(2篇)
- GB/T 31900-2024機織兒童服裝
- 2023年首都機場集團有限公司招聘考試真題
- 【7歷期末】安徽省蚌埠市2023-2024學年部編版七年級歷史上學期期末統(tǒng)考試卷(含解析)
- 廣東省深圳市重點中學2021-2022學年高二上學期期末生物試題
- 2024-2025學年冀教版數學五年級上冊期末測試卷(含答案)
- 2025年上半年浙江金華市永康市選調市紀檢監(jiān)察信息中心工作人員2人重點基礎提升(共500題)附帶答案詳解
- 美國制造業(yè)經濟2024年度報告-2024-12-宏觀大勢
評論
0/150
提交評論