DS博客作业08--课程总结
1、当初你是如何做出选择计算机专业的决定的?
经过一年学习,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么?
时间若白驹过隙,一年时间悄悄地过去了。在这一年中,经历了很多。我想,如果回到当初选专业的时候,我还是会做同样的选择。回想当初选择专业时,我更看重的是计算机专业的前景。在高三结束的暑假,自学了C语言。无论是初次接触编程的兴奋,还是打出一道又一道题目的自豪感,都使我对编程产生了极大的兴趣。我也渐渐地发现,计算机专业是一个极具创造性的专业,而这就是我想要学习的。我觉得擅长或不擅长,这决定于是否有动手去敲代码以及是否喜欢自己用代码写一些东西。首先,孰能生巧。在大一上学期对C的学习,代码量要远远高于下学期对数据结构的学习,所以就结果而言,c语言学得比数据结构好更好一些。其次,有兴趣才能学得更好,去网上找一些更“骚”的操作,然后学会运用它们;又或者自己学着去写一些小游戏、爬虫之类的,都会让你对这个专业更加喜欢。总而言之,对计算机领域我说不上擅长,毕竟处处有大佬,同志仍需努力。但是,计算机确实是我喜欢的领域。
2.对比开篇博客,哪些方面还存在哪些不足?
根据目前你的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
emmmm说到开篇博客,我当初定下了5个目标(如下图)。
现在大一一年过去了,其中只有第3点确确实实地完成了。每天编程4~5个小时在上学期做得比较好,下学期没有坚持下去。关于体育锻炼,大一一年来的体育锻炼主要来自于体育课--羽毛球,以及极少数的与朋友约球。社团活动这一块,说不上积极,但是有空都去了。图书馆是真的flag了,一学期去的次数不超过5次,最大不足。反思自身,目标未能达成的原因是自己太懒了,总是觉得自己已经学得够多了......就像龟兔赛跑的兔子那样,一取得一些小进步,就开始偷懒。
3.回忆整个学期,如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变?
确定好一个方向并自学。一整个大一下来,只知道网络这个专业的可选择方向有很多,但却对每一个方向都不了解。最让我后悔的事情是没有选择一个带有专业性质的社团。参加专业性的社团,或多或少都会学习到一些专业性的知识,也更容易知道自己擅长什么方向。一学期下来,参加网络安全协会的、软件协会的、硬件协会、acm蓝桥协会的同学,或多或少都学到了一些的东西,或专精了一些技能。后来才发现,已经被别人拉开距离了。目前基本已经确定要走网络安全的方向了,并且开始python编程了,现在还需要一些项目来练练手。如果重新来一次,一定把一些基本的python知识掌握好,为后面的学习打牢基础。还有就是,多去了解并且参加一些竞赛,像CTF、ACM、网盒网络技术挑战赛之类的。大一确实有参加ACM的培训以及选拔,但很遗憾最终没有成功参加省赛。归根结底还是自己准备得不够充分。如果重新来一遍,一定要把握好机会,参加ACM就多学习一些竞赛常用的容器、算法,多做一些题目。网络专业的学生要多去了解自己专业跟倾向的比赛,不要一次又一次地错过提升自己的机会。
4.你预备如何规划剩余的2/3?
大学生活会很短暂。大学生活过去1/3,是的1/3。(大四目前教学计划是没有课程学习了)。经过这一年,请问你对我们学校的大学生活有何感想?在这种大学氛围下,如何规划剩余的2/3?
5.对于马上入学的2019级新生,如何学习专业课程(C语言、数据结构、计算机网络等),请给出你的建议。
建议内容包括:编程中碰到问题解决方,如何提高编程能力、编程效率,作业较多情况如何安排等等。
C语言:初次接触编程的同学在第一次接触C语言的时候,是学习兴趣最浓厚的时候,同时也是学习效率最高的时候。本门课程开始的时候会相对轻松,但到后期,无论是内容的复杂度还是老师的上课速度都会稍有提升。所以在刚开始的时候,可以结合网络上的教学视频(推荐浙大翁恺老师的视频)和书本来超前学习。刚开始学习C语言时最容易犯的就是语法错误,这种错误是新手无法避免的,唯一的解决方法就是多动手打代码,只有摔的坑多了,才会记得牢。说到这,不得不提的就是编程习惯。好的编程习惯很重要,老师一定会和你说命名规范、换行之类的细节,不要以为这些不重要,等到了代码量大的时候,不规范的的代码,你自己都会看晕,更不要说找bug了。那么怎么提高编程能力,提高编程效率呢?(1)多写代码。这点不必多说,熟能生巧,大家都懂。(2)多读代码。可以多看看别的同学的代码。如果是优秀代码,借鉴学习;否则,看看这段代码有哪些地方需要改进。如果有同学找你帮忙看看代码找找bug,千万要答应。不要吝啬这一点时间,就结果而言,帮别人找到bug对自己的帮助非常大。(3)选择好的编译器。除了大部分同学都在使用的devC++编译器,推荐一款对编程者更加友好的编译器——VS(Visual Studio)。编程掌握得不错的同学可以参考晓淞大佬的博客来学习如何使用vs:https://www.cnblogs.com/Rasang/p/9733400.html (补充:由于考试的时候有时候只能使用dev,所以dev还是要会熟练操作的。建议在写大作业、课设(需要建项目)的时候使用vs)。
数据结构:相较于C语言,数据结构跟偏向于理论。学习数据结构是一个锻炼理性思维的过程。从C语言转换到数据结构,开始时难免会有些不适应。学着又会发现这些东西也就是C语言应用罢了。就根本来说,一切算法的出发点都是为了解决问题,所以在学习数据结构时,先想一想学习该结构能够解决些什么问题,如果自己来解决这些问题,又会怎么做。如果一开始就抱着完全吸收别人解法的想法去学,容易把自己弄晕,学习的效率也不高。当你把自己的思路和书本的思路进行对比时,可以让你对书上的代码更加理解。
计算机网络:纯粹理论的专业课,内容较枯燥,可操作性很低,个人认为这门课只是为了大二的思科网络技术课程做铺垫。老师上课很快,一节课20页相当地吓人,而且每页的文字密度相当的高。除了老师有重点强调很重要的内容,其他的内容了解就好。考前重点突击重点章节。
时间安排:大一的课真的多,会让你找到高中课程表的影子。而且大学里的社团活动也会削去你的时间,如何做好时间安排至关重要。大学依旧是要以学习为主的,但是大一的课程里有专业课,也有非专业课。像高数、线代、概率论这类数学课,要学好,需要花大量的时间和精力。但是专业课如C语言需要大量的代码量来支持,这就成为了最大的矛盾点。个人以为,大部分的时间应该向专业课倾斜。在作业多的情况下,给作业定一个优先度,按照作业优先度来完成作业。在没有要求限时的情况下,非专业课作业的优先度低于非专业课的作业优先度。
社团选择:社团不要参加太多。一个人的精力是有限的,大学生活还是要以学习为主,计算机专业的学生时间本来不多,更不应该花太多在社团上。大学里确实有着很多优秀的社团,参加一个就好,体验体验。上文中已经提到,没有参加一个带有专业性质的社团是我最大的遗憾。如果你想要学到一些技术的话,去试试吧,这些社团反而不会占用你太多的时间。
6.自由发挥
如果你有其他感想,也可以再次填写你的其他体会。