写给大一同学:学好课程,进ACM队,胡折腾

【来信】
  老师您好,我在阅读您的逆袭大学那本书的时候,感觉很多案例上能找到我自己的影子。
  我是初中开始对编程感兴趣,但是我最开始是从某中文编程语言(易语言,鄙视链最底层那个)出发的,做一些游戏外挂。后来我开始学习C++之类的热门编程语言,但是我觉得可能是我耐心不够又或者是理解能力不够吧,一本八九百页的编程书,我一般看一两百页就看不下去了。而且我经常学一半就去学别的语言了(例如C++学一半觉得总是写控制台没意思,就去学C#写写窗体程序),我经常这门语言还没学完,看着新的就想去学,看见书就想去买,结果大部分看了能有十分之一就放在书柜里吃灰。而且我有个习惯就是有些书现在看不懂,过一个半个月的再拿出来看看,偶尔会豁然开朗,但大部分时候可能用处不大(因为这一个月不看可能之前看的东西都忘了)。我感觉我已经陷入了您说的恶性循环里,兜兜转转啥都学了点儿,但又没学到精髓,样样通样样松,最后真的像您所说的只是会用很多种语言写Hello World。
  我现在个人感觉对变量常量if,switch之类的逻辑语句,循环语句,位运算之类的基础内容已经有一定的掌握,数组结构体联合体指针等知识基本进停留在了解的层面,仅仅是知道,用的不多。对于模板,STL等高级内容及面向对象相关的类啊继承之类的东西几乎没有了解。
  冒昧向您请教,您觉得我这样的情况,在接下来的学习生活中,我的侧重点应该在哪里?
  另外我有意向尝试一下浙大的PAT和CCF CSP,但是对数据结构相关内容几乎没有了解,您能推荐几本数据结构相关的书籍吗?
  我还对逆向感兴趣,也学过一点儿汇编,但我感觉那些总线啊,CPU的物理结构的知识似乎与逆向关系不大(例如破解一些软件的验证,只需要会看一些基础的汇编代码,改个跳转就完了),您觉得这些知识有必要重点掌握吗?
  还有您能和我说说现在的趋势吗?PC端真的已经凉了吗?我看现在很多人已经转战移动端了,感觉用C++的人也少了。我经常见到“MFC已经过时了,现在都在用QT”的言论,您觉得现在还有必要学MFC吗?现在逆向相关的资源好像还是以32位汇编为主,32位的程序居多,我有必要去学习目前资料较少的64位汇编吗?最近人工智能方面好像很火,我有必要去蹭这个热度吗?Flash开发好像也已经凉了,我还有必要去学习actionscript吗?
  我感觉自己很迷茫,总是什么都想干,又什么都干不成,经常学到一半失去动力,怀疑自己学下去是否有意义,这是因为我想要的太多了吗?您能跟我说说该如何确定自己的方向吗?(您的书我目前仅仅看到培养方案那节,如果您后面章节有讲,请原谅我冒昧提问,但还是希望您能给我说一下章节,我自己去看)
  打扰您了,希望您能拨冗回复。

【回复】
  看你的文字的时候,我太欢喜了。能够提前发展了专业兴趣,并且现在也如愿上了计算机专业,是一种幸运,也是你努力的自然回报。
  通过这段时间和同学们的交往,你应该已经发现了你提前起跑的优势。你以往有大量的自学,今后也注定了你在完成大家正常的学业的同时,也会继续自主做一些探索。这是一种幸福,但也会在众多的可能面前面临选择的困惑。这是幸福中的苦恼,幸福就是了。
  话分两头,先说和大家一样的正常学业。
  开学之后,首先保证把该学的课程学好。低年级时的数学课、英语课、各种专业基础课,会是你更长期发展的依靠所在。科班出身和野路子起步都能成为英雄,但既有科班的机会,一定不要辜负了这个机会。你一定已经知道这样一个事实:专业学习最重要的是,形成专业的思维,专业思维就藏在各种课程中间,用心学,才会入心,成为你自己的。
  在学习这些课程的同时,可以为班里其他同学的学习提供一些帮助。一方面,培育尽可能多的能和你一起奔跑的小伙伴,在带他们的过程中,你可以学得更好,同时锻炼自己的表达能力、领导力等,这些,将是你未来成功中比知识更宝贵的成份。
  那几门课程肯定是喂不饱你的。开课后,尽快进入到我院ACM团队中去,你们的程序设计老师会组织。我希望你能够在比较长的时间内,借助着ACM队的训练,在算法方面会有深的体会,可以参加各种比赛。等大二以后,还有各种机会进到我院做科研好的老师的实验室中,你可以获得更好的机会。
  你之前的学习,在一个方向上开个头,不久会停下,转而了解别的,这对于一个自学的中学生来说,已经真不容易了。其实你做的,正是我提倡大一大二同学要做的“多方尝试”了解专业形态。带着好奇,继续尝试每一个觉得值得了解的方向,这是你可以继续做的事。专业的视野,就是这样来的。当然,前面所谈的主线,你是能把握的。
  你列出了一堆的问题,简要谈一下:PAT、CSP,还有ACM,都是可以参加的,关于数据结构,进ACM队肯定提前组织自学,听带队老师指导吧;汇编可以帮助理解计算机底层,值得掌握,我们培养方案中计算机组成原理、汇编语言、微机原理,会学一系列的课,你可以随着开课自学更深些;现在不需要纠结过时不过的话题,很多曾经火过的技术自然有其优势,大学低年级,都可以去尝试,都会有收获;人工智能的热度可以蹭,安排在高年级时再深入,作为工作、研究生面试的敲门砖也可以;Flash、actionscript特别想玩可以玩一玩——我常和有些同学讲,胡折腾也有其价值。
写给大一同学:学好课程,进ACM队,胡折腾_第1张图片
     (图 我提倡同学们低年级时的自主学习可以采用狗熊掰棒子策略)
  不要因为你想得多而为迷茫,抓住主线,其余的安排,任性就行。低年级有这个资本,高年级再聚焦就行。

你可能感兴趣的:(学习指导,IT学子成长指导)