【来信】
贺老师您好,今天才发现您的博客,纠结非常久的一些问题迫不及待地想老师指导一下。
现状:
眼下大二,就读于桂林电子科技大学,
专业是电子信息科学与技术,
兴趣爱好是编程,职业定位是程序猿。
可是大一没有认真学习
C语言没学好,数据结构和算法也是渣渣,这学期又学了点Java,看了马士兵的视频,也打算在Java方向发展。后面发现,编程的精华在于算法,然后今天又又一次拿起了C语言课本和数据结构与算法分析。自从大二逐渐成熟后,对知识的获取非常渴望,同一时候非常喜欢看书,对英语也非常感兴趣,晚上看书一般都到1点半,
我的计划是:
1,复习C语言,而且着重算法
2,英语(看的是数据结构与算法分析C语言描写叙述英文版)
3,同一时候一边花部分时间打好Java基础,等过段时间对算法和计算机有个比較系统的理解之后再选择专一性的发展
4,多看书(喜欢心理学,看的也是英文版)
我的问题
1,什么是程序猿持续的竞争力(除自学能力外,是否算法占重要角色)
按理说越老越富有经验和竞争力,什么原因导致非常多程序猿30岁以后跟不上技术的发展,他们和那些高手差距是什么
2,我的计划须要哪些改进,或者不合理的,算法是否都要用C语言写出来(我的想法是用C语言,这样就能学好算法同一时候又理解好C语言,可是又纠结,用C是面向过程的算法,这样学出来的算法是否能通用于面向对象编程)
3,是否C语言基础坚固才干更好的理解一些经典的计算机书籍
4,不想做一个仅仅会用某种语言单纯写程序的码农,要成为一个创造者,系统的学习编程应该先后看哪些书,我不知道,算法,计算机结构,操作系统等方面先后顺序。刘未鹏的《如何花两年时间面试一个人》末尾提到一些前辈推荐的非常多经典书籍,假设老师能从里面和自己的经验选出书籍就更好了。
5,如今大二了,好公司一般都是大四第一个学期或者大三就来招人了,非常着急,不知道是否来得及,尽管明确编程是终身学习,不断积累的过程。
【答复】
首先,我建议你能够将你的电信专业,与程序猿定位结合一下。电子信息科学中有非常多事须要编程实现,我是电信的外行,单片机、嵌入式这两个方向中应该是能直接结合的。
你的计划不错。一步一步地往前走,在学习上投入进去,拿出办法,也就获得主动。
你问的问题,非常多我在
《逆袭大学》中做过具体的阐述。你有这么多的“为什么”,能够买一本看。这些话题在
“IT学子指导专栏”中也分散出现过,有时间自己浏览。因为这几天时间紧张,我也不展开说,概要谈谈自己的观点。
1、在未来社会,自主学习能力是第一位的,算法非常重要,但不是所有。越老越富有经验和竞争力在程序猿身上相同成立,“30岁”不做程序猿,一类人是遭到淘汰,一类人是转型做了其它更具价值的工作,技术的或者行业中其它的。两者间的差别非常多,专业基础、学习能力、应对变化的能力、专业之外与人相处能力、自己的人生目标调整的能力等等,人生其中的其它可能性,自然也是存在的。
2、用C语言将算法全写出来,能够,但假设时间不同意,倒不必强求。要有足够的训练量,掌握好“度”即可。眼下为学算法,发挥好C的作用即可。算法问题不必局限在某种语言上,有一门语言用即可,而掌握面向对象编程,那是另外一个问题。
3、经典的计算机书籍非常多,各方面的都有。我提倡博览,实际也没有一个定势,说看某本书必须XX基础坚固才行,能够相互交叉,相互促进。有时候,看过了一本经典,再学些其它之后,回头再看,将有机会再获得新的收获。
4、能够參考计算机专业的培养计划中相相应课程的开出顺序,但也不必拘泥于此,介于你对经典的偏爱,我想提一点是,以自己能看下去作为选书标准。看书中,假设须要实践,同步地实践下去,不必追求一个大厚本,能从头读到尾。选书的过程,根据自己的学习进程和感受,没有定数,自己掌握。另外,我不赞成“系统学习”的宏愿,实践为先,构造自己的系统为要。參考“
破除“系统学习”的情结”。
5、你急又如何?时间能为你而变慢?将前面列出的学习计划扎实地推进下去,到适当的时间,注重将就业中须要表现的应用层面的能力做出一个安排。即使非常早就能确定工作单位,但也并非学习结束的时候,心中有这样一个“系统学习”的大致路线,但也能做到及时调整,不要浪费时间,不好仅仅钻了学习这一门,充实的大学,自然能保证你自己的美好未来。