zoukankan      html  css  js  c++  java
  • 值得深入思考的五个问题

    问题1:关于当初

    回想当初,我高考结束填志愿的时候对所有专业都不太了解,只知道计算机行业比较热门,对未来的目标也不是很明确,翻阅高考指南的时候觉得自己的分数能冲一下华科的软件工程专业就把它放在了第一志愿第一专业,然后就来到了这里上学。高中的物理老师曾经提到过他大学时试过编程,做计算机方面的东西,觉得是很幸苦的。我当时对老师的话没太放在心上,觉的那些随随便便就能开发出一个App的人很是厉害,完全不知道其背后的付出。

    我看过与C语言程序设计、离散数学、汇编语言、面向对象程序设计、数据结构、概率论、操作系统原理、计算方法、软件工程、数字逻辑、编译技术、计算机组成原理、面向对象系统分析与设计、嵌入式系统导论、软件体系结构、数据库系统原理、数学建模、数字图像处理、算法导论、微机原理与接口技术等课程内容有关的书,也看过Android开发的《第一行代码》,学过C语言、C++、java,也略微接触过python、Linux编程,独自完成过贪吃蛇、编译器开发、校园卡自助机键盘磨损率计算、视频合成等项目,也和团队做过坦克大战、学习成绩管理系统、车牌识别等项目。迄今为止,我写的代码不多,做过最复杂的软件项目就是酷欧天气App的开发。但是所学到的知识都没有连成片,没有一门精通的技术。机械地学习记忆每一门课的知识却没有独立思考。平时自己动手实践的时间不够多,学习的效率低下,陷入了和博客B[1]的作者一样的困境“我是科班——却没学懂计算机”。正如作者所说“不懂的时候,不管任何时候,你都可以去问老师、同学,从而节省大量的时间和精力。我们必须在年轻的时候有意地培养自己独立思考的能力,经常想一想,我要的是什么、为什么要做这件事、做这件事有什么好方法、这样做有什么好处和坏处、如何改进等,也要与人交流、沟通,讲出自己的想法,请别人指正。我们需要培养的是自己的思考方式,而不是简单地获取知识。”,我也有这种想法但却做得不够。学习的过程中我不能持之以恒,理论看得多却动手少都是不好的习惯,我认为不管做什么持之以恒肯定是最重要的,还有就是计算机行业注重动手能力,所以多加实践也是很有必要的。另外作者还提到“出来混,总是要还的,你不会的知识,你懒于想通的东西,总是会在一个必要的时候提醒你、惩罚你。”,所以学好基础,独立思考问题都将起到很大的作用。

    问题2:关于未来

    对于未来,我的选择是读研。为什么我选择读研?因为自我感觉无论是在计算机理论方面还是在编程能力方面都没达到自己的要求。在这种选择下,我相比其他同学来说优势就是成绩,劣势就是理论基础不扎实、动手能力不足,技术水平有限。在毕业前的这一年半时间里,我的规划是继续努力学习,通过自学提高自己的技术水平,注重理论和实践的结合,注重基础知识比如数据结构、算法的学习,多阅读计算机方面的文献,想办法让自己具备一点科研能力,还有就是学好英语,增加自己在研究生面试时的筹码。自学不能再是以机械记忆为主的学习方式,正如博客B[1]的作者说的“这种学习方式在短期内的确会取得很大的成果,但却贻害无穷。长此以往,会使人丧失判断力、理解力和交流能力,只留下可怜的记忆力——这样的人难有大成。这样的学习方式会使我们的思考方式沦为简单地重复和机械地回忆,胆子变小,创新力几乎丧失——对于计算机这种快速变化和要求很高的学科来说,显然没有什么价值。”,所以应抛弃这种学习方式。而是应该“看书的时候,我每看一会儿就想想作者在说什么,以训练自己的概括能力;看看作者表述得是否合理,以训练自己的怀疑能力;勤于反思,以训练自己提出问题的能力。”,还应该学习博客D[2]的作者的学习方式,他的观点“直到有一天,我在《程序员》杂志上看到了一篇“计算机专业学生怎样学好计算机?”的文章,文章中强调最多的四个字是“注重实践”。虽然这四个字说明的意思在我现在看来,已经是理所当然的了,但是在当时,我们班几乎没有人意识到学习编程时,理论与实践相结合有多重要。”是我也认可的,同时他也提到重视基础、开阔眼界,所以我在接下来的学习中要学会独立思考、融会贯通,学习理论的同时多动手实践。

    问题3:关于当下

    我喜欢当前的专业,但是无奈自己理论知识的缺乏和技术水平的低下,看着别的技术大牛做着他们的项目,自己只能当个吃瓜群众,但是自己又不甘心,或许我也能做些什么。就自己的专业知识、技能、能力而言,虽然学了很多课,但是记忆和理解都不深刻,比如虽然学了C语言,但是在链表方面还是不熟,做一个稍大的项目还是会犯难,虽然学了数据结构,但是关于树方面的知识还是模糊,自己再实现一遍排序算法还是会犯难等,发现自己在各方面都有所欠缺,离成为一个合格的当前专业本科毕业生,我在专业知识、技能、能力上都没达到要求,专业知识只有泛泛的认识,没有一门精通的技术,学习能力不足,没有科研能力,自己连一个新人程序员的水平都达不到。所以当下很重要的一件事就是做好规划,正如博客K[3]的作者所说“人生短暂,属于自己黄金的时间不多,如果把太多的时间浪费在寻找道路和方向上,很有可能会导致一事无成,要及早确定自己的规划,然后照着这个规划坚定不移的去执行。陈皓认为,做规划时最重要的是两个方面:一是清楚地认识自己的能力、优势和性格;二是确定自己的专业和想从事的行业。只有在确定这两方面后,才能做出自己的职业规划。”。为什么要做好规划呢?我的观点是不好好规划到大学毕业的时候只能碌碌无为,不知道自己该干什么,白白浪费时间,浪费青春。同时也要抓紧时间提升自己的专业知识、技能、能力。

    问题4:关于课程

    大学中,我印象最深的课程有数据结构、数据库系统原理、算法设计与分析、操作系统原理等。数据结构的老师沈刚博学多才,上课总是让学生去多思考问题而不是灌输式的教学。数据库系统原理的老师吕泽华,授课认真负责,乐于帮助学生解决问题。算法设计与分析的老师邱德红,上课经常提问,让学生反复回忆和理解算法概念。操作系统原理的老师苏曙光,把课程的内容讲得比较易懂。

    对于科班出身和速成的培训班的区别,我的观点是科班出身学到更多是基础性课程,一旦融会贯通了这些知识,对项目的开发工作起到很大的作用,而速成培训班只是快速地教会你一门技术的使用,虽然也可以开发项目但不学习其他的计算机知识那上升的空间很小。正如博客E[4]的作者所说“程序员不是大半年就可以训练出来的。 要不然大学几年的基础课程开设来干嘛。”,作者痛恨培训学校,“因为他们会教学生简历造假。 会教学生投机取巧。 会教学生“如何开发项目”。 然而,那些项目经验,几乎一文不值。 甚至不如一些学生在寝室里写出来的没有界面的小DEMO。”。当然我并不反对优质的速成培训班,但是培训班出来还是要学其他的计算机知识,比如数据结构、算法、操作系统原理等等,这样才可能有上升的空间。对于科班出身的人要利用自己的优势,自学提升技术水平肯定是比速成培训班更好的。

    问题5:关于师生

    关于师生关系,我期望的师生关系应该是Coach / Trainee (健身教练 / 健身学员) 的关系。正如博客N[5]的作者所说“大家可以从各种各样的健身馆中看到这样的关系,  像健身、瑜珈、跑步等等。 在这种关系中, 是谁想提高自己水平?  是那些学员, 这些学员的想法得足够强烈, 他/她才会花钱去参加这样的健身活动。 在健身活动中, 谁要做各种运动, 流汗呢?  是学员。 谁在这个活动中对别人指指点点, 提出各种要求,鼓励别人更加努力? 是教练。”老师就是健身教练,传授资源还要批评鼓励,学生即是健身学员,有需求但是要付出努力。为什么不是博客中提到的其他关系呢?那都不符合大学老师和学生的利益,只有健身教练和健身学员的关系最符合二者的利益,有利于各自的发展。

    [1] https://book.douban.com/subject/4006425/discussion/22803961/

    [2] https://www.cnblogs.com/xiaozhi_5638/p/4485805.html

    [3] http://blog.csdn.net/haoel/article/details/1688104

    [4] https://www.cnblogs.com/geniusalex/p/4928713.html

    [5] http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html

  • 相关阅读:
    cf 1179 C
    P5055 【模板】可持久化文艺平衡树 可持久化fhqtreap
    bzoj4605: 崂山白花蛇草水 权值线段树套KDtree
    luoguP4173 残缺的字符串 FFT
    [HNOI2016]序列 CDQ+DP
    [TJOI2017]不勤劳的图书管理员
    loj2058 「TJOI / HEOI2016」求和 NTT
    bzoj4503: 两个串
    luoguP4721 【模板】分治 FFT
    [Cqoi2016]K远点对 K-Dtree
  • 原文地址:https://www.cnblogs.com/SSSGLQ/p/8520121.html
Copyright © 2011-2022 走看看