




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算(j sun)思維與語(yǔ)言技能- 在程序設(shè)計(jì)課中如何權(quán)衡陳道蓄南京(nn jn)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系2014年11月29日 鄭州共四十九頁(yè)我們經(jīng)常從教程序設(shè)計(jì)(chn x sh j)課的老師口中聽(tīng)到這樣的話:“我這個(gè)(zh ge)課可不是只教一種語(yǔ)言的,我們教的是思想!”共四十九頁(yè)我們(w men)能說(shuō)清楚嗎?問(wèn)題1:什么(shn me)是思想?問(wèn)題2:是什么思想?問(wèn)題3:學(xué)生感悟到“思想”了嗎?共四十九頁(yè)什么(shn me)是計(jì)算思維?或者我們(w men)換一個(gè)問(wèn)法:什么不是?計(jì)算機(jī)文化:為什么“遇到問(wèn)題上百度”算不上是計(jì)算思維?計(jì)算機(jī)技術(shù):為什么“了解操作系統(tǒng)的功能與結(jié)構(gòu)”也不應(yīng)該算
2、是計(jì)算思維?怎樣能讓計(jì)算機(jī)幫我們解題?共四十九頁(yè)思維“傳遞(chund)”與“載體”“思想”只能傳遞, 不能直接“教”。有效(yuxio)的“傳遞”需要兩個(gè)條件:合適的“載體”,適當(dāng)?shù)摹袄印卑凑丈鲜鱿敕▉?lái)審視我們目前的程序設(shè)計(jì)課程載體相對(duì)復(fù)雜;例子相對(duì)簡(jiǎn)單共四十九頁(yè)基本(jbn)想法與改革路線基本想法:顯式區(qū)分“思維方法”與“編程技能”對(duì)不同的目標(biāo)采用不同的教學(xué)方法方法設(shè)計(jì)基本思路:“思維”靠“悟”;“技能”靠“練”做法:引導(dǎo)學(xué)生去“悟”,不依靠特定語(yǔ)言(yyn);加大訓(xùn)練強(qiáng)度,不拘泥于語(yǔ)言成分。共四十九頁(yè)基本內(nèi)容(nirng)載體1,計(jì)算機(jī)為什么能解題?2,基本的算法結(jié)構(gòu)3,基本的數(shù)據(jù)結(jié)構(gòu)
3、(sh j ji u)4,遞歸及其代價(jià)下面提供一些課堂實(shí)例片斷共四十九頁(yè)計(jì)算機(jī)問(wèn)題(wnt)求解計(jì)算機(jī)問(wèn)題(wnt)求解問(wèn)題1a:計(jì)算機(jī)究竟能干什么?問(wèn)題1b:人究竟是如何解題的?問(wèn)題1:為什么計(jì)算機(jī)能幫我們解題?共四十九頁(yè)Even More Amazing 0 1 0 1 10 1 0 0 10 1 1 0 10 1 0 1 10 1 0 0 10 1 0 0 10 1 0 1 10 1 0 1 10 0 0 1 1FlippingZeroingTesting(if 1, flipping)共四十九頁(yè)問(wèn)題(wnt)2:我們可以讓計(jì)算機(jī)“間接地”執(zhí)行什么操作?你試試讓計(jì)算機(jī)比較兩個(gè)1-bit二
4、進(jìn)制數(shù)是否相等,只用前面提到的運(yùn)算(yn sun),如果需要,你可以使用輔助的bits.共四十九頁(yè)xyeqEquality test (x,y)zero eq;flip eq;/* equality ontest x flip eq;test y flip eq;/* equality on only turn twiceIf x=y eq=1Otherwise eq=0你能將這個(gè)操作擴(kuò)展到, 比如(br), 32位內(nèi)的整數(shù)嗎?共四十九頁(yè)稍微增加(zngji)一點(diǎn)操作計(jì)算(j sun)兩個(gè)1-bit二進(jìn)制數(shù)的和xyz1z0tx+yadd (x,y)1. zero z0; 2. zero z1;
5、3. equality test(x,y);4. test eq goto 75. flip z0;6. exit;7. zero t;8. flip t; 9. equality test(x, t);10. test eq flip z1; 如果只允許原來(lái)三個(gè)基本操作, 能完成這個(gè)任務(wù)嗎?共四十九頁(yè)多層次抽象(chuxing) 用一位的加法“間接操作”可以實(shí)現(xiàn)普通加法操作;加法操作又可以作為一步操作用在更復(fù)雜的“間接操作”中。實(shí)際上現(xiàn)在計(jì)算機(jī)內(nèi)部電路能提供的操作遠(yuǎn)不只是那幾個(gè)(j )最簡(jiǎn)單的“直接”操作。共四十九頁(yè)問(wèn)題(wnt)1:你會(huì)吃蟹黃湯包嗎?輕輕提, 慢慢(mn mn)移, 先開(kāi)窗
6、, 再喝湯。共四十九頁(yè)吃一只蟹黃(xihung)湯包的“算法”順序很重要:將包子從蒸籠中輕輕提起,and then將包子慢慢移動(dòng)到面前的小碟子(di zi)中,and then 在包子的正上方咬開(kāi)一個(gè)小口,and then通過(guò)小口吸食包子里的湯(當(dāng)心別燙著),and then將包子送入口中。完成!共四十九頁(yè)問(wèn)題2:你如何確保(qubo)過(guò)程無(wú)誤?假如我們認(rèn)為在步驟4和5執(zhí)行前要確保前面的結(jié)果是正確(zhngqu)的,可以在相應(yīng)的地方設(shè)個(gè)“監(jiān)視哨” “guard”。共四十九頁(yè)問(wèn)題3:但是(dnsh)我們并不只是吃一只,那怎么辦呢?共四十九頁(yè)策略一:控制(kngzh)數(shù)量假如(jir)規(guī)定吃8只:
7、開(kāi)始設(shè)一個(gè)計(jì)數(shù)器,并將其值設(shè)定為0。吃一只湯包計(jì)數(shù)器值加1,并判斷其是否為8否是結(jié)束注意:這個(gè)過(guò)程的“結(jié)構(gòu)”與計(jì)數(shù)器的初始值沒(méi)有關(guān)系!共四十九頁(yè)策略(cl)二:吃飽為止是否已飽?是否 問(wèn)題4:如果即使(JSH)飽了,也希望至少品嘗一只,該怎么辦?上下顛倒共四十九頁(yè)如何確定(qudng)循環(huán)過(guò)程是正確的?循環(huán)不變式這是一個(gè)邏輯表達(dá)式在循環(huán)體中它應(yīng)該(ynggi)始終為“真”例如:用一個(gè)逐項(xiàng)累加的循環(huán)計(jì)算a*b, 循環(huán)不變式可以是:“存放中間結(jié)果的量的值=a*“循環(huán)變量的當(dāng)前值”問(wèn)題5:你能為上述兩種吃蟹黃湯包的策略選定一個(gè)循環(huán)不變式嗎?共四十九頁(yè)“冒泡”排序(pi x) 循環(huán)的嵌套自下(z xi
8、)往上這一段干的是什么事情?共四十九頁(yè)問(wèn)題6:是否可以將“冒泡”中的內(nèi)層循環(huán)表示成一個(gè)(y )procedure/subroutine, 形式上成為單層循環(huán)?Max(E, low, high): 找出指定(zhdng)范圍內(nèi)的最大元素共四十九頁(yè)有人(yu rn)知道飽不飽,但有人(yu rn)不知道!開(kāi)始(kish)要吃湯包的人不到5歲嗎?是選用策略1選用策略2否結(jié)束問(wèn)題7:如果要判斷的不止是兩種可能,那怎么辦?共四十九頁(yè)分類(lèi)(fn li)定量控制開(kāi)始要吃湯包的人不到5歲嗎?否參數(shù)設(shè)為2是結(jié)束要吃湯包的人不到60歲嗎?參數(shù)設(shè)為8是參數(shù)設(shè)為4否選用策略1(帶參數(shù))共四十九頁(yè)對(duì)包含“money”一
9、詞的句子(j zi)計(jì)數(shù)搜索(su su)“money”一詞搜索句子結(jié)尾標(biāo)記共四十九頁(yè)問(wèn)題8:前面的例子中“搜索”兩次,盡管對(duì)象不同,動(dòng)作(dngzu)確是一樣的,有可能只描述一次嗎?回想一下前面討論“冒泡”排序時(shí)提出(t ch)的問(wèn)題?共四十九頁(yè)共四十九頁(yè)問(wèn)題(wnt)9:你能總結(jié)一下采用subroutine的好處嗎共四十九頁(yè)以“遞歸”的思維用于證明:數(shù)學(xué)歸納法教你一個(gè)小“魔術(shù)”:用一副撲克牌(不用(byng)“大小鬼”)事先按照紅黑相間排列好將牌大致分為兩份,確保下面可見(jiàn)的兩張牌顏色不同請(qǐng)一位觀者按常規(guī)方法洗牌1次(只是1次!)現(xiàn)在你可以不用看,保證“隨便”抽出的兩張牌一定是“一紅一黑”。
10、基于“遞歸”的推理:怎么能做到以上效果的?不過(guò)是數(shù)學(xué)歸納法而已!遞歸:一種(y zhn)思維方式共四十九頁(yè)從數(shù)學(xué)歸納法到利用(lyng)遞歸的思想解題往前跨一小步 只是(zhsh)一小步而已數(shù)學(xué)歸納法奠基:直接確認(rèn)假設(shè):假設(shè)對(duì)較小的目標(biāo)值(比如k),待證結(jié)論成立歸納:你的任務(wù)是從“對(duì)于k成立”推導(dǎo)出“對(duì)于k+1”仍然成立。用遞歸手段解題Base case:直接給出結(jié)果假設(shè):假設(shè)對(duì)較小的目標(biāo)值(比如n-1或者n/2),“有人”幫你算出結(jié)果了歸納:你的任務(wù)是從“那個(gè)結(jié)果”推算出對(duì)于n的結(jié)果書(shū)寫(xiě)形式,其實(shí)不難!共四十九頁(yè)Hanoi Tower Easy or Difficult?還記得前頁(yè)上那個(gè)(n
11、 ge)“假設(shè)”嗎?但是(dnsh),“那個(gè)結(jié)果”在哪兒呢?共四十九頁(yè)這才是“真實(shí)”的執(zhí)行過(guò)程!你看到的算法共四十九頁(yè)問(wèn)題11:你能比較一下遞歸方法(fngf)與數(shù)學(xué)歸納法嗎?為什么計(jì)算機(jī)出現(xiàn)之前只流行(lixng)數(shù)學(xué)歸納法,卻沒(méi)有廣泛使用的“遞歸解題法”?共四十九頁(yè)遞歸和數(shù)學(xué)(shxu)歸納法寫(xiě)一個(gè)(y )程序真得很容易!證明它正確其實(shí)也不難!移64個(gè)盤(pán)子試試Hanoi Tower共四十九頁(yè)問(wèn)題(wnt)1:“變量”是不是“量”?x x + 1 該如何(rh)理解?共四十九頁(yè)什么(shn me)是“結(jié)構(gòu)”?問(wèn)題2:你認(rèn)為(rnwi)這段話中哪些詞最關(guān)鍵?你會(huì)想到什么兒時(shí)的游戲嗎?共四十九頁(yè)
12、數(shù)據(jù)(shj)和“位置”“全班同學(xué)排好隊(duì)!”是什么意思(y s)?每人有了一個(gè)“位置”。其實(shí)這個(gè)“位置”是相對(duì)的。如果安排一種按照位置進(jìn)行的“游戲”,“到了什么位置就知道該做什么”。如何以前面的觀點(diǎn)來(lái)理解vector, 或稱(chēng)為list, 或稱(chēng)為one-dimensional array是一種數(shù)據(jù)結(jié)構(gòu)?共四十九頁(yè)問(wèn)題3:數(shù)組(向量)和循環(huán)是什么(shn me)關(guān)系?共四十九頁(yè)共四十九頁(yè)“隨意(su y)”和“受限”在書(shū)架的一層上取一本書(shū)在機(jī)場(chǎng)(jchng)的飲水機(jī)旁取一個(gè)紙杯問(wèn)題5:你能說(shuō)出這兩者的差別嗎?共四十九頁(yè)共四十九頁(yè)更復(fù)雜(fz)的“位置”關(guān)系 “樹(shù)”共四十九頁(yè)用樹(shù)排序: 第1步:將數(shù)
13、組表示(biosh)為“二分搜索樹(shù)”問(wèn)題7:你能看出這個(gè)(zh ge)樹(shù)是如何生成的嗎?共四十九頁(yè)用樹(shù)排序: 第2步:以“某種”方式(fngsh)遍歷樹(shù)“ left-first traversal”“ second-visit output:問(wèn)題8:為什么輸出(shch)肯定是從小到大的?共四十九頁(yè)問(wèn)題9:樹(shù)和遞歸有什么(shn me)關(guān)系?課堂示例片斷(pindun)到此為止共四十九頁(yè)編程技能(jnng) 自學(xué)加訓(xùn)練Programming Tasks以周為單位(dnwi)安排,每周1-2個(gè);在整個(gè)“計(jì)算機(jī)問(wèn)題求解”課程中按照18*4周安排。.Documents教學(xué)珠峰計(jì)劃班教學(xué)資料2012級(jí)
14、第1學(xué)期計(jì)算機(jī)問(wèn)題求解-課程指南-2012級(jí)第1學(xué)期.docx.Documents教學(xué)珠峰計(jì)劃班教學(xué)資料2012級(jí)第2學(xué)期計(jì)算機(jī)問(wèn)題求解-課程指南-2012級(jí)第2學(xué)期.docx共四十九頁(yè)第2周的編程任務(wù)(rn wu)題意概要:3,某公司員工提高工資7.6%,并從6個(gè)月前開(kāi)始實(shí)施并補(bǔ)發(fā)。輸入每人的原來(lái)(yunli)的年收入,輸出該補(bǔ)發(fā)的數(shù)額、新的年收入和月收入。允許用戶(hù)計(jì)算任意多次。10,輸入10個(gè)整數(shù),輸出所有大于0的數(shù)的和、所有不大于0的數(shù)的和以及全體數(shù)的和。每個(gè)數(shù)只輸入一次,不能要求用戶(hù)按照是否大于0等條件分類(lèi)輸入。 共四十九頁(yè)結(jié)束語(yǔ)取得的經(jīng)驗(yàn)明顯提高了學(xué)生學(xué)習(xí)的積極性和主動(dòng)性在第一學(xué)期結(jié)束時(shí)基本可以消除入學(xué)時(shí)學(xué)生在程序設(shè)計(jì)經(jīng)歷上的巨大差異帶來(lái)的負(fù)面影響明顯加大了對(duì)學(xué)生解決問(wèn)題的能力的要求,在一定程度上取得了在基礎(chǔ)課中提高學(xué)生能力的經(jīng)驗(yàn)(jngyn)面臨的挑戰(zhàn)在更大范圍內(nèi)推廣,主要難點(diǎn)應(yīng)該不是學(xué)生(內(nèi)容深度是可以調(diào)整的),而是教師配備足夠合格的跟蹤輔導(dǎo)力量最深的體會(huì)之一: 可能我們(w men)原來(lái)太不相信學(xué)生的能力了!共四十九頁(yè)內(nèi)容摘要計(jì)算思維與語(yǔ)言技能- 在程序設(shè)計(jì)課中如何權(quán)衡?!拔疫@個(gè)課可不是只教一種語(yǔ)言的,我們教的是思想。你能將這個(gè)操作擴(kuò)展(kuzhn)到, 比如, 32位內(nèi)的整數(shù)嗎。用一位的加法“間
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北生態(tài)溫室施工方案
- 鐵嶺水源井施工方案
- 鋼渣施工方案
- 預(yù)制水磨石樓地面施工方案
- 六安鋼纖維窨井蓋施工方案
- 綠化種植工程施工方案
- 云南學(xué)校草坪施工方案
- 青浦區(qū)老舊廠房施工方案
- 鋪設(shè)水泥路面基礎(chǔ)施工方案
- 蘇州螺旋風(fēng)管安裝施工方案
- 【A酒店員工敬業(yè)度提升對(duì)策探究10000字(論文)】
- 人工造林項(xiàng)目投標(biāo)方案(技術(shù)方案)
- 版NCCN直腸癌指南解讀
- 全過(guò)程工程咨詢(xún)服務(wù)服務(wù)質(zhì)量保障方案
- 安全生產(chǎn)培訓(xùn)記錄表
- (高清版)DZT 0319-2018 冶金行業(yè)綠色礦山建設(shè)規(guī)范
- 2024年湖南株洲市天元區(qū)面向社會(huì)社區(qū)專(zhuān)職工作者招聘筆試參考題庫(kù)附帶答案詳解
- 高中生物學(xué)科核心素養(yǎng)解讀課件
- 2024屆江蘇省蘇州市八年級(jí)語(yǔ)文第二學(xué)期期末統(tǒng)考試題含解析
- 個(gè)人所得稅宣貫培訓(xùn)課件
- 高素質(zhì)農(nóng)民培訓(xùn)認(rèn)識(shí)
評(píng)論
0/150
提交評(píng)論