怎麼評價SoloLearn這個APP?

最近下了這個app,挺好玩的,但為什麼都是入門教程,不做成專業的問答社區,像CSDN。


一、人人可編程

在編程教育這一領域,Sololearn或許不是最出色的,但在學習體驗上,絕對是名列前茅,鮮有人及。

網路時代到來,編程似乎也不僅僅是計算機學科專業才擁有的。越來越多人的通過各種渠道方式自學編程,成為了掌握與電腦溝通方法的新新人類。

我個人雖然不是程序員,但是一直有嘗試在編程方面學習研究,前後接觸了很多學習網站和應用,比如Cousera、Edx、Codecademy、FreeCodeCamp、Udacity、W3CSchool等等。

在我看來,對於初學者來說,學習編程的難度有:反饋慢和無方向。

「我應該學習哪一門語言呢?」

「我是應該先把書看完,還是一邊看書一邊練習呢?」

「這個學完我好像還是寫不出程序?」

「算了,編程太難了,還是放棄了吧。」

感謝開源,編程的學習資源和項目幾乎無窮無盡。只要你想學,任意一門語言都可以免費學到。但是,最關鍵的是,我學著學著我就不想學了……

如果缺乏動力,再好的知識也不會與學習者發生任何反應。

所以,我評價SoloLearn,只從它對學習者的激勵角度來討論。

二、SoloLearn的體驗設計

由於自己是個遊戲迷,後來機緣巧合下也接觸了遊戲化這個概念,所以我的分析中會用很多遊戲的術語來比喻。

如果你把生活中的一切活動以遊戲視角切入,你會發現它們都很有趣。

1.隨時隨地學編程

一個簡單的行為公式:B=MAT。

其中,影響行為的核心因素之一,是發生該行為的容易程度。換句話說,這件事情是否想做就做。

比如過去,人們想和遠方的朋友交流,即使寄一封信也千難萬難。但現在,由於手機的普及,兩人分別在地球的東西半球,也能天天騷擾最終互黑。

學習編程,是否真的就必須對著電腦呢?

SoloLearn給的答案是:不,你想在哪裡學就在哪裡學?

無論是你用的windows、mac、安卓、iOS,甚至是WindowsPhone,Sololearn都在。在家裡,你可以打開電腦,登錄網頁學習;在路上,你也可以打開手機,進入APP學習一會兒。

關鍵是,SoloLearn是可以讓你在手機環境下進行實際的編程練習!

學習編程的唯一方式就是寫代碼。一切不以寫代碼為核心行為的編程學習都是耍流氓。但是對於多數編程學習應用來說,手機端最多也就是看個視頻,勾選個選擇題罷了。而SoloLearn的編程學習卻是網頁與APP並重。

另外,Sololearn的優點之二是:一般情況下,你無需去考慮複雜、折磨新人的編程環境配置,一切都可以在產品內搞定!對於新人來說,直接接觸編程遠比考慮使用什麼編輯器、配置編程環境要重要的多(這一點很多編程學習網站也做到了,比如Codecademy)。

使用Sololearn的用戶群體,我相信有一部分都是有正常工作的上班族。他們對編程有著興趣,希望能更深入地了解這樣一門改變整個世界的語言,但是卻很難抽出大塊大塊精力充沛的時間來學習。

所以,隨時隨地這一點,是SoloLearn的亮點。

2.學著玩,玩著學

SoloLearn目前開設的課程包括Java、CSS、Python、C++、PHP等等,基本主要的編程語言均涉及到了。每一門課程都根據編程語言的特點,分成了不同的模塊。我學習的是Python,就分為了基礎概念、函數與模塊、數據類型等多個模塊,每個模塊下又細分成了一個個的學習單元,每個學習單元又分為知識點與練習題。

如果你有玩過RPG遊戲、或者對遊戲關卡有一定了解,你會發現,整個學習體驗的確就像是在打遊戲……

1)里程碑解鎖

sololearn將編程的課程模塊化不同的部分,每個部分都有相應的關卡。比如在Basic Concepts部分,就設置了13個學習任務。只有完成第一個後才能解鎖第二個(內容解鎖),以此類推。

為了區分是否能夠學習,還分別用了「播放」和「上鎖」兩種狀態來提醒用戶。

「上鎖」是一個很神奇的概念。一旦某樣東西被告知你暫時無法訪問(access),人們反而會更想去探究一番。

2)經驗值(可兌換積分)

每當你完成一個學習模塊,你就能夠得到不等的經驗值獎勵,見上圖右上角XP。

3)小任務

在每個細分的學習模塊裡面,還分別設置了問題(mini-quest),這是一定的挑戰。當然了,這種難度的挑戰最多就是遊戲關卡里第一關的小怪,不會很難~

4)學習進度

在每個單元的學習過程中,最上方都有一個進度條,綠色的色塊代表著你當前所在的位置(看著是不是有點像地鐵站的站點提示).。每個節點的知識點或問題只有一項,不會用長篇大論來淹沒你的視覺。進度條的存在,保證你始終記住自己學到哪裡。

5)沙漠綠洲

上圖中第一個綠色按鈕是SoloLearn的核心期望行為:他用戶學完這部分後繼續學習下一部分。通過這種視覺上的突出,引導用戶不自覺地選擇下一內容。

6)關卡交流

在遊戲中,玩家之間經常會就某一關卡的難度、獎勵、怪物等遊戲內容進行交流。SoloLearn在這方面也借鑒得很好。每個環節的內容,你都可以點擊Comments查看其他學習者的留言,或者留下你自己的評論。

值得一提的是,在查看評論和點擊下一節之間,優先度高的是點擊下一節(綠色按鈕);在與其他學習者互動和留言之間,優先度高的是留言(綠色按鈕)。

色彩、視覺展示等UI層面的東西,也能潛移默化地影響用戶行為。

6)-1

評論區的設計也隱藏著玄機。第一個評論是支持數最高的,接著按順序遞減(另類排行榜),設計上與網易雲音樂非常接近。同時,將正面的社群反饋展現給用戶,也會營造出一種「Sololearn是一個非常不錯的編程學習產品,因為很多人都留下正面反饋,並且得到了更多人的支持」的氛圍,給予用戶繼續學習的信心與動力。

6)-2

評論區的功能,也讓用戶遇到編程困難時,有了一個最方便的溝通地方:直接在該問題下的評論區留言,跟社區其他成員溝通(類似於Stackoverflow);出於互惠原則,一旦別人幫助了你,如果你遇到了其他人碰到問題,你也要出手援助(假設你解決的了的話)。

6)-3

評論區造成了用戶之間的互動。當用戶得到其他用戶的回復時,社交刺激介入,你會在自己的消息中心裡看到這則動態,於是參與進來,形成用戶--產品--其他用戶的良性反饋循環,也達成了產品的期望目的:用戶更多地使用這款產品。

7)成就體系

我在玩《守望先鋒》的時候,經常會在戰地痛快的時候,遊戲界面莫名其妙地彈出一個卡片,告訴我完成了xxx,解鎖了xxx成就。這些成就,往往都是需要玩家做出一些平時很難完成、或者需要更多努力的動作行為。

當我完成了一個模塊的學習後,SoloLearn給予的這麼一個成就解鎖,讓我多了一層的成就感。

成就體系也是一個另類的解鎖體系。所有尚未解鎖的內容,都會灰色顯示,期待著勇士的征服(期待與渴望),同時也是期望行為的一種象徵暗示。每個成就的獲得方式都一目了然地告訴了你,你知道自己要做什麼(參見《魔獸世界》那龐大而讓人絕望的成就體系……)。

8)Boss戰

遊戲里,在一個副本的最後一個關卡,總是潛伏著當前環境中最難的一個boss。玩家需要調用在這一副本里所有的得到的物品和提高的能力,才能打敗boss,前往下一關,否則就必須再來一次。

SoloLearn的課程設計體系中,每個模塊的最後一節,都是Module Quiz,設有幾個覆蓋整個模塊內容的問題,要求用戶完成問題,從而解鎖下一副本。

相對的,boss戰的通關獎勵也是更加豐厚的。遊戲里,boss的掉落品更有價值,更稀缺,概率更大。

9)積分使用

之前獲得的積分,也不是全無作用。遊戲裡面,玩家獲得的金幣可以兌換遊戲內的各類道具裝備,或者置換其他的資源。

在Sololearn的課程學習中,XP巧妙地與問題提示結合在一起。如果用戶在某個問題上捉摸不透,可以花費一定數量的XP值,獲得Hint提示。

就我目前的學習進度,完成課程是獲得積分主要途徑。也就是說,想要獲得更多hint,你就必須解鎖更多的學習內容。

小提示:用戶的積分總額一般要比單詞花費次花費的積分多上不少。

10)PBL:積分、勳章、排行榜

說起來,這是大多數人對遊戲化的理解吧。只要給某個產品加上積分、勳章、排行榜等遊戲常見元素,然後這個原本無聊透頂、體驗糟糕的產品就立刻煥發第二春,變得有趣還上癮起來了。

這是對遊戲化的誤解,但不可否認的是,PBL的確有著激勵用戶的效果,如果設計得當的話。

SoloLearn的排行榜頁面鏈接:SoloLearn: Learn to code for FREE!

Sololearn的排行榜有兩個維度,一個是Global Leaderboard,根據所有用戶的XP值高低排名;另一種是分語言排行,即Python、C++各有一套排行榜。

目前正活的手游《王者榮耀》,不也在搞全服排名、單英雄使用排名、甚至基於地理位置的排名……

排行榜鼓勵人們爭強好勝,也讓用戶知道自己在整個社區中的排名情況。不過,排名所涉及的維度至關重要,因為它關聯到用戶曾經也是今後主要採取的行為。Sololearn的維度是XP,而XP的獲得主要來自於學習課程。所以,排名高的人,旺旺是學習課程最多的人。

遊戲化的目的不是好玩,還是在有趣、激勵的過程中完成業務指標。學習網站的業務指標當然是學習者更多更好地學習了……

上圖看到,第一名領先了第二名足足一倍有餘的積分,真是一個刷分狂人啊~

11)等級體系

積分不僅可以成為排行榜的維度參考,還有一個作用:對應不同的等級。

其實,積分作為等級,其實就是人為的劃分組別。統計學裡,會對數量型數據進行頻數分布統計,一般用直方圖形式表示。等級也差不多這個意思,除了組距的大小可能並不固定。

遊戲的角色等級並不一定要與實際的戰鬥力掛鉤。比如在《守望先鋒》、《英雄聯盟》這樣的遊戲里,等級並不會影響多少遊戲的戰鬥水平,更多的是經驗的象徵,等級越高,說明你玩的時間越長,相對地更懂遊戲而已。

SoloLearn的等級,也是差不多的意思。你可能等級很低,但是編程很厲害;但是,你也可能等級很高,只是紙上談兵。

不過,等級終究還是會影響你在社區里的地位。我等級高,說明我在這裡玩的更多,花費的時間更長,完成的成就更多,那麼我就是老手;自然,我就比新手厲害。

(暴露照片了LOL)

12)攻略交流

如果將每個編程語言當做是一個RPG遊戲里的一種職業,比如《魔獸世界》里的戰士、牧師、法師、薩滿、術士(請對號入座)……那麼針對每個職業,都有一大幫玩家討論這個職業的加點攻略、單刷技巧、裝備選擇……

Sololearn,雖然名字翻譯過來叫做單人學」或「自己學」,實際上它卻是一個非常鼓勵學習者溝通交流的編程學習產品。

在網頁端的Discussions模塊,是跟Quora、知乎等問答類產品幾乎相同的交流平台。用戶可以查看近期、得票數最多、回答數最多、尚未回答、自己的問題、自己的回答等不同子欄目下的問答,參與互動。

學習是自己的事情,但同伴相隨,卻會讓你事半功倍。

12)對戰PK

上面說的大多數都是所謂的PVE內容,即玩家對抗環境,也就是用戶學習編程內容,解決編程問題。但遊戲的樂趣,不僅僅是與系統、與程序對抗,它還來自玩家與玩家之間的直接碰撞。

2016年,有人說是移動電競元年,因為無數「退學少年」通過打《王者榮耀》比賽實現了自己的電競夢。電競一度是電腦遊戲的專屬品,但隨著智能手機性能越來越強大、精品的手機遊戲也越來越多,在手機上進行比賽也正式成為了電競大家庭中的一員。

PK較量,不僅僅是與對手比,也是給過去的自己一個交代,一個見證。

編程,也可以是一種PK較量。

在SoloLearn的手機端,用戶可以選擇自己的武器(選擇職業,這裡就是選編程語言),挑選自己的對手(分為搜索選擇和隨機選擇兩種模式)。然後,在規定的時間裡,完成系統生成的比賽內容(即編程問題,有選擇題,也有需要你填寫的)。每場比賽分為好幾個Round,答對一題積累一分,最終根據你跟對手的比分多少判斷輸贏。

贏得人,可以獲得不等的經驗值獎勵……

所以,那些排行榜靠前的,除了刷題之外,就是真人PK。如果在RPG網遊里,這些人絕對是紅名玩家……

(選擇你的武器)

(選擇你的敵人)

在我的第一場PVP較量中,我選擇了一名LV8的高手,結果被虐的很慘……

是的,我不知道對手是不是機器人,但是對手的確完成挑戰了,還贏了我。我很傷心,我要好好學習,默默憋出個大招,你等著!

同樣是競爭,對戰pk的實時性與反饋更強,而排行榜則比較被動(榜單更新前除外)。

(目前只挖掘到這裡,更多的使用體驗等我一個階段學習後再和大家分享)

update:4/5

13)證書

證書作為激勵手段,我想大家都會很熟悉。經過多天的努力(主要以APP端為主),我終於完成了PYTHON3 TUTORIAL的課程學習。

證書除了類似勳章的成就象徵作用之外,還起到「權威認證」的效果。比方說,同樣是拿到學位證書,清華北大的畢業證書比普通211、985高校的市場價值大,更別提其他的普通本科畢業證書了……(證書鄙視鏈?)

網路課程的問題在於,證書的權威性能否得到公認。另一家教學網站Udacity,宣稱其納米學位證書獲得者能夠獲得google、Facebook、滴滴等互聯網巨頭的內推資格,這樣的證書就有用多了(但是也不排除其他小公司不認同)。

SoloLearn的證書效用目前來看,還僅限於自娛自樂,只是一種成就象徵。

不過並不妨礙你使用「吹噓按鈕」技巧,分享到朋友圈,實力裝一波X。


適合:1.有空沒空習慣看手機但又覺得刷微博玩手游浪費時間生命所以想利用手機和碎片化時間學習一點知識我提升自己。2.有想學習programming的慾望(在sololearn里可以學習c++、c#、python、Java、javascript、html、css、PHP、swift、ruby、SQL)。3.有一定的英語基礎對全英文不排除不反感有理解能力。

優點:1.課程像闖關遊戲一樣,專業且不枯燥。2.每一個知識點一個界面再配一道例題,不管是知識點還是題目都配有comments,在裡面有全球的和你一起學習的小夥伴和大佬們的想法、問的問題和解答,足夠弄懂了。3.challenge的功能用用戶對戰的方式檢驗你對於這門language的掌握程度,刺激學習。4.全英文的app,和歪果仁用英語交流,非常有助於提升英語閱讀能力甚至是辭彙量。

對於沒有接觸過programming的新手來說,建議從C系列開始學習,我覺得c應該是最適合編程入門的,因為cpp比c要難度大一些,這樣的話c#也還行。sololearn是全英文的就怕對於新手來說概念上的東西不好理解,如果是英語基礎不錯又愛學的同學其實也挺適合用sololearn入門學習的。雖然sololearn基本上每一節都有代碼供user運行相當於在手機上就可以coding,但是個人認為還是要在電腦上多敲敲代碼,新手更應如此。

對於已經有編程經驗的朋友來說sololearn使用起來就很簡單明了了。不過很清楚的一點是不管對於新手還是programmer來說sololearn應該只是一個輔助工具或入門工具,是將碎片時間也利用起來學一點知識的,並不適合系統化的學習。

以我自己為例子,我已經學習了c和cpp入門,一直想學python,但因為總感覺是一項巨大的工程又老是以沒有大塊時間來學習為借口,一直望而卻步。有天無意發現了sololearn,用了一會果斷五星了,簡直是福音。我打算在sololearn里先學完python的課程相當於一個入門,然後也在電腦上安裝了python配置好了環境,有時間敲一敲代碼,等學完了再開始更系統地學習進階。

我遇到重要的部分不懂的問題習慣截圖,下面就是一些截圖啦。


上班路上扇貝英語單詞太簡單了,10分鐘之內全部學完太沒意思,想著找個APP學編程,路遇公司工程師,被安利sololearn。馬上下載,上下班就好玩了哈哈


感覺特別適合在上下班途中玩


最優秀的新手自學入門編程app。

沒有之一。

語言還在不斷擴充,去年這個時候,我還想著怎麼沒有c#的,前段時間發現不僅有了c#,還有css,html等。

講解順序適合新手,使用的英語也簡單易懂。


你確定只是入門? 你完成了所有語言教程了么,在還能刷題 ,而且這個APP有社區啊,上面大牛挺多,問的問題基本都能解決,還能提高英語水平,我覺得很好,只是不熱門罷了。


同意說法:最優秀的編程入門app

優點:

1.課程安排合理

國內某些某些所謂的基礎課程或入門課程簡直了,那就是給有基礎的人學習的。

sololearn,從基礎的打起,特別注重基本知識的訓練,難度小,不至於初學者因為複雜的語法知喪失興趣。

2.語法種類多,python、c++、java、R、html5、、、、、、、、

多種語法支持,常用的語言都囊括了,夠用了吧。

3.良好的社區支持

有句很搞笑的評論:說實話,沒有這些評論,我都看不下去。(我看了下這位仁兄已經學完一門課程了)。其實那些導師首先是沒時間,其次解釋問題都比較專業,新人是最懂新人的。這裡我有又要說一句國外的月亮圓了,sololearn里的回復大多是有意義的回復,質量都挺高的。

4.免費無廣告,設計簡潔。

在GGplay上評分高達4.8,對於一個下載人數超百萬的應用,特別難得!

5.支持手機上即時編程運行代碼

原理應該還是提交代碼到了雲端,輸出結果後再到手機上,網路不好的情況下可能會有延時。

支持自動補全和預測。

目前軟體是完全免費的,我很好奇這個項目是如何盈利,還是說有公益基金支持。

總之我個人覺得新手學習語言,去這裡再好不過了。


從這上學完一門語言大概在什麼水平?(刨除實踐經驗來看)


剛刷完C# 感覺還不錯 吶這是證書


用不了 怎麼辦? 必須有谷歌支持 你們是怎麼破的?


最近剛刷完C++的!

感覺很適合沒太多編程基礎的同學入門一個新語言,我微有Python和Matlab基礎,一直想好好學C++,但是平時課題又不太需要,平時基本只用Python就滿足需求了,這樣的學新語言就很沒動力。

前一陣子在App Store看到MIMO,發現要錢,刪之,然後在知乎上看到有人提到這個比MIMO好,然後就下了個玩。每天晚上睡前在床上刷一刷,大概用了一周刷完了,C++最基本的特性大都有了點了解,可以開始進一步學習了,打算買本C++ Primer看看,然後有空的時候寫點小程序。


很好的APP


很不錯,最近正在學習。有個問題請教各位

android上的app SoloLearn是不是集成了sololearn旗下的learn C++,learn python,learn SQL等各個app的內容?

@楊國慶Larus @LEO @赤子 @Maktub


推送了這個問題,去試了試,刷完c++來看看質量怎麼樣,再評論.


推薦閱讀:

現在哪個手機音樂播放軟體最好?
為什麼說鄭南嶺開發的被獵豹收購的《快圖瀏覽》是一款優秀的應用?
銀行手機軟體體驗是不是很差?為什麼不提供好一點的用戶體驗?
蘋果的消費鏈是如何形成的呢?
2014 年有哪些值得推薦的年度 Android 應用?

TAG:軟體 | 編程 | 應用程序Application | Android | 安卓UI |