中国的高校计算机教育存在哪些问题?

链接:https://www.zhihu.com/question/265513614

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

中国的高校计算机教育存在哪些问题,有哪些长处和不足之处?

作者:陶程
https://www.zhihu.com/question/265513614/answer/298047462

我说一下我本科学校存在的一些问题。不存在普遍性,清北复交自动绕行。

大一不让带电脑。

计算机技能类的课程考试像 Android / 网页前端 这种课全部是考试课。

上课不敬业,照着 PPT 念的老师不在少数。关键他还老点名。被他盯着了基本就挂科。

实验课一个 Java 的小程序,并不是很难。同学请教 Java 任课老师,老师硬是调不出来,声称很久没有调试过程序。

关于物理,电子这种科目的实验,要花很多时间来抄报告,而且必须手抄。

关于教材,有些课程都是强制用的任课老师出版的书籍。这些书的质量一言难尽。

学校教育和社会需求计算机人才脱节,只有有职业规划的同学才会找到满意的工作。非常有趣的是大四开设了大学职业规划课。这意味着在他开设职业规划课之前所有知名的互联网公司都已经基本招聘完毕。

把抓纪律这些放在首位。计算机专业的坐场。记得来过一个名人叫唐骏,何必请这种这么浮夸的人呢。抱歉,看了唐骏写的书,我犯尴尬。

保研的普遍代码实践能力不太强。

大四三个课程设计加毕业设计,外面有实习还不让走。实际的课设却又是非常之水。

即便是计算机学院,教学网站还是非常之烂。

作者:后村刘克庄
https://www.zhihu.com/question/265513614/answer/297488773

有些话没说明白,引起争议:
1.对于绝大部分人来说,没有代码量,也就没有编程能力;代码量上去了,编程能力自然就上去;代码量从来不是简单的堆砌,而是实打实地想出来敲出来做课设做项目整出来的。

2.我没说数电不重要,相反我认为数字逻辑很重要,计算机学的还不够,还要再加上硬件描述语言,方便以后学组成原理体系结构做实验!我说的是模拟电路和电路基础对计算机专业不再重要!我即使以后搞体系结构,搞指令集,也不会需要多少模电的知识。

3.我也从来没说基础不重要,我也知道本科是打基础培养兴趣的过程,我从来没有说哪门计算机科学的基础课不需要学。信息类专业的基础课有很多,固体物理是基础,工程电磁场也是基础,但计算机的不必要学。模拟电路和电路基础对于计算机的来说跟固体物理这种课没多大区别了,都是基本不会追究到的问题。相反,我认为应当削减这类课程开设大量数学课程或者其它信息类专业的课程,比如应用统计、应用随机过程、信息论,或者说把离散数学的每个模块都系统、深入地讲解,都比学电路模电更重要!这些同样是基础课,这些对计算机的来说甚至比电路模电更重要,但开设这些课程的学校很少!计算机科学的本质是计算科学,计算科学理应学更多的数学课程。以下是原回答。
----------------------------------------
1.代码量少。大学四年至少十万才合格。编程能力取决于代码量。如果计算机的同学编程能力差,那相对于电子、通信、自动化这些专业的合格学生没有任何优势,无论是搞大家都在搞的“AI”,还是在和抢饭碗的他们竞争的时候。不过值得庆幸的是计算机的同学编程水平虽然不高,电子通信自动化的同学编程水平更是惨不忍睹。这在国内高校从985到双非都普遍存在。

2.一个很严重的问题,就是学完程序设计、组成原理、操作系统、体系结构、编译原理这些课,无论学得好还是学的不好,就是在单纯地学每一门课,课程之间的联系还不是很懂。此外,CMU的那本《深入理解计算机系统》值得单独拿出来开一门课。

3.培养方案落后!电路基础和模电别学的太多!大学物理实验和实验报告太多!大学物理理论课太多!完全可以压缩出来两门课的时间,开设数学课或者比较前沿的课程!另外前面无用课太多导致许多专业核心课都挤到大三一年去学了!实际上在大三上学期之前就应该学完数据结构、数据库、操作系统、计算机网络、编译原理、组成原理体系结构、软件工程等课程的学习,最多留一门到大三下学期。大三下和大四上要么学前沿课程或者应用课程,要么就进行大量课程设计和实训锻炼!

作者:匿名用户
https://www.zhihu.com/question/265513614/answer/298051436

1.大学四年有的人可能还只识谭浩强,并且认为他写得很好。

2. 坚持用VC6.0,原因老师用这个,我就用这个,并且觉得VC很好用。从不知道打断点为何物。

3. 不晓得 github 为何物,StackOverFlow不知道,稀土掘金不知道,CSDN不知道,逼乎可能知道点。

4. 既然 github 都不知道,那课程设计代码从哪找呢?淘宝买。

5. 其实根本不用淘宝买,因为老师根本看不懂。C课程设计撸了个小游戏,老师说她会提需求让我们把程序改高深,MLGB她看了半天我的程序,然后让我把界面颜色改了。wtf?

6. 老师上课就念PPT,还是几年前的。无他,手熟,口熟尔,甚至有点飘飘然,小得意。

7. 考试笔试,计算机科学不上机编程考概念,真的服。

8. 还有很多同学认为这个专业是打游戏的,无fuck说,我建议去蓝翔上电竞专业。

想哭又想笑,垃圾大学,毁我……   算了,我是佛系青年!

作者:匿名用户
https://www.zhihu.com/question/265513614/answer/297808192

北航cs,不存在其他回答所说的代码量不够的问题。大二上,一周一个project,课下完成+课上测试,附有完整的查重系统,课上测试没通过下周只能继续做同一个,最后通不过6个就挂科。大二下,同样一周一个project,写三周休息一周,并且要互测,写文档,写博客。可以说大二一年下来工程能力代码能力得到了极大的提升。

下面说问题。首先该课程很大程度上是单纯以提高作业难度来企图达到提高同学能力的目的,却不从教学方式上寻求提升。大二下的object oriented design and construction,基本全是自学,然而给的完成时间太紧,导致同学们写出来的代码既不规范也不追求复杂度优化,单纯为了追求0 bug(不被扣分),大二上的计组,虽然设计合理,提高了工程设计能力,从最基础的与或门一步步搭建了五级流水线cpu+简单IO中断,但是这其中最难的流水线设计本身的知识用处却不大,我们却花了几乎半学期的时间来学习如何设计。要我说,如果计组能换成csapp(cmu 15213),那么效果会更好。

再一个就是对gpa不太友善,不过也没办法,gpa才是督促你努力的最大动力。

除了上面提及的两门核心课外,像最重要的系统课os,北航却做的不太好。我真的觉得应该把oo的时间分给os一些

作者:facetothefate
https://www.zhihu.com/question/265513614/answer/298854615

最大一个问题是不讲历史,也就是不讲why,只讲how。

如果你搞过科研,都知道做一个学问前要先发一篇论文叫做survey,讲讲这个课题的现状,问题,人们走过的弯路,发展,现在最好用的办法,以及他们的缺点和改进的方法。

然而我们的教育就是缺乏这点。其实有些历史讲出来起到的是事半功倍的效果,很多问题的成因本身就很令人着迷了。

举个简单的例子,很多人上大学都学过编译原理,大部分学的都是一头雾水,就光知道这个是做编译器的。但是你要讲清楚编译器怎么来的的,编译领域存在什么问题,我们的课本哪些部分正是解决这个问题的,人们就会容易理解的多。

再举个例子,很多大学都有讲数据结构,一上来就硬讲线性表,讲的一堆人一头雾水,这不就是c语言数组么,都学过了呀,咋又讲一遍?

其实这个问题不光是计算机科学有,数学也有,大家从小学数学,从来都是一上来下个定义,讲几条定理,然后就让你做题了,推导什么的是完全不会提的。一直一直在做的是直接给你一个解决方案让你记住,只要碰到xxx条件你就用就行了,不要问为什么,就你话多。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值