最近很多朋友跟我說想學(xué)編程,但是又不知道如何開始。他們又是擔(dān)心沒有基礎(chǔ)學(xué)不會(huì),也對(duì)如何學(xué)習(xí)感到迷茫。下面我就介紹一些免費(fèi)的學(xué)習(xí)資源給大家,以供參考。
1. SoloLearn
Learn Playing. Play Learning
SoloLearn是一個(gè)創(chuàng)新的社區(qū)學(xué)習(xí)平臺(tái),免費(fèi)提供多種編程語言的網(wǎng)上教學(xué),而且他們還為所有主流手機(jī)系統(tǒng)(Andriod, iOS, Window Phone)開發(fā)了方便移動(dòng)學(xué)習(xí)的軟件,讓你隨時(shí)隨地都可以學(xué)習(xí)編程。
目前SoloLearn提供了以下幾種編程語言的學(xué)習(xí)材料。

以Python為例,學(xué)習(xí)內(nèi)容按照知識(shí)塊分類(如下圖左側(cè)所示),每個(gè)類別下又包含了各個(gè)細(xì)小的知識(shí)點(diǎn)。其中各個(gè)知識(shí)點(diǎn)介紹之后都會(huì)有一個(gè)簡單的測試(如下圖右側(cè)所示)用來測試你是否理解這個(gè)知識(shí)點(diǎn),而每個(gè)知識(shí)塊學(xué)習(xí)結(jié)束時(shí)則會(huì)有一個(gè)綜合測試,鞏固你在該類目下的學(xué)習(xí)內(nèi)容。當(dāng)所有課程學(xué)習(xí)完時(shí),你就可以獲得由SoloLearn頒發(fā)的結(jié)業(yè)證書。

因?yàn)檫@些軟件提供的都是基礎(chǔ)的知識(shí)點(diǎn)學(xué)習(xí),所以如果你此前對(duì)這門語言有一定的了解,你可能會(huì)覺得題目太簡單。這種情況下,你可以選擇直接做每塊的測試題,只要測試都通過,該課程就算完成。如下圖所示,在沒有學(xué)習(xí)的課程中會(huì)有“JUMP AHEAD”的選項(xiàng),選擇它就可以直接做測試題了。

另一方面,因?yàn)檫@些手機(jī)軟件是以介紹知識(shí)點(diǎn)的方式教學(xué),所以你也可以當(dāng)做知識(shí)手冊(cè)使用。
2. Codecademy
Teaching the world how to code
這也是一個(gè)國外的在線學(xué)習(xí)編程的網(wǎng)站,它為用戶提供了一種學(xué)習(xí)編程的新方式。從學(xué)習(xí)資源上來說,Codecademy針對(duì)的都是網(wǎng)站編程語言,目的是讓用戶能夠自己搭建網(wǎng)站。另外它還提供了代碼托管工具Git的學(xué)習(xí)資料,可以說為編程初學(xué)者考慮得很周全。它的課程分為兩類,項(xiàng)目類和語言類,你可以選擇特定的語言學(xué)習(xí),也可以選擇像“Make a Website”這樣的課程,如果你不知道選什么,還有“Not sure where to start”,它也為你設(shè)計(jì)了一整套學(xué)習(xí)計(jì)劃。

它的基本教學(xué)方式和SoloLearn類似,但是更具有互動(dòng)和趣味性。SoloLearn是講完知識(shí)點(diǎn)做測試,測試題目一般都是選擇題和填空題。但是Codecademy是讓你直接編寫程序,實(shí)時(shí)運(yùn)用學(xué)到的知識(shí),學(xué)起來更具有實(shí)踐性,印象也會(huì)更深刻。遺憾的是,Codecademy并沒有提供手機(jī)端軟件。

下面是網(wǎng)站首頁一個(gè)例程的效果圖,沒有編程經(jīng)驗(yàn)的你看完之后是不是也有了動(dòng)手的沖動(dòng)呢?那就趕快注冊(cè)一個(gè)賬戶吧!

3. MOOC
大型開放式網(wǎng)絡(luò)課程,即MOOC(Massive Online Open Courses)。2012年,美國的頂尖大學(xué)陸續(xù)設(shè)立網(wǎng)絡(luò)學(xué)習(xí)平臺(tái),在網(wǎng)上提供免費(fèi)課程,Coursera、Udacity、edX三大課程提供商的興起,給更多學(xué)生提供了系統(tǒng)學(xué)習(xí)的可能。這三個(gè)大平臺(tái)的課程全部針對(duì)高等教育,并且像真正的大學(xué)一樣,有一套自己的學(xué)習(xí)和管理系統(tǒng),只要完成相關(guān)課程的考試就可以獲得相應(yīng)的證書。中國大學(xué)MOOC就是學(xué)習(xí)這種形式,上面有國內(nèi)各大名校開設(shè)的免費(fèi)在線課程,實(shí)現(xiàn)任何人都可以上名校的愿望。
既然是網(wǎng)上大學(xué),那自然也就有編程語言相關(guān)的課程了。這里的學(xué)習(xí)方式就跟你上大學(xué)一樣,有老師視頻教學(xué),有課后習(xí)題,有課程考試,還可以咨詢老師。相比前面兩種自學(xué)方式,在這里或許更有學(xué)習(xí)的氛圍。另外,它還提供了手機(jī)客戶端,方便移動(dòng)學(xué)習(xí)。

4. Stack Overflow
學(xué)習(xí)編程,自然會(huì)遇到很多問題。Stack Overflow是一個(gè)異常干凈的IT技術(shù)問答網(wǎng)站。用戶可以在網(wǎng)站免費(fèi)提交問題,瀏覽問題,索引相關(guān)內(nèi)容。但是它卻不會(huì)彈出任何廣告或者產(chǎn)品推廣信息。
在Stack Overflow提交或者回答問題可以獲得威望值與徽章,從而建立起信任評(píng)價(jià)體系,并且做到對(duì)參與者的有效激勵(lì)。

5. 你都要當(dāng)碼農(nóng)了,還不鍛煉嗎?
俗話說,身體是革命的本錢。如果你不想當(dāng)一個(gè)“錢多話少死的早”的程序員,那就趕緊重視起你的身體健康吧。下面是推薦兩個(gè)比較火的健身軟件:
左邊“7分鐘鍛煉”,每次只需7分鐘,就可以鍛煉全身;
右邊“Keep”,有更詳細(xì)更豐富的健身鍛煉方案。你可按自己需求選擇減脂,增肌,健康等健身目的自動(dòng)生成健身計(jì)劃,也可以選擇特定的健身課程進(jìn)行訓(xùn)練。我最喜歡的一個(gè)功能是加油(類似于微信的點(diǎn)贊功能),每次鍛煉完經(jīng)常有陌生人會(huì)給我加油,使我又有了繼續(xù)鍛煉的動(dòng)力。

以上只是提供了學(xué)習(xí)的一些資源,但是要想真正的掌握編程技能,還需要不斷的進(jìn)行實(shí)踐練習(xí)。最后祝大家編程愉快。