本文依据所学知识,简要地对计算机科学与计算机工程研究内容的有限认知进行概述,并做出相应的比较和总结.
关于计算机科学研究, 是一个探索的过程.通俗地说,研究的第一步是查阅资料,包括算法与卷积神经网络等方面的资料.接着是处理算法,既可以写新算法,也可以通过修改现有的算法来改进形成更好的算法,同时分析算法的复杂度,使其尽可能地降低.有了算法,一般下一步就是进行的实验,利用Matlab, TensoFlow (Python)等工具不断测试,进行迭代处理.最后计算精度,分析算法的可行性,再考虑是否发表论文.
而计算理论,算法与数据结构,编程方法与编程语言,以及计算机元素与架构四大领域是计算机科学的主要研究方向.
更具体地说,计算机科学是对开发计算机软件和研究计算理论,自顶向下来看,其覆盖着包括从各种抽象的模型到上层的软件设计,到应用层软件开发,到框架的构建和实现,再到操作系统和编译器的研究.。
关于计算机工程研究,是一个实现的过程.和计算机科学一样,第一步也需要查阅资料,不过是寻找解决方法,随后进行小规模的试验.再对实现方法做出分析,由C语言>C++>Java>FPGA的优先顺序选择编程语言,不断调试程序,分析精度.最后再次试验测试,得出结果后再考虑是否发表论文,或申请专利.
所以计算机工程是从计算机工程设计的角度,研究电路、电子、VLSI设计的学科,对于数理逻辑要求没有计算机科学高.
但很大程度上来说计算机工程多是计算机硬件的开发,”从下往上看,包括但不限于底层的IC design (一般是RTL level的HDL Design), microarchitecture & ISA design(用HDL做RTL design,用C/C++做ISS), Memory / Cache architecture design,以及中间层的Embedded system / System on Chip design(使用C/C++/SystemC/SpecC),Heterogeneous computing一类,能接触到的最高层差不多在OS & Compiler这个level,比如在Compiler层面做一些与硬件协同的优化(例如VLIW的实现)。”
在现代科学研究领域里,计算机科学所扮演的角色更像是探索崭新未知的世界的开拓者,计算机工程则以公众利益为出发点,将科学理论与实际应用的目标相结合,改善人类实际生活. 这也是为什么我国今年来愈发重视计算机工程的原因.
但由于先前我国研究人员评价体制倾向于计算机科学,导致目前我国在尖端计算机技术应用领域上似乎略逊美国一筹.这并非意味着计算机科学没有计算机工程重要,反而是要求我们两者应当统筹兼顾,不能靠一条腿走路.只是要让计算机工程追赶到世界前沿,我们需要加倍地努力,任重而道远.
参考资料: https://www.zhihu.com/question/27423699/answer/37209091