学生该学什么专业课?
作为一个大学教了5年计算机科学概论(计算机原理、算法与数据结构、编程语言等)的计算机老师,我特别能理解题主现在的心情,因为当初我上大一的时候也特别想知道这个问题——我未来要学习哪些课程呢? 当时,我学习的计算机专业是刚刚从计算机科学与技术里面分出来的新专业,所以学校没有很多可以借鉴的经验来告诉我们这个专业的学生应该学哪些课。于是乎,我们班(包括我在内)的很多个同学都觉得大学四年应该是这样过的: 大一:学会C/C++,数据结构,编译原理,操作系统(以及这些课程的实验)大二,熟悉Java,Linux,数据库,算法,网络,汇编,离散数学,编译原理(及各种实习)大三,深入学习操作系统,分布式计算,机器学习,人工智能,区块链大四,做项目,写论文,实习就业 然而,并不是这样的。
首先,不同的学科对计算机的理解是不同的。例如我们学院的信息安全专业的同学们,他们需要学习大量的数学课程比如概率统计,运筹学,算法,数值分析等等,因为他们需要更加深入地学习密码学,入侵检测,信息安全法规等专业知识;而像我们计算机专业的同学就很少甚至几乎不学习这些高数类课程,因为我们认为编程和算法已经是我们的必修课了。
其次,每一个专业对计算机的要求也是不同。例如我们同属计算机学院的数字媒体专业,他们的主要课程就有设计基础,视觉传达,影视后期合成,三维动画制作,虚拟现实等等,因此他们学习的专业软件就包括PS,AI,PR,AE,Maya,Unity3d,BIM等等。 而我们计算机专业学习的专业软件就只有VS Code,Git,Github,Python,Pandas,Jupyter Notebooks,Anaconda。 所以回到你的问题,我认为你应该先弄清楚你要学的这个专业对计算机的基础要求是什么,然后再根据自己的兴趣广泛地涉猎其他相关知识。