一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

如何教新手編程

  英文原文:Teaching Programming To A Highly Motivated Beginner

  作者:Philip Guo

  譯者:zhongqi

  過去的一年中,許多計算機專業(yè)的教授和教育專家都寫了關(guān)于 MOOC 如何擴大計算機教育服務(wù)的規(guī)模,使得成千上萬的學(xué)生都能享受到。而我想從另外一個角度,說一說我是如何在 9 個月的時間里向 1 位學(xué)生教授計算機編程的。

  2011 年 7 月到 2012 年 3 月之間,我給 Brian Goler 教授基本的編程知識;他是舊金山灣區(qū)一位有經(jīng)驗的企業(yè)家,在市場、銷售和產(chǎn)品開發(fā)等方面都有廣泛的經(jīng)驗。Brian 之前沒有編程經(jīng)驗,但在幾個月的時間里,他就做出了 SwearBuy,一個讓那個人們對喜愛的產(chǎn)品發(fā)表評論的免費 web 應(yīng)用程序。更重要的是,Brian 獲得了自學(xué)的能力,能夠接下來自己搜尋、學(xué)習(xí)更高階的技術(shù)內(nèi)容。我的主要貢獻,是指導(dǎo)他克服一些通常會打擊初學(xué)者的障礙。

  背景

  Brian 通過我的個人網(wǎng)站上知道了我,因為里邊有幾篇計算機科學(xué)教育的文章。下面摘錄他在 2011 年 7 月給我發(fā)的第一封郵件里的一段內(nèi)容:

我們沒見過面,但我想試試看能否從您這兒得到些建議。

我在網(wǎng)上搜尋能幫我學(xué)習(xí)編程的導(dǎo)師的時候發(fā)現(xiàn)了你的網(wǎng)站。更準(zhǔn)確地說,我在上一門計算機課程,我希望找一個導(dǎo)師,每周能當(dāng)面輔導(dǎo)我 1-2 次,每次 1 小時左右。

我正在上 MIT 的 OCW 6.00 課程。盡管 OCW 和其他的在線課程都很棒,但我覺得如果有個人可以請教、還能檢查我的作業(yè),并給與反饋,那我的進度應(yīng)該會更快些,對概念的理解也會更深入。

您在 MIT 和 Stanford 都待過,應(yīng)該認識一些合適的人吧?或者,可以給我推薦下去哪兒找合適的人?當(dāng)然,我會向輔導(dǎo)的人付錢的。

  因為那會兒我剛好不忙,于是我就親自輔導(dǎo) Brian。我們第一次的一小時會面是在他家,第二次是在附近的一家咖啡館。之后我去參加某個學(xué)術(shù)會議,于是第三次的輔導(dǎo)我們就通過 Skype 在線視頻電話進行。我們用了 Skype 的屏幕共享功能,這樣在聊天的時候我就能同時看到他的電腦屏幕。這種形式非常適合輔導(dǎo),于是我們決定接下來的所有輔導(dǎo)都通過 Skype 進行。我只當(dāng)面輔導(dǎo)過 Brian 兩次,而我們的 Skype 視頻通話時長高達 50 小時(大約 40 次)。

  在 Skype 上的在線輔導(dǎo)進行的如此順暢,我們都感到很驚喜。這甚至比我們當(dāng)面聊天更有效,那樣還會受困于嘈雜的咖啡廳和狹小的筆記本電腦屏幕。借助 Skype 的屏幕共享功能,我能在我自己的公寓里邊舒服地看到 Brian 的電腦屏幕,并且與他實時互動。如果我需要畫些草圖來說明,那我只需要共享屏幕,然后用繪圖板來畫就行了。(Salman Khan 就是用類似的辦法教他的表弟,于是就有了現(xiàn)在知名的可汗學(xué)院教育視頻。)

  基于項目的學(xué)習(xí)

  Brian 的目標(biāo)是學(xué)習(xí)基本的編程技巧,提高自己;而不是要獲得一份程序員的工作,或是成為一名研究人員。在見我之前,Brian 已經(jīng)通過上 MIT 開放課程中的計算機科學(xué)與編程基礎(chǔ),自學(xué)了幾周 Python 編程。開始的幾次輔導(dǎo)中,我們通過課程講義和作業(yè),復(fù)習(xí)了基本的編程概念。

  然而,我很快就意識到,僅僅通過學(xué)院式的課程資料來學(xué)習(xí),無法讓 Brian 足夠投入,尤其考慮到他已經(jīng)大學(xué)畢業(yè) 20 年這個現(xiàn)實。他看起來并不滿足于只學(xué)習(xí)一些計算機學(xué)科的術(shù)語、做一些針對大學(xué)生的數(shù)學(xué)相關(guān)的小練習(xí)。

  因此,我決定教 Brian 成為一個實用主義的業(yè)余程序員,而不是一個博學(xué)的計算機科學(xué)專家。我鼓勵他想出一個給自己或朋友用、自己也愿意做的軟件。相應(yīng)地,我將指導(dǎo)他完成這個軟件項目。這個想法如此簡單,但效果卻異常好。

  Brian 提出了一些 idea,并最終決定實現(xiàn)其中的一個,也就是后來的 SwearBuy。在接下來的 9 個月里,他每周都投入十幾個小時的時間編寫 SwearBuy,常常干到深夜。我們每周都有一到兩次的 Skype 輔導(dǎo),每次持續(xù)一到兩個小時。輔導(dǎo)中的大部分時間,我都用來回答 Brian 的問題,幫他調(diào)試 bug,有時還跟他結(jié)對編程,一起寫點兒代碼。我每次講的時間都只有幾分鐘。除了能讓他的注意力高度集中外,這種基于問答的形式對我來說也很不錯,因為我?guī)缀醪槐鼗〞r間提前做什么準(zhǔn)備。

  基于項目的學(xué)習(xí)十分高效,因為 Brian十分重視他自己的第一個項目。他的學(xué)習(xí)被需求牽著走,而不是一些預(yù)先設(shè)置好的的學(xué)術(shù)課程。因為他對 Swearbuy 的熱情非常高,所以常常會想出很多新功能的點子。為了實現(xiàn)這些功能,他必然要學(xué)習(xí)一些新的編程技術(shù)。因此,我的角色就變成了:

  • 評估他想實現(xiàn)的功能的可行性,如果需要的話,指導(dǎo)他完成一個簡單版本;

  • 挑選最適合他需要的編程工具、風(fēng)格以及技巧;

  • 給他找到合適的自學(xué)資料(比如代碼示例、博客、在線教程、書等);

  • 在他努力理解和應(yīng)用自學(xué)的內(nèi)容時,回答他的疑問。

  編程實現(xiàn)一個任務(wù),常常有幾十種甚至上百種方式;這種選擇的多樣性常常讓初學(xué)者手足無措。因為選擇太多,他們反而不知從何入手。我要做的,主要就是幫他將選擇范圍縮小到一個可控的范疇,適合他各個階段的學(xué)習(xí);然后讓他去自學(xué),遇到問題時我再解答他的疑問。

  我十多年的編程和教授編程的經(jīng)驗,使得我在每個需要選擇的點上,都能將選擇范圍縮小到我認為最適合Brian學(xué)習(xí)的程度。比如,我選擇讓他用最基本的編程語言(比如 Python, JavaScript, SQL)功能來“從頭”搭建 SwearBuy,而不是在已有的一些復(fù)雜的 web 應(yīng)用開發(fā)框架上開始。盡管為此 Brian 不得不寫更多的代碼來“從頭”(這個詞兒可能有些不準(zhǔn)確,因為不可能完全從零開始)開始實現(xiàn)期望的功能,但他通過這個過程,能夠深入到內(nèi)部原理,深入理解各個部分是如何組合到一起的。

  Brian 的項目是我們 Skype 會話的絕好的基礎(chǔ),因為我能將自己要教授的新概念融入到他想實現(xiàn)的新功能中去。再多的刻意的課后練習(xí)所發(fā)揮的作用,也比不上一個屬于學(xué)生自己的的應(yīng)用程序。

  在掙扎中學(xué)習(xí)

  在我們每次 1-2 小時的 Skype 輔導(dǎo)開始前,Brian 通常會編程 10-15 個小時,所以他總是用大量急切的問題要問,有很多新寫的代碼需要我?guī)退麃碚{(diào)試和優(yōu)化。如果我只是給他講課,而不基于任何背景,那他不可能消化的這么徹底,很可能只是點點頭,然后說“嗯,好吧,好像是這么回事兒……不錯,然后呢?”相反,因為他在每次輔導(dǎo)之前,都一直在和具體的代碼相關(guān)的問題糾纏——甚至經(jīng)常因此而受挫和沮喪——所以每當(dāng)我給他解釋清楚了什么之前看起來好像不可逾越的問題時,他的反應(yīng)往往是“喔喔喔,哇哦!現(xiàn)在我算是徹底明白了!”。他的喜悅和釋然每次都那么明顯。我覺得對消化知識來說,沒有比這更好的方式了:先花上幾個小時努力解決問題,不斷積累心中煩躁的情緒,然后再接受導(dǎo)師的指導(dǎo)。

  為了減少 Brian 的痛苦,我?guī)退罱碎_發(fā)環(huán)境,做了一些乏味的工作,因為這些東西不會直接促進他的學(xué)習(xí)。我希望他把精力花費在編程和搭建 SwearBuy 上,而不要浪費時間做些不相關(guān)的事情,比如搭建服務(wù)器或是版本控制系統(tǒng)。(當(dāng)然了,如果他的目標(biāo)是成為一個系統(tǒng)管理員,那我盡可以讓他去糾結(jié)那些細節(jié)。)

  有很多時髦的書、在線教程以及直播節(jié)目,都宣稱能讓你在 7 天或是 3 周時間里學(xué)會編程(或者別的什么技能)。很明顯,你不可能在幾周里就掌握一門新技能,而且我覺得也沒幾個人真的相信他們可以。這些“快速獲取技能”計劃的真正問題在于,他們忽視了可持續(xù)性。這些課程就好像減肥食譜一樣,可能會讓你馬上減掉 10 磅體重,但卻無法讓你保持住,除非你真正地養(yǎng)成了好的習(xí)慣。類似的,除非你不斷努力很多年,否則也無法精通編程;為了激勵自己不斷努力,你必須是在做自己有熱情的事情。努力掙扎可不是什么有趣的事兒,如果沒有適當(dāng)?shù)募睿菀自缭绲胤艞壛恕?/p>

  當(dāng) Brian 意識到他不再需要我的輔導(dǎo)時,我知道我成功了。盡管他也承認要成為一名技藝精湛的程序員,自己還需要努力好幾年,但他已經(jīng)知道在現(xiàn)有的水平下,如何努力才能到達那個高度。在過去的九個月里,他學(xué)到了足夠多的東西,能夠支持他繼續(xù)自學(xué)下去。對于自己給了他足夠的方法和智慧來繼續(xù)自學(xué),而不是填鴨式地應(yīng)付一個學(xué)生,我感到很自豪。

  最后的思考

  在我們的輔導(dǎo)結(jié)束之后,Brian 反映說,盡管他受益于這種“通過做來學(xué)習(xí)”的方法,但他仍然認為,將基于項目的學(xué)習(xí)和傳統(tǒng)的計算機課程學(xué)習(xí)結(jié)合起來,有很大的價值。在構(gòu)建 SwearBuy 的過程中,他經(jīng)常通過 Google、閱讀技術(shù)博客、從 StackOverflow 上拷貝代碼等方式,來臨時解決自己的問題。結(jié)果,他發(fā)現(xiàn)自己經(jīng)常得出并非最優(yōu)的方案,而且用的東西自己都無法完全理解。Brian 的一些巨大的進步,來自于他從項目中抽身出來,轉(zhuǎn)而去學(xué)習(xí)書中或課程中遇到的新的概念,然后想著如何將其用到 SwearBuy 中。

  自從我們 2012 年 3 月結(jié)束最后一次的輔導(dǎo)以來,我 6 個月沒有收到 Brian 的消息了。最近他給我發(fā)的電子郵件中提到,他剛剛寫了個 Python 腳本,幫自己給個人股票投資建立模型:“對這個腳本我感到很自豪,因為這是我做的第一個實用的自用工具。我過去一直都在評估股票投資項目,一直想模擬各種場景;一開始我用的是 Excel,但后來終于發(fā)現(xiàn) Python 才是做這件事兒的不二之選。”

  我很喜歡這封郵件,因為它展示了編程技能的作用,讓原本無聊且困難的任務(wù)能夠輕松完成。我希望每個學(xué)習(xí)編程的人都能有邁過那道坎兒的時刻,從那以后就不僅是為學(xué)校或公司的活兒而編程,而更多的是為自己而編程。

  我還想說一遍那句老話,積極性意味著一切(motivation is everything)。Brian 的積極性來自自己的項目,所以實際上他是自學(xué)的。我要做的僅僅是定期指導(dǎo)一下他,幫他最有效地進步,讓他的努力變?yōu)橛行У膶W(xué)習(xí)。

  我的這些經(jīng)驗如何才能推廣到教授大批的自我激勵的程度遠不及 Brian 的學(xué)生的教學(xué)實踐中去?我摸索出的這些技巧如何能不再局限于一對一的輔導(dǎo)這種形式?我也不知道。我只知道,如果你能讓學(xué)生產(chǎn)生真正的積極性,幫他們移除學(xué)習(xí)中一些不必要的障礙,而且在適當(dāng)?shù)臅r候拉他們一把,那么實際上他們就完全可以自學(xué)。

it知識庫如何教新手編程,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 福利在线观看视频 | 日本www色视频成人免费 | 国产成人精品在视频 | 欧美亚洲另类色国产综合 | 伊人网伊人| 免费看岛国视频在线观看 | 欧美色爱综合网 | 日韩免费视频播放 | 日本高清不卡二区 | 精品久久久久久久久久中文字幕 | 美女扒开下面无遮挡免费视频 | 亚洲一区二区三区久久精品 | 美女视频一区 | 999成人精品视频在线 | 天天综合天天做天天综合 | 欧美亚洲国产成人精品 | 免费观看黄色网 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片美女 | 亚洲国产成人综合精品2020 | 亚洲精品国自产拍影院 | 婷婷色站 | 99国产精品视频免费观看 | 日日摸夜夜添夜夜添人人爽 | 欧美视频精品 | 99国产精品 | 女人被爽到呻吟娇喘的视频动态图 | 青青草一区国产97 | 香蕉免费看一区二区三区 | 欧美午夜色大片在线观看免费 | 国产亚洲精品观看91在线 | 91久久精品日日躁夜夜躁欧美 | 露脸国产自产拍在线观看 | 精品在线观看一区 | 亚洲一区二区三区免费看 | 高清一区二区三区免费 | 涩色视频| 国产在线观看中文字幕 | 五月天婷婷精品视频 | 四虎国产精品永久地址99 | 精品国产制服丝袜高跟 | 欧美一级网址 |