CS与CE的区别
1.计算机科学
计算机科学(Computer Science,简称 CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。
计算机科学包含很多分支领域;有强调特定结果的计算机图形学;也有探讨计算问题性质的计算复杂性理论;研究方向侧重不同,比如编程语言理论是研究描述计算的方法,而程序设计是应用特定的编程语言解决特定的计算问题,人机交互则是专注于怎样使计算机和计算变得有用、方便等等。这其中四个领域最为关键,分别是理论,编程语言,算法,数据构架。
2. 计算机工程
计算机工程(Computer Engineering,简称CE)是硬件和软件的结合,学生不仅仅要学习计算和编程,还要学习物理和电子电路这些知识。从本源上说,计算机工程是计算机科学和电子工程的交叉学科专业。因此,它更关注微处理器如何工作、设计以及优化,需要考虑如何在电子元件之间实现有效传输数据;如何设计电子元件的综合系统、如何处理软件内指令以及如何针对特定的硬件平台编写、编译和优化软件。计算机工程师更加专注于硬件和集成设备的开发和设计。
在加拿大大学里,计算机工程开设在工程学院,申请时不仅仅要求学生具备很好的数学基础,对高中理科课程也非常看重,其中物理成绩是最为重要的。
学习内容上的区别
1.计算机科学
整体上看,计算机科学非常依赖于数学基础,学习偏向以软件为主,对数学、算法、计算、模型等能力要求较高。计算机科学非常适合数学能力突出的学生。
计算机科学专业主要学习的内容包括但不限于:高等数学:微积分/逻辑/概率和代数,计算问题解决,数据结构和算法,高级软件开发,操作系统设计,用户界面/体验(UI / UX)设计,数据安全/防御性编程,人机交互(HCI)等。
当然,也会依据这些延伸出一些旁支的研究方向,比如网络和多媒体设计,移动应用开发,商业智能,数字安全/密码学,云计算,软件测试等等。学生可以作为选修课或者minor来选择。
2.计算机工程
计算机工程对于数学上的要求可能不如计算机科学那么高,但是对物理上的要求显然是更多的。主要学习的内容包括但不限于现代物理学原理,电子电路设计,计算机架构与设计,大规模集成电路,微处理器设计和接口,嵌入式计算机系统设计,数字信号处理,人工智能与机器人等等。
学生也可以选择侧重以下一些选修,辅修方向,如移动设备工程,用户界面设计,计算机辅助制图与设计,游戏硬件设计,微机电系统工程,生物医学工程等。
希望各位同学在阅读之后可以清晰的知道自己要学的方向~