yyds,這個自學網(wǎng)站!
苦悶的時候就會抱怨,為啥沒有寓教于樂的編程學習資料或者網(wǎng)站,能夠在趣味中學習編程。
舉個簡單的例子,我們很多人喜歡看武俠小說,但如果將武俠中的世界組織、人物關(guān)系當做知識點,需要我們?nèi)W習掌握,死記硬背絕對是一件非常通過的事情。
但是我們看小說的時候,并不是有意識的去記住這些點,而是在循序漸進、環(huán)環(huán)相扣的小說情節(jié)中,慢慢的去了解到整個武俠世界,去構(gòu)建一個存在于自己腦海中的武俠小天堂,不知不覺的,就對這里面的知識、設定了如指掌。
學習編程,其實也是學習其中的一些規(guī)則、設定,遵守程序語言規(guī)則,就能夠運行出符合自己認知的結(jié)果。
所以,在很久之前的幻想中,要是有像講故事一樣,就能夠?qū)⒕幊淌澜缰械闹R、技能學會的方法,就太好了。
1.
沒想到,找了這么多年之后,我終于看到了符合自己之前設想的神仙一般的編程自學網(wǎng)站,這次,我要為它種草一波。
這個網(wǎng)站最開始是一位讀者和我提及的,當時有些忙,我沒有太留意,但陸續(xù)有人來和我種草這個網(wǎng)站之后,我意識到,這可能是個非常牛皮的網(wǎng)站,值得探索一番。
我進入了網(wǎng)站,打開里面講解 Java 語法的課程,發(fā)現(xiàn)畫風是這樣的:

摸索了一下,我理解到,這是一個偽裝成角色升級游戲的 Java 編程教學課程。故事的背景是,「銀河系狂奔號」飛船因為事故迫降在一個陌生的星球上,飛船陷入了碎石中,無法脫困。
而這個星球上,有很多「野生機器人」,只能通過程序才能操作這些機器人,可以讓它們和固件結(jié)合在一起,來幫助清理碎石,幫助飛船脫困。于是,這樣一個編程探險之旅就開始了...
整個故事是由很多關(guān)卡組成的,學習編程的過程,就是一個進行游戲,通關(guān)打怪的求知之旅,部分內(nèi)容/關(guān)卡如下所示:

想要通過這些關(guān)卡,就很考驗對于知識的現(xiàn)學現(xiàn)用了,基本每個關(guān)卡中,都會教學一些知識點,并設置一些需要學習者來完成的編程任務,完成了就能通過這一關(guān),就像這樣的:

可以看到,代碼都是線上運行的,方便了一些初學編程,對于搭建運行環(huán)境很頭疼的小伙伴。
2.
當然,剛剛我們看到的,只是 Java 的基礎(chǔ)課程,在這個網(wǎng)站的地圖里,我們清晰的看到,關(guān)于 Java 的學習地圖是這樣的:

也就是說,在進行了基礎(chǔ)的語法學習之后,探險之旅并不會戛然而止,緊接著,會進行進階課程:Java 核心、多線程、集合、SQL & Hibernate、JSP & Servlets 等知識點的學習。
我看了一下,目前網(wǎng)站上總共有超過 1200 道練習題,另外,就像很多游戲中,游戲角色會有等級一樣,這個網(wǎng)站的學習者也會有等級。
當下,如果你能夠把上面所有的課程學完,就能夠達到 40 級,由于還有一些課程沒法發(fā)布完,等更新完畢,最高級別能夠有 80 級。
網(wǎng)站作者說,一般學習到 40 級之后,對于編程知識就有了一定的掌握程度,可以找到一份 Java 開發(fā)相關(guān)的工作。有些學習者甚至在達到 20 級的時候,就已經(jīng)找到了開發(fā)工作。
為啥作者對學習者的情況這么了解,一方面,課程的設計他很熟悉,另外一方面,為了便于學習者之間的溝通交流,網(wǎng)站上還設立了論壇和文章模塊,便于大家學習交流,我覺得這是這個網(wǎng)站的一個重要特色之一。
這使得這個編程學習網(wǎng)站不僅僅是一堆文章、關(guān)卡的集合,「玩家」們還擁有了社交的地方,可以一起交流闖關(guān)學習心得,進行思想的碰撞,更有知識的學習和掌握。




你好,我是公子龍,畢業(yè)于中科院,前大型計算機競賽冠軍,現(xiàn)算法工程師,拿過九家大廠的 offer 。
北漂七年,從小白到計算機競賽冠軍,讀研時通過實習和比賽收入 50 萬,點擊藍字查看我的編程之路。

