三亚学院计算机科学与技术专业,什么是计算机科学与技术?

什么是计算机科学与技术?这个问题相信很多计算机科学与技术专业的同学也没有深思过,百度百科是这样介绍的:

计算机科学与技术是研究计算机的设计与制造,并利用计算机进行有关的信息表示、收发、存储、处理、控制等的理论方法和技术的学科。

在维基百科上是这样介绍的:

Computer science is the theory, experimentation, and engineering that form the basis for the design and use of computers. It involves the study of algorithms that process, store, and communicate digital information. A computer scientist specializes in the theory of computation and the design of computational systems.

总结来说,计算机科学与技术是设计和使用计算机的理论和实践基础,包括处理、存储和传输数字信息的算法学习。

计算机科学与技术可以分为科学与技术两部分,大学期间的课程基本上涵盖了这两部分,像计算机组成原理、计算机网络、操作系统、数据结构与算法等课程都是在阐述科学的部分,而像C语言程序设计、Java面向对象编程、WEB网页设计等课程则是在阐述技术部分。

科学与技术的学习是相辅相成的,俗话说实践是检验真理的唯一标准。不过,很多同学却没能搞清楚这个关系,甚至懒得去想这其中的关系,也就很难参透出其中的奥妙。因此,很多同学在大学期间顶多学习些C语言、Java语言、WEB编程等,或者高级点可以学习一些ORM框架、DI框架等,然后利用这些能做出一些小型的系统,比如选课系统之类的;却对Java语言中的线程模型、内存模型,WEB编程中的网络知识视而不见,到头来只学会了技术,却忘了科学。其实这种学习方式也无可厚非,毕竟我们喜欢所见即所得,喜欢能够立马看得见的东西,就像打游戏一样,并且刚接触新知识时也建议从实践入手,先知道是什么,再知道怎么回事,之后再以技术反哺科学,这样对科学理解的更加深入,而不是读死书。可是,很多同学在大学期间光学习上面提到的Java语言就已经耗费了一两年、甚至两三年的时间,更别提以技术反哺科学了,能把技术掌握熟练就已经很不错了。

反观原因,一是大家对计算机科学与技术没有整体的认知,以至于在学习时无固定的学习方向,这周学一周C语言,下周又学一周Java语言,三天打鱼两天晒网,那当然是学不好喽;二是缺乏领路人,虽然大家一个班都是学习计算机科学的,但是大家水平都差不多呀,互相都带不动,而这时如果你身边有个技术很厉害的同学,那你的成长速度肯定快过其他同学。因此对于以上两点,我个人给的建议一直都是坚定学习方向和加入学校编程社团或组织,我自己在大学期间,这两点都做到了,在很快的时间内,技术上就有了很大的成长,之后再深入思考技术背后的原因,发现学校的课程都是宝。

当然,由于各种各样的原因,很多同学是很难做到以上两点的,跟很多同学交流之后,发现很大一部分原因是即使加入了社团,也没有系统的学习计划,大家也都是处于随便学的状态,并且很多情况下都是在学习技术,很少去思考科学方面的知识。针对这些问题我自己也结合自身进行了一些思考,对于计算机专业的同学来说,怎样的学习方式才是最好的学习方式、怎样的课程才是符合计算机专业学生的课程,而不是等到毕业了,才发现自己什么都不会,之后随便报了一个培训班,经过几个月的培训就上岗了。

我个人不是很赞同这种短期的培训上岗,这样的学习是浅显的、不深入且不系统的,刚开始还能胜任一些工作,之后就明显后劲不足。所以,计算机专业学生最好还是在大学四年期间认真学好专业课程,那么如何学好呢?我个人认为可以借鉴柏拉图在《理想国》中阐述的教育理念,将大学四年的学习划分为几个阶段,个人认为可以划分四个学习阶段。

第一阶段则用来学习一门编程语言以及基础的数据结构与算法知识。编程语言选择主流的即可,比如C、Java、Python都是可以的。编程语言不需要学习的有多么地深入,比如Java基本数据类型以及基本的操作、条件分支语句、循环语句、类与对象即可;C语言或Python语言类似。在此阶段不需要把编程语言学习的面面俱到,最重要的是为后面的数据结构与算法的学习打下一定的基础。之后,就可以开始学习基础的数据结构与算法知识。在学习此阶段时一定要利用前面所学的编程语言,将学习到的数据结构、算法等实现一遍,这样不仅能够对编程语言有更深入地理解,同时能够对数据结构与算法有更深入地理解。此阶段的学习如果没有前辈指点,凭借个人一点一滴的努力的话,目测需要近一年的学习,如果个人毅力够强,并且学习能力可以的话,半年搞定也是没问题的。如果有前辈指点,预计在半年内能够达到一个不错的效果。这里暂且按照一年来估算吧,也就意味着自己大一一年都在学习编程语言与基础的数据结构与算法知识。经过此阶段的学习,相信同学已经能够去解决一些算法题目了,所以可以尝试这去一些算法网站去刷题,并且去参加校内的一些算法比赛。注意解决刷算法题是一个长期的学习任务,第一阶段结束后就可以尝试每周去刷一道有难度的题目,可以到欧拉计划(Project Euler)上找,也可以到LeetCode上找,养成用程序的思维来解决问题的习惯。

第二阶段的学习则开始学习操作系统相关的知识。这里的操作系统不仅指大学期间要学习的计算机操作系统专业课程,同时还要学习并发编程相关的知识。学习计算机操作系统时重点学习操作系统的内存管理、进程线程管理等理论知识,同时结合自己所学习的编程语言来进行相关实践,比如可以同步学习Java并发编程、JVM等知识。

同样,此阶段的学习也需要经过近一年的学习,并且此阶段的学习至关重要,为以后的学习工作打下了扎实的理论和实践基础。

第三阶段的学习则是计算机网络相关的知识。同操作系统知识的学习一样,不仅要学习专业课开设的计算机网络专业课,同时还要理论结合实践,去学习HttpClient等网络框架技术来进行理论和实践的结合。在此阶段的学习过程中,如果时间充裕的话,可以尝试去学习一些微服务、分布式等相关的知识,也可以去学习WEB开发、gRPC、Netty、Thrift等相关知识,这些都和并发编程、网络有密不可分的关系。此阶段的学习同样会持续一年左右的时间,通过以上三个阶段的学习,基本上掌握了编程语言、常用数据结构与算法、并发编程、内存管理、计算机网络(Http编程、Socket编程)等,已经涵盖了常见的计算机编程知识以及相关理论基础。

因此,在第四阶段,也就是第四年的学习,主要以数据库相关的学习为主,同时查漏补缺一些前面未学习到的一些知识,比如汇编语言等。数据库的学习可以以MySQL为主,学习基本的SQL操作、SQL优化以及InnoDB存储引擎。

以上的学习内容能够贯穿整个大学四年的学习,并且是非常充实的学习之旅,当然这个不是对所有人都适用的,比如想要考研的同学。同时由于学习    的内容比较多,且比较深入,对大家的自学能力有比较高的要求;并且由于学习的进度是和学校专业课的进度不一致的,因此学习难度又会进一步增加。不过,无论怎样,如果大家能够坚持学习下来,肯定会有很大的收获。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值