如何教會非計(jì)算機(jī)專業(yè)的女友寫代碼

點(diǎn)擊上方藍(lán)色字體關(guān)注「程序員共讀」


這半年一直在教女朋友寫程序留攒,女朋友工作確定后,正好知乎上也有這么一個問題《如何教會非計(jì)算機(jī)專業(yè)的女友寫代碼》,就分享了一下學(xué)習(xí)心得和方法白魂,寫了一個答案,沒想到?jīng)]過幾天點(diǎn)贊數(shù)就上千了上岗,看來前端培訓(xùn)這個市場還是有非常大的缺口啊福荸。于是就轉(zhuǎn)到自己博客上吧,給更多正在前端路上戰(zhàn)斗的朋友們一些參考肴掷。


背景:


女友14年本科畢業(yè)敬锐,學(xué)的是商科,大學(xué)里一點(diǎn)編程都沒接觸過呆瞻,畢業(yè)后也從事與編程無關(guān)的工作台夺,工作了一年多覺得工作不合適自己,想換一份持續(xù)學(xué)習(xí)痴脾、有挑戰(zhàn)的工作颤介;與此同時(shí)在我的耳濡目染下漸漸對寫程序產(chǎn)生了興趣,于是我們就做了大膽的決定赞赖,轉(zhuǎn)程序媛吧滚朵。


我目前還是上海交通大學(xué)計(jì)算機(jī)系研二的學(xué)生,雖然未來的職業(yè)規(guī)劃不是前端方向前域,但學(xué)生時(shí)期做過許多項(xiàng)目始绍,教她前端入門完全沒有問題,與此同時(shí)還需要幫她自底向上構(gòu)建計(jì)算機(jī)基礎(chǔ)知識话侄,這一點(diǎn)對所有方向的程序員來說都至關(guān)重要亏推。


關(guān)于技術(shù)選型,我們沒有多想直接選了Web前端年堆,一來是因?yàn)樾Ч菀渍宫F(xiàn)保持學(xué)習(xí)的成就感吞杭,二來是因?yàn)镹odeJS的存在可以很容易學(xué)一些后端知識。


在學(xué)習(xí)方法上变丧,我們分了好幾條線路同時(shí)學(xué)習(xí):


線一:HTML/CSS/JavaScript



這是一條入門和打基礎(chǔ)的線芽狗。


  • 我們看的第一本書:《Head First HTML and CSS》,這是本非逞髋睿基礎(chǔ)的書童擎,適合初學(xué)者作為第一本書滴劲。

  • 之后做的第二件事:完成了codecademy(強(qiáng)烈推薦這個網(wǎng)站,計(jì)算機(jī)入門的好資源)上的JavaScript教程顾复,并做了課后配套的幾個網(wǎng)站項(xiàng)目班挖。

  • 看的第二本書:《JavaScript DOM編程藝術(shù)》,這也是本入門好書芯砸,講了一個網(wǎng)站從簡單到復(fù)雜是怎么一部部完成的萧芙,力薦。

  • 看的第三本書:《Head First HTML5》這本書同樣寫得深入淺出假丧,在講JavaScript和DOM的時(shí)候與第二本書有一點(diǎn)點(diǎn)的重復(fù)双揪,可以看看不同的書是如何講解JavaScript的。

  • 之后開始學(xué)JQuery包帚,跟著try.jquery.com走一遍就可以在項(xiàng)目里用了渔期。女友表示學(xué)了原生JS再學(xué)JQuery實(shí)在太簡單了。

  • 然后看《JavaScript高級程序設(shè)計(jì)》渴邦,這本書很厚擎场,女友表示沒看完,只有在查具體的知識點(diǎn)才去翻閱几莽。


線二:計(jì)算機(jī)科學(xué)導(dǎo)論



我挑了兩門贊譽(yù)度比較高的Introduction to Computer Science課給她上:

  • Intro to Computer Science(udacity的CS101)

  • Computer Science 101(Coursera的CS101)


我記得其中一門是介紹計(jì)算機(jī)組成結(jié)構(gòu)的迅办、另一門是介紹一個搜索引擎的結(jié)構(gòu),這兩門課是給新手準(zhǔn)備的章蚣。關(guān)注公眾號:程序員大咖 免費(fèi)領(lǐng)取視頻教程 這兩門課學(xué)完可能對前端學(xué)習(xí)沒有什么即時(shí)的效果站欺,但從長遠(yuǎn)來看是絕對需要上的一門課。之后的某個學(xué)習(xí)階段很有可能把這些知識結(jié)構(gòu)上零散的點(diǎn)連接起來纤垂,形成自己的知識圖譜矾策。


線三:算法與數(shù)據(jù)結(jié)構(gòu)



這條線也非常重要,是所有不同方向程序員所相交的部分峭沦。

  • 我們看的第一本書:《程序員的數(shù)學(xué)》贾虽,寫得很入門,非常好吼鱼。

  • 接下來是可汗學(xué)院的算法課蓬豁,這門課非常有意思,我記得講了許多排序算法菇肃,通俗易懂地粪,有一天晚上她學(xué)完一節(jié)課開始和我討論一些排序算法的優(yōu)劣,我就知道這門課還是很有價(jià)值的琐谤。

  • 之后蟆技,開始上coursera的算法,教材是那本著名的算法第四版,這門課有點(diǎn)難度质礼,Java寫課后作業(yè)旺聚,女友學(xué)得較吃力。

  • 學(xué)算法的同時(shí)穿插著刷Leetcode眶蕉,一開始easy題做一晚上都做不出砰粹,再后來easy題很快就有思路然后花半小時(shí)多才實(shí)現(xiàn)出來,再后來medium的題在和我討論下也能勉強(qiáng)做出來妻坝,一步步進(jìn)步就好,初學(xué)者學(xué)算法急不得惊窖。


線四:工具的使用



編輯器(atom刽宪、vim),linux命令行(git…)


linux命令行是自己手把手教的(cd界酒、rm圣拄、mkdir……等基礎(chǔ)命令),先調(diào)出個“黑框框”毁欣,然后在里面輸入一些命令庇谆,輸出一些結(jié)果,交互式的教學(xué)讓女友學(xué)得非称敬快饭耳。


然后要學(xué)git了,推薦codecademy上的git教程执解,通俗易懂寞肖。學(xué)完git后就把之前的項(xiàng)目全用git管理起來,推到github上面衰腌,也順便熟悉了github這類倉庫服務(wù)的使用流程新蟆。


女友問有了atom為什么要學(xué)vim,我說萬一哪一天你要到登錄到另一臺服務(wù)器上改代碼右蕊,沒有圖形界面只能用vim琼稻,她好像明白了,但是到現(xiàn)在依然只會用vim的2個command:i饶囚、:wq…


線五:計(jì)算機(jī)基礎(chǔ)的學(xué)習(xí)(這是條長線)



基礎(chǔ)課主要體現(xiàn)在以下幾個領(lǐng)域:操作系統(tǒng)帕翻、數(shù)據(jù)庫、組成原理與體系結(jié)構(gòu)萝风、編譯原理熊咽、計(jì)算機(jī)網(wǎng)絡(luò)。目前這些課我都沒有教過她闹丐,覺得沒有到時(shí)候横殴,理解不了。其中,計(jì)算機(jī)網(wǎng)絡(luò)可能是我們下一階段要學(xué)的內(nèi)容衫仑,畢竟和前端還能扯上一些關(guān)系梨与,容易理解一些。


線六:項(xiàng)目



做項(xiàng)目和看書一樣重要文狱,我們一直保持一個時(shí)間段至少有1個項(xiàng)目在寫粥鞋。

  • 我們寫的第一個項(xiàng)目的靈感是來源于這個回答,于是我們的第一個項(xiàng)目就是把它完善瞄崇∩氪猓看懂代碼后在此基礎(chǔ)上美化UI、增加了平均判定苏研、悔棋等浊、還實(shí)現(xiàn)了一個最簡單的AI,等等摹蘑。這個項(xiàng)目對她意義非常重大筹燕,經(jīng)歷了是從接手別人代碼、修改衅鹿、開發(fā)撒踪、調(diào)試、簡單部署的整個過程大渤。

  • 跟著codecadamy上的課程把課后項(xiàng)目做一遍制妄。

  • 接下來我們模仿了知乎的登錄/注冊頁面、首頁泵三,寫了一個仿知乎的靜態(tài)頁面忍捡。我們就以現(xiàn)知乎網(wǎng)頁為設(shè)計(jì)稿,根據(jù)這個模板寫出了它對應(yīng)的效果切黔。這個項(xiàng)目提升了她從一個圖片設(shè)計(jì)稿到完成網(wǎng)站原型的能力砸脊,順便增加了一些CSS框架(Bootstrap)的使用經(jīng)驗(yàn)。

  • 做了若干個前端項(xiàng)目后纬霞,是時(shí)候有必要讓她學(xué)習(xí)一下后端到底在干什么凌埂,于是我們用Express框架搭了一個最簡單的網(wǎng)站,她當(dāng)時(shí)JS已經(jīng)比較熟诗芜,所以寫起Node來上手也非惩ィ快,我們完成了一個“信息存儲”的網(wǎng)站伏恐,很簡單孩哑,在客戶端A輸入一段文字,獲取KEY翠桦,在客戶端B輸入KEY横蜒,可以把文字拿回來胳蛮。后端其實(shí)就存一個kv數(shù)據(jù),但這個簡單的網(wǎng)站把前后端都串起來了丛晌,從前端發(fā)送AJAX仅炊,到服務(wù)器收到HTTP包解析,拿到結(jié)果澎蛛,錯誤處理抚垄,然后再把JSON數(shù)據(jù)發(fā)回去的過程。我打算之后增加“kv持久化”功能來向她介紹數(shù)據(jù)庫的概念谋逻。

  • 還做了其余很多練手小項(xiàng)目呆馁,不一一列舉了。


線七:前端工程化



前端這幾年變化實(shí)在太快了毁兆,不在貴圈的人完全跟不上節(jié)奏浙滤。 但仔細(xì)想想還好嘛,本質(zhì)的東西其實(shí)是不變的荧恍,后來加的東西都是為了工程化瓷叫。 reactjs屯吊,gulp送巡,webpack這些東西目前還在學(xué)習(xí)中,我自己也在學(xué)習(xí)盒卸,否則就跟不上她的節(jié)奏了骗爆。


最后:



上述多條線我們前后一共歷時(shí)半年多一點(diǎn),女友從一個什么都不會的小白蔽介,成長到一個能根據(jù)需求完成基本功能的初級開發(fā)者摘投、能討論算法、有基本的計(jì)算機(jī)素養(yǎng)虹蓄,現(xiàn)在想來也是不容易犀呼。


后來投簡歷面試,投了一家創(chuàng)業(yè)公司薇组,沒想到從技術(shù)面到HR面都非常順利外臂,就順理成章的入職了,覺得我們運(yùn)氣非常好律胀。公司不加班宋光、技術(shù)氛圍和leader都不錯、團(tuán)隊(duì)很年輕炭菌,她比較滿意罪佳,那我也很開心。


感想:



把技術(shù)的東西用通俗易懂的話講出來很重要黑低。


比如和她解釋AJAX的時(shí)候有個同步/異步的概念赘艳,我和她說,我們用微波爐加熱東西,加熱兩分鐘第练,這兩分鐘你可以就一直盯著微波爐看阔馋,其它什么事都不做(同步),沒人會這么干對吧娇掏?所有人都是去洗個手/刷個微博/上個廁所(異步)…然后聽到微波爐發(fā)出“杜磺蓿”的一聲(數(shù)據(jù)到達(dá)事件),提醒你去拿東西吃(執(zhí)行回調(diào)函數(shù))婴梧,所以從這個意義上講下梢,異步才是正常的東西,同步都是反人類啊塞蹭。


努力會有回報(bào)孽江。雖然這句話聽起來很雞湯,但是很多時(shí)候它是對的番电,特別是當(dāng)你還有一個正確方向的時(shí)候岗屏。


轉(zhuǎn)載自:lifeofzjs.com

文章地址:http://lifeofzjs.com/blog/2016/05/01/how-to-teach-gl-write-code/

作者:朱佳順



閱讀原文:http://mp.weixin.qq.com/s?__biz=MzI1OTQwOTg2Mg==&mid=2247484036&idx=1&sn=670aea1151cb7e54d4b400ba0fedc930&chksm=ea78102ddd0f993b9bb17164783309e9329ef9e4c5dfa3b03be2c4d796eb771ab876b95c3409#rd
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市漱办,隨后出現(xiàn)的幾起案子这刷,更是在濱河造成了極大的恐慌,老刑警劉巖娩井,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暇屋,死亡現(xiàn)場離奇詭異,居然都是意外死亡洞辣,警方通過查閱死者的電腦和手機(jī)咐刨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扬霜,“玉大人定鸟,你說我怎么就攤上這事≈浚” “怎么了联予?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蟹但。 經(jīng)常有香客問我躯泰,道長,這世上最難降的妖魔是什么华糖? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任麦向,我火速辦了婚禮,結(jié)果婚禮上客叉,老公的妹妹穿的比我還像新娘诵竭。我一直安慰自己话告,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布卵慰。 她就那樣靜靜地躺著沙郭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裳朋。 梳的紋絲不亂的頭發(fā)上病线,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機(jī)與錄音鲤嫡,去河邊找鬼送挑。 笑死,一個胖子當(dāng)著我的面吹牛暖眼,可吹牛的內(nèi)容都是我干的惕耕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼诫肠,長吁一口氣:“原來是場噩夢啊……” “哼司澎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起栋豫,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤挤安,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后笼才,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漱受,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡络凿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年骡送,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片絮记。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡摔踱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出怨愤,到底是詐尸還是另有隱情派敷,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布撰洗,位于F島的核電站篮愉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏差导。R本人自食惡果不足惜试躏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望设褐。 院中可真熱鬧颠蕴,春花似錦泣刹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至寡键,卻和暖如春掀泳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背西轩。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工开伏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人遭商。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓固灵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親劫流。 傳聞我的和親對象是個殘疾皇子巫玻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容