當(dāng)前位置:首頁 > 公眾號(hào)精選 > 小林coding
[導(dǎo)讀]??大家好,我是小林?;貞浧甬?dāng)年大一學(xué)編程的時(shí)候,當(dāng)時(shí)是分了理論課和上機(jī)課,理論課就是在教室里看老師在黑板上寫代碼,上機(jī)課就是在電腦室上自己寫代碼。雖說既有理論教學(xué)又有上機(jī)機(jī)會(huì),但是對(duì)于第一次剛接觸編程的我,還是學(xué)的一臉懵逼,因?yàn)槲沂窃诖髮W(xué)才知道有編程這玩意,之前聽都沒聽過。而且...

?

?大家好,我是小林。

回憶起當(dāng)年大一學(xué)編程的時(shí)候,當(dāng)時(shí)是分了理論課和上機(jī)課,理論課就是在教室里看老師在黑板上寫代碼,上機(jī)課就是在電腦室上自己寫代碼。雖說既有理論教學(xué)又有上機(jī)機(jī)會(huì),但是對(duì)于第一次剛接觸編程的我,還是學(xué)的一臉懵逼,因?yàn)槲沂窃诖髮W(xué)才知道有編程這玩意,之前聽都沒聽過。而且當(dāng)時(shí)身邊有的同學(xué)都已經(jīng)在初中的時(shí)候接觸到編程語言,這個(gè)編程語言名字我忘記了,不是 C、Java、Python 這類語言,是一種比較古老的編程語言。這類同學(xué)在學(xué) C 語言的時(shí)候,就會(huì)比較輕松,因?yàn)閷?duì)編程有了一定的概念,所以那時(shí)候我常常請(qǐng)教他們。但不得不說,看著教科書學(xué)編程實(shí)在太枯燥太無聊了,當(dāng)時(shí)班上不少同學(xué)學(xué)著學(xué)著就放棄了,打起了 LOL,那時(shí)候我雖然也喜歡打 LOL,但好在我還有在學(xué)編程,慢慢地堅(jiān)持下來了,依稀記得期末考試還考了 90 多分,也沒什么好得瑟的,考的都是簡(jiǎn)單的編程語法?,F(xiàn)在離開校園了,在學(xué)習(xí)一門新的編程語言的時(shí)候,我一般也是看書 視頻的方式來學(xué)習(xí),但學(xué)習(xí)的過程中依然跟學(xué)校一樣,除了枯燥就是乏味,學(xué)起來沒有一丁點(diǎn)兒“生動(dòng)”,沒有絲毫的“故事性”,很容易學(xué)著學(xué)著就刷起了小視頻,然后時(shí)間就像被剪輯了一樣,瞬間到晚上了,眼看著這一天啥都沒學(xué)到,內(nèi)疚感、焦慮感瞬間涌現(xiàn)了出來。大家都看過小說吧,小說的故事情節(jié)一般看過一遍之后,都會(huì)有很深刻的印象,我高中看的《龍族》小說,現(xiàn)在七八年過去了都還有些印象。所以我就在想,有沒有一種學(xué)編程的方式是結(jié)合故事來學(xué)的?
1.誒,我在網(wǎng)上搜了下,還真有個(gè)叫 CodeGym 的網(wǎng)站,它是通過一個(gè)故事來循序漸進(jìn)的學(xué)習(xí) Java 編程的,比較可惜的是,這個(gè)網(wǎng)站暫時(shí)只有學(xué)習(xí) Java 編程故事。https://codegym.cc/zh/看起來還挺有趣的 ,我就去體驗(yàn)了一波。故事的背景也很有意思,也很有想象力,我大概介紹下。故事是發(fā)生在未來世界的 3018 年,這個(gè)年代人類已經(jīng)和機(jī)器人共存了,相似朋友那樣相處,而且經(jīng)常一起坐著宇宙飛船太空旅行,就像現(xiàn)在自駕游一樣日常。但是有一天,一艘宇宙飛船發(fā)生意外,墜毀在一個(gè)我們未知的星球上,這個(gè)未知的星球上到處都是野生機(jī)器人、機(jī)器狗、機(jī)器狼,我們需要教會(huì)這些野生機(jī)器人編程命令,以幫助人類在這個(gè)星球上生存。至此邊冒險(xiǎn)邊學(xué) Java 的故事就開始了,而且故事是一關(guān)一關(guān)的,像是個(gè)闖關(guān)游戲,每一個(gè)關(guān)卡,都有對(duì)應(yīng)的編程挑戰(zhàn)題,由簡(jiǎn)單慢慢過渡到困難,這些編程題都是對(duì)應(yīng)解決故事中的某個(gè)問題,所以還是很有趣味性的,也非常有沉浸感。每一個(gè)關(guān)卡的任務(wù)都是在線編程,有點(diǎn)像刷力扣的感覺,在線編寫代碼,在線編譯,在線運(yùn)行。而且每一個(gè)關(guān)卡必須是解決掉,才能進(jìn)下一關(guān),不能跳躍,得按故事線一步一步走下去,這樣的目的也是為了讓新人能夠系統(tǒng)學(xué)習(xí)整個(gè) Java 語言。
2.不要小看這些任務(wù),一共有 1000 多個(gè)呢,任務(wù)的難度是循序漸進(jìn)的,由淺入深,由簡(jiǎn)到難。學(xué)習(xí)的內(nèi)容涵蓋:Java 語言、Java 語法、Java核心、Java多線程、Java集合、SQL 和 Hibernate框架(開發(fā)中)、JSP 和 Servlet(開發(fā)中)??梢哉f,Java 語言重點(diǎn)知識(shí)都涉及到了,當(dāng)然這些任務(wù)里其實(shí)不單純只涉及到 Java 語言,還會(huì)涉及到其他知識(shí),比如垃圾回收、版本管理、設(shè)計(jì)模式、基本的Web應(yīng)用、REST服務(wù)等,所以還是比較全面的學(xué)習(xí)路線。
有意思的是,當(dāng)你掌握了 Java 編程后,CodeGym 網(wǎng)站還會(huì)帶你用 Java 語言寫一個(gè)小游戲。比如掃雷、貪吃蛇、俄羅斯方塊等等,都是基于面向?qū)ο髞黹_發(fā)的,開發(fā)完游戲還是很有成就感的。你也可以將你開發(fā)的游戲開放出來,這樣所有玩家都可以玩你的游戲,同樣你也可以玩別人開放出來的游戲。
CodeGym 網(wǎng)站還有社區(qū)和評(píng)論功能,每個(gè)任務(wù)都會(huì)有個(gè)留言區(qū),遇到不會(huì)的編程任務(wù)可以直接在留言區(qū)交流,因?yàn)?CodeGym 網(wǎng)站是國外的,所以你還會(huì)遇到各國熱愛編程的朋友。如果你擔(dān)心你沒有計(jì)劃的學(xué)習(xí),不用怕,CodeGym 網(wǎng)站還給你搞了個(gè)提醒時(shí)間表的功能,把自己的學(xué)習(xí)計(jì)劃安排上去,到時(shí)間后,他就會(huì)通知你的郵箱。CodeGym 網(wǎng)站不少刷完編程任務(wù)的小伙伴,都有在網(wǎng)站上分享自己的心得,我看到還有位國外的小伙伴,刷完這里的編程任務(wù),還成功找到一份 Java 開發(fā)工作。3.想入門學(xué)習(xí) Java 編程語言的話,CodeGym 網(wǎng)站是不錯(cuò)的選擇,有趣的故事線,有挑戰(zhàn)性的編程任務(wù),有實(shí)戰(zhàn)的游戲開發(fā)等等。如果我回到大學(xué),重學(xué) Java 的話,我可能就在 CodeGym 網(wǎng)站上直接自學(xué),簡(jiǎn)直是小白的福音。好了,最后感興趣的同學(xué),可以去 CodeGym 網(wǎng)站上體驗(yàn)一下,交互感還是不錯(cuò)的,看的出有用心設(shè)計(jì)的:https://codegym.cc/zh/CodeGym 也有自己的公眾號(hào),也推薦大家關(guān)注一波,有新的任務(wù),或者有新的功能都會(huì)在公眾號(hào)里統(tǒng)一發(fā)布。?點(diǎn)擊閱讀原文,立即體驗(yàn) CodeGym 網(wǎng)站!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉