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

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

想要通過(guò)這些關(guān)卡,就很考驗(yàn)對(duì)于知識(shí)的現(xiàn)學(xué)現(xiàn)用了,基本每個(gè)關(guān)卡中,都會(huì)教學(xué)一些知識(shí)點(diǎn),并設(shè)置一些需要學(xué)習(xí)者來(lái)完成的編程任務(wù),完成了就能通過(guò)這一關(guān),就像這樣的:

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

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




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

