不知不觉间,我已经在计算机这条道路上走过了五个月。从五个月前第一次翻开《C Primer Plus》开始,我便对编程产生了浓厚的兴趣。这门学科与我高中所学的死板知识截然不同,每个问题都有千变万化的解法,让我感到无比新鲜。
几天后,我开始在B站寻找C语言的视频,因自己看书效率不高,加上初学时的迷茫,我便选择了跟随视频学习。当时我观看的是JZ的课程,他讲解《C Primer Plus》这本书。经过25天的努力,我终于掌握了C语言。那段时间,我甚至痴迷到高考前两个月,隔几天就请假不上课,因为高考的课程太无聊了,远不及编程有趣(现在感觉大学的课也一样,但我不会请假,只带着笔记本去)。
搞定C语言后,我便开始了数据结构与算法的学习。起初,我对这一切感到无从下手,连二分查找都要思考半天。即使看了视频,很多知识也很快就模糊了。后来我意识到,光看不练是没用的,我需要更多实践。于是,我又在B站发现了左程云大神的算法课。虽然他的课程时长较长,但如果耐心听下去,我能够理解许多内容。由于他用的是Java,我便开始学习Java。在学习了一个多月后,我跟着黑马的视频深入学习Java,这些内容通俗易懂,阿伟的课更是趣味十足,这让我下定决心要专攻Java。现在回想起来,确实不学Java的话,我这学历也没办法在C++领域立足,毕竟我对硬件并不感兴趣,所以也不会走嵌入式的路线。
看完Java上部课程大约用了一个月,到了6月底,我开始接触力扣的题目,尽管进展缓慢,感觉每道题都特别难。但在观看了左程云老师的课程并完成基础数据结构与算法的学习后,我终于进入了真正的刷题阶段,大约在8月20多号。
7月中旬时,我开始学习黑马的Java下部,发现内容比上部难得多,至今我也只学了60多节课。随后,我开始接触JavaWeb的前端技术,内容相对简单,跟着视频一步步完成。如果遇到版本不对,弹幕也会提醒,于是我花了大约20多天学完了前端技术栈,包括HTML、CSS、JS、Ajax、Axios、Vue和Element(不过现在已经有一个月没写前端了,感觉自己忘了很多)。接着,我又学习了后端技术,掌握了Maven和Spring Boot(现在也有一段时间没写了,感觉也忘了不少)。
一开始我也想过写游戏,写了300多行代码,但感觉自己的实力有限,最终放弃了这个计划。
开学后,我便走进了ACM实验室,向学长请教,并分享了我的CSDN账号。经过一番努力,学长给我了一些题目让我完成,我也顺利进入了实验室。在我的软磨硬泡下,我和叶学长组队参加了21号的ICPC网络赛。结果并不理想,A题是我们能够解决的,但G题花了我们两个多小时,两个学长拼命解决数论问题,而我只能在一旁看着A题。由于我的英语水平有限,很多内容听不懂,只能听他们讨论逆元求和,感觉很无奈。最后20多分钟,我们依然没能搞定G题,转向A题时时间已不多,最终只成功AC了三题。还有一道背包问题,我误翻译了题目,以为“above”是所有比它大的数,其实是指所有背包在它上面的,导致叶学长浪费了一个小时,最终结果还是错的,心里很抱歉。不过还好,我们队的洛谷高手最终解决了这个问题,他还说这是洛谷的入门题,真是太强了!
这段时间的经历,我在QQ空间里记录了许多,如果你感兴趣,可以私聊我。