我是如何在8周內(nèi)自學編程的
對于絕大多數(shù)非程序員來說,學習如何編程是一項不可能完成而且令人畏懼的任務(wù),好在有大量免費的在線資源,當然自學成才沒那么容易。
我開始學習寫代碼是在今年的早些時候,這里我可以分享一下自己的一些經(jīng)驗,構(gòu)建一套你自己的原型沒有想象的那么困難。事實上,如果你在兩個月內(nèi)不落下一天,擁有一個完備的原型是完全可行的。
下面,我將羅列出一個簡單的學習路線:在八個周末內(nèi)軟件開發(fā)從零到擁有一個工作原型。
把web棧介紹給自己聽(10分鐘)
陌生術(shù)語的存在使得任何主題似乎比實際上的更加混亂。Yipit的創(chuàng)始人/CEO Vin Vacanti 做了一個很好的概述,關(guān)于你將要熟悉的語言中術(shù)語的理解。
掌握入門級的Python和通用編程技巧(1個周末)
笨方法學Python:別在乎這個標題,簡明的格式使學習基本的概念非常簡單,很多章節(jié)所花時間還不到十分鐘。然而,我發(fā)現(xiàn)有些高級課程并不好,所以我建議42課后的課程不必往下學習了。
Google Python課程:閱讀筆記,看視頻,在不看答案的情況下完成所有相關(guān)練習。掙扎于不斷出錯的練習是最好的學習經(jīng)驗,如果我只是看著答案學習的話,遠沒有這么多收獲,期間我盡力說服自己要理解概念。
上面這兩個資源有些部分是交叉的,有些是互補的。我建議同時看這兩份資源的開頭部分再來決定自己更喜歡哪種。一旦完成了其中的一個任務(wù),再略讀另外一份,查找那些還不是完全理解的概念,并從中獲得一些額外的習題練習的機會。
理解入門級的Django(1個周末):
刪除所有代碼
重新學習該教程
第一次學習該教程完全按照說明一步一步操作而不理解每個步驟的原理,因為這對我來說完全是陌生的。第二遍我不再關(guān)注概念的新奇,而是把精力放在理解每個部件是如何一起工作的。
深入理解Python及通用編程概念(2-4個周末):
Udacity的CS課程:Udacity的課程一半分為7個課時(每個課時2-3小時)你可以按照自己的進度來學習。(我超級喜歡Udacity的教學方式,建議中級編程班或web開發(fā)班能跟進者兩個月的課程)
MIT的CS課程的第一單元:教的很棒,老師也出乎意料的平易近人。
同樣的我會分別看看,哪個才是你最喜歡的。
實踐構(gòu)建簡單的web應(yīng)用(1個周末):
根據(jù)例子用Django做些練習,這些練習仍然提供了一些指導以至于我覺得是一種好的方式去開始學習。
建立原型(1個周末):
用一個周末建立原型?是的,你會很難為情成什么樣子呢(至少我是的),但是這就是全部。
就是這樣,8個周末(或更少)你已經(jīng)從學會從零到能夠正常運作的原型了,事實上事情并非如此艱巨。
下一步:
很明顯不用說,在建立簡單原型上需要的知識和對一個真正合格的軟件工程師所需要的知識和經(jīng)驗有著巨大的差別的。如果你想學習關(guān)于構(gòu)建大規(guī)模的web應(yīng)用程序,想獲得專業(yè)的web開發(fā)經(jīng)驗,在快速增長的創(chuàng)業(yè)公司如Yipit是一個偉大的下一步。
如果你很聰明,能努力工作,富有創(chuàng)造驚艷的消費者web體驗的熱情,馬上給我發(fā)郵件吧,jobs@yipit.com,我們一直在尋找牛人加入我們的團隊。
ps:下面是一些可能有用的資源,如果你有其他建議,請在評論中留下你的記錄。
Stanford’s iPhone development class
英文原文:David Sinsky