中国的高校计算机教育存在哪些问题？
有些话没说明白，引起争议： 1.对于绝大部分人来说，没有代码量，也就没有编程能力；代码量上去了，编程能力自然就上去；代码量从来不是简单的堆砌，而是实打实地想出来敲出来做课设做项目整出来的。 2.我没说数电不重要，相反我认为数字逻辑很重要，计算机学的还不够，还要再加上硬件描述语言，方便以后学组成原理体系结构做实验！我说的是模拟电路和电路基础对计算机专业不再重要！我即使以后搞体系结构，搞指令集，也不会需要多少模电的知识。 3.我也从来没说基础不重要，我也知道本科是打基础培养兴趣的过程，我从来没有说哪门计算机科学的基础课不需要学。信息类专业的基础课有很多，固体物理是基础，工程电磁场也是基础，但计算机的不必要学。模拟电路和电路基础对于计算机的来说跟固体物理这种课没多大区别了，都是基本不会追究到的问题。相反，我认为应当削减这类课程开设大量数学课程或者其它信息类专业的课程，比如应用统计、应用随机过程、信息论，或者说把离散数学的每个模块都系统、深入地讲解，都比学电路模电更重要！这些同样是基础课，这些对计算机的来说甚至比电路模电更重要，但开设这些课程的学校很少！计算机科学的本质是计算科学，计算科学理应学更多的数学课程。以下是原回答。 ---------------------------------------- 1.代码量少。大学四年至少十万才合格。编程能力取决于代码量。如果计算机的同学编程能力差，那相对于电子、通信、自动化这些专业的合格学生没有任何优势，无论是搞大家都在搞的“AI”，还是在和抢饭碗的他们竞争的时候。不过值得庆幸的是计算机的同学编程水平虽然不高，电子通信自动化的同学编程水平更是惨不忍睹。这在国内高校从985到双非都普遍存在。 2.一个很严重的问题，就是学完程序设计、组成原理、操作系统、体系结构、编译原理这些课，无论学得好还是学的不好，就是在单纯地学每一门课，课程之间的联系还不是很懂。此外，CMU的那本《深入理解计算机系统》值得单独拿出来开一门课。 3.培养方案落后！电路基础和模电别学的太多！大学物理实验和实验报告太多！大学物理理论课太多！完全可以压缩出来两门课的时间，开设数学课或者比较前沿的课程！另外前面无用课太多导致许多专业核心课都挤到大三一年去学了！实际上在大三上学期之前就应该学完数据结构、数据库、操作系统、计算机网络、编译原理、组成原理体系结构、软件工程等课程的学习，最多留一门到大三下学期。大三下和大四上要么学前沿课程或者应用课程，要么就进行大量课程设计和实训锻炼！ （2022年3月）根据技术的发展，附上本人认为的合理的计算机科学与技术培养方案： 主要培养基础计算机科学能力，加强对计算机算法分析设计、计算机体系结构的理解，加强离散数学系列课程学分，降低电路、物理课程学分。 一、数学物理基础类： 1.微积分上、下（5+5学分） 2.线性代数（3） 3.概率统计与随机过程（4） 4.离散数学（3+3+2，三门课分两学期上完，主讲数理逻辑集合论图论、抽象代数数论基础与密码学应用、组合数学） 5.数值计算（2） 6.复变函数与数理方程选讲/信号处理基础（3，二选一） 6.物理选讲上下+实验（2.5+2.5+1+1） 合计37 二、电子与计算机基础课 1.程序设计与综合实训（4+2+2，连续三个学期） 2.数据结构（3.5） 3.电路与模拟电路基础+实验（3+1） 4.数字电路与逻辑设计（4+1，要讲授硬件描述语言） 5.计算机组成原理与实验（3+1） 6.数据库原理（4） 7.操作系统（4） 8.形式语言与自动机（2） 9.计算机网络（3.5） 合计38 三、专业课程 1.计算理论与算法分析（4） 2.编译原理（3.5） 3.计算机体系结构（4） 4.模式识别与机器学习（3.5） 5.并行计算与多核编程（3） 6.大数据与云计算（3） 7.数据挖掘与大数据实践（3） 8.计算机系统设计实践（3） 9.人工智能原理+实践（5,符号主义_+行为主义+联结主义） 10.软件工程（3） 合计35 四、专业方向选修课（略，两门即可） 