V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cpygui
V2EX  ›  程序员

大学里的计算机相关课程值得上吗?还是靠自学就可以掌握的

  •  
  •   cpygui · 2015-11-02 03:17:17 +08:00 · 6825 次点击
    这是一个创建于 3343 天前的主题,其中的信息可能已经有所发展或是发生改变。
    学了两门基础的 C 编程和数据结构的课。朋友劝我说若对编程感兴趣的话,可以多上几门计算机选修课,可我想选修几门机械类的课,毕竟大型机床很少有机会接触到。。。。
    所以我想问下,自学编程比上课有什么优势和劣势吗?

    先谢谢各位了
    第 1 条附言  ·  2015-11-02 18:42:49 +08:00
    题主目前是 EE ,既可以像机械(Mechatronics)发展也可以向码农发展。
    目前学了一门 computer architecture 的课, lab 用的是开源的 simple scalar ,目前在写 branch predictor 。。。
    老师提出的目标是 1000 次预测只能错两次,感觉好难。。。。。
    55 条回复    2015-11-03 00:54:38 +08:00
    yujia
        1
    yujia  
       2015-11-02 03:26:49 +08:00 via iPhone
    上课,就算你自己大部分都已经掌握了,想要拿满分还是不得不付出很多的努力。可能会更好的强迫你去学习吧
    Automan
        2
    Automan  
       2015-11-02 03:29:19 +08:00
    更加系统 更加全面
    sogisha
        3
    sogisha  
       2015-11-02 04:49:04 +08:00
    楼主如果不是搞机械,就别往里跳坑。
    大型机床也不是你选了几门机械类的课就能玩转的。何况很少有机会接触到的东西多了去。
    编程你可以自己学会,但是要拿学分,就还得上课。
    cxbig
        4
    cxbig  
       2015-11-02 05:51:45 +08:00
    上课速度无法根据个人情况调整,教学内容相对落后于实际运用。
    你有兴趣自学,那是再好不过,网上的信息更新更快更全面,找合适的资料跟着练最好。
    qdwang
        5
    qdwang  
       2015-11-02 07:57:13 +08:00 via Android
    完全可以自学 楼主去上大型机床课吧
    hzgmaxwell
        6
    hzgmaxwell  
       2015-11-02 08:01:43 +08:00 via Android
    值得上,但如果要机床课对你更重要,就自学吧
    vietor
        7
    vietor  
       2015-11-02 08:05:17 +08:00 via Android
    算法与数据结构可以上,语言自学。语言可能是最没意思的东西了,一堆库的用法
    CGuoL
        8
    CGuoL  
       2015-11-02 08:06:15 +08:00 via iPhone
    😓学渣路过不说话
    nevin47
        9
    nevin47  
       2015-11-02 08:13:31 +08:00 via Android   ❤️ 1
    算法类乃至数据挖掘一类的课就去上吧,自学的话只有皮毛,遇到负责任的大牛老师相当于节节课在听专题,不要太酸爽
    lolicon
        10
    lolicon  
       2015-11-02 08:17:59 +08:00
    学校给予的资源就好好利用吧,往往会出其不意
    一年前口语课是第一节所以天天后排回笼觉,结果半年后雅思口语考试时才知道那个老师是考官。有个每次都和老师互动的女生,虽然口语万年 5.5 ,碰上口语老师当考官那一次,直接 6.5 送走。然后被告知不能给到 7 ,给到 7 需要被二次审查。
    demonchang
        11
    demonchang  
       2015-11-02 08:29:57 +08:00 via iPhone
    课程好好学。其余时间多动手。学校学的都是基础一定要掌握
    yuriko
        12
    yuriko  
       2015-11-02 08:36:57 +08:00
    报课的根本原因只是希望有个 deadline 督促自己学习罢了……
    学习还是靠自己……

    不过有时候碰到些神老师也有惊喜
    gaohongyuan
        13
    gaohongyuan  
       2015-11-02 08:44:42 +08:00
    为什么没有人问楼主的专业= =

    如果以后读研想转计算机的话,最好去修一下算法、操作系统、编译原理、离散数学等课程。
    littlekid
        14
    littlekid  
       2015-11-02 08:49:19 +08:00
    看老师,有些老师只会照本宣科,读 ppt
    qyz0123321
        15
    qyz0123321  
       2015-11-02 08:51:47 +08:00
    LZ 看了 zhihu 的帖子想自己造机床?
    raiz
        16
    raiz  
       2015-11-02 08:59:50 +08:00
    看老师, 看老师, 看老师
    youxiachai
        17
    youxiachai  
       2015-11-02 09:14:36 +08:00
    机床...这个真的只能上课...工作...自学搞不了..没设备..
    harry890829
        18
    harry890829  
       2015-11-02 09:19:54 +08:00
    任何知识都是能够通过自学取得的,特别像现在这种互联网发达的年代,不过好的老师确实能够节省很多时间,刚才有个朋友说看老师,确实如此,上课不是重要的,重要的是和老师搞好关系,在需要指导的时候,有一个引路人,这样是最好的。
    大学老师在上课的时候是挺糊弄的,不过如果发现有热情多学的时候,也会提供很多帮助的
    pheyer
        19
    pheyer  
       2015-11-02 09:22:50 +08:00
    还有一个角度:计算机课程就算自学网上也有大量视频,不愁没老师,机械的估计就不行了
    Darin
        20
    Darin  
       2015-11-02 09:24:49 +08:00
    就看自己想做什么了。
    tabris17
        21
    tabris17  
       2015-11-02 09:27:13 +08:00
    读书无用
    天才不需要读书
    自学效率更高
    大二就可以退学了,两年该学的都学好了
    然后可以自己创业
    出任 CEO
    迎娶白富美
    走向人生的巅峰……
    jackgxc
        22
    jackgxc  
       2015-11-02 09:31:33 +08:00
    上一上还是有好处的 只不过有的老师会比较水 有的老师讲的都是错的 但是能发现老师讲课中的错误 也是一种进步的方式 不是吗~
    如果是真心对计算机感兴趣 又想学点东西 就去蹭一下讲的好的老师的课 学分够的情况下就别选修了 别给自己增加课业负担 蹭课反正不需要考试 相对来说轻松一些~
    knktc
        23
    knktc  
       2015-11-02 09:33:59 +08:00
    好好学习吧,我就不是科班出身的,现在有些算法啥的就很难掌握(虽然基本都是用人家成熟的开源的方案)
    visionsmile
        24
    visionsmile  
       2015-11-02 09:46:40 +08:00
    我觉得如果学校牛逼(也意味着资源..),而且课你也感兴趣是可以去上的,但是像我们这样学校不好课程太水的,我从来没去上过好嘛....
    shakoon
        25
    shakoon  
       2015-11-02 10:01:09 +08:00
    作为一个面试者对待只学过少数某种语言相关知识的半路出家的开发者,只会安排到初级岗位上去。到了高级开发岗、系统分析、架构设计级别,没有系统的基础知识根本做什么都是雾里看花。
    visionsmile
        26
    visionsmile  
       2015-11-02 10:09:28 +08:00   ❤️ 1
    其实我觉得吧,自学的学习质量更好,但是容易迷茫(因为很容不知道自己该学什么了或者学这玩意儿有什么用...),如果有老师的话先不论老师水平高低,最起码有些问题可以给你答疑(方向)。
    层主刚上大学的时候也在纠结这个,当时自从我上了一个月的课我决定全翘了(一是基本教的东西我都学过了语法 /基础数据结构,二是教的内容都太浅显了...(但是以前没接触过编程的同学内心是崩溃的..)我觉得浪费时间才翘...)
    但是翘归翘也不能出去泡妹子不是(胡说!哪有妹子可泡),就自己买书看吧。
    去年过年的时候带回家的书(提前打包回家,整个大学感觉最有意义的就是忙里偷闲看了这么多书了(还撸了几年代码,但是层主早有女票了,哈哈哈)...)
    曾经哥也是爱好文学的汉子(不,是文青),现在完全都看不下去了....
    ![]( http://7xilo9.com1.z0.glb.clouddn.com/v2ex-image-psb%20(1).png)
    放满了一整个行李箱,等我驼到家都快累死了。
    下面是最近在撸的书,边撸算导边刷 leecode ,简直酸爽!
    ![]( http://7xilo9.com1.z0.glb.clouddn.com/v2ex-image-IMG_20151102_094857.jpg)

    我还是想告诫楼主一句,如果你想评奖学金 /评优评先的话就当我上面什么都没说..........
    还有,不要太 care 成绩(当然你的基础一定要不错,因为有的学校成绩不完全是看分数,还有考勤等等...)(我们是面向技术学习不是面向分数:-D ),要工作了才发现,公司谁屌你专业课多少分,把你做过的项目拿来!!
    visionsmile
        27
    visionsmile  
       2015-11-02 10:11:56 +08:00
    @shakoon 这里说的不是自学和上课的权衡问题嘛..
    自学也可以系统地学习啊(当然容易搞懵..),看个人吧
    qinenqiang
        28
    qinenqiang  
       2015-11-02 10:24:47 +08:00
    确实,感觉得看老师…
    kaedea
        29
    kaedea  
       2015-11-02 10:39:27 +08:00
    清华大学出版的那本 C++教程可把我害惨了
    watzds
        30
    watzds  
       2015-11-02 10:43:44 +08:00 via Android
    @kaedea 清华出版社很多垃圾书,当年有本算法教材,全是 bug
    wipen
        31
    wipen  
       2015-11-02 10:43:49 +08:00
    @shakoon 从学校出来也没几个能直接做系统开发、架构师和高级工程师的。大家都上课了,一样是做初级开发工程师,想要升级更多的是依赖自学。
    反正我们学校开了那么多门软件工程的课,没讲过代码整洁之道,没听说过设计模式。老师带的项目基本不考虑代码整洁度、效率什么的。
    学校里的计算机课,听不听的也就那样吧
    hantsy
        32
    hantsy  
       2015-11-02 10:52:29 +08:00
    现在网络方便了,如果觉得中国学校教育不行,看看国外网络教学视频,麻省,哈佛大学的计算机课程。
    visionsmile
        33
    visionsmile  
       2015-11-02 10:59:56 +08:00   ❤️ 1
    @kaedea 这点一定要说!!!
    当年我初三拿着攒了俩星期的零花钱去买了号称“销量达到 1000W 册”的,谭浩强《 C 语言程序设计》(还有习题册!!),我竟然极其认真地看完了!!!
    附图(忽略层主初中的烂字):
    ![c 语言程序设计]( http://7xilo9.com1.z0.glb.clouddn.com/tan-c-IMG_20151102_105339.jpg)
    ![c 语言程序设计]( http://7xilo9.com1.z0.glb.clouddn.com/tan-c-IMG_20151102_105352.jpg)
    ![c 语言程序设计]( http://7xilo9.com1.z0.glb.clouddn.com/tan-c-IMG_20151102_105401.jpg)
    但是当我看到 CPP ( C PRIMER PLUS )的时候,我才真正感觉到了老谭深深地恶意,简直坑爹啊。
    那种坑爹的命名方法和错误语法纠正起来很痛苦的好嘛!!
    还有,习题集错误一大堆好嘛,答案和代码的结果都不一样的好嘛,经常看的自己都怀疑人生了!!
    现在我就是逢谭必黑。
    chinajik
        34
    chinajik  
       2015-11-02 11:00:26 +08:00
    无论想怎么自学。。还是要上课。。。
    bibizhang
        35
    bibizhang  
       2015-11-02 11:03:36 +08:00
    学机械吧,振兴我国制造业。
    cdffh
        36
    cdffh  
       2015-11-02 11:11:08 +08:00
    看老师.
    Cu635
        37
    Cu635  
       2015-11-02 11:39:21 +08:00
    lz 本身是什么专业的?计算机相关的课要选修,为什么机械类的也是要“选修”?
    tuoxie007
        38
    tuoxie007  
       2015-11-02 11:44:13 +08:00 via iPhone
    你想当程序员干嘛要去玩机床我问你…
    jadecoder
        39
    jadecoder  
       2015-11-02 12:23:06 +08:00
    我上大学的时候还找人打听过能不能蹭金工实习,可惜啊
    505243267
        40
    505243267  
       2015-11-02 12:27:21 +08:00
    先去上几节课,看看老师助教水平怎样,好的话就自学+私下交流喽。
    当时 C 语言的助教是位百度员工。。。
    unknownservice
        41
    unknownservice  
       2015-11-02 14:17:33 +08:00
    计算机专业课可以选来上上,公选就算了,讲的还不如你自己看书来得多。
    所以,楼主你到底是什么专业的啊……
    gauzeehom
        42
    gauzeehom  
       2015-11-02 14:27:49 +08:00
    你高兴就好
    zx120120
        43
    zx120120  
       2015-11-02 15:51:54 +08:00
    大学课程的目的是让绝大多数的同学都能学会,如果自觉智商不显著低于周围同学的话,通过上课学习其实就是浪费自己的时间。

    (当然,若是有水平高的老师能讲的很深入,讲课内容显著的超出了大半同学的水平,还是值得听的。)

    -------------------------------------

    给 lz 的建议是, 入门的话,建议往 ACM/ICPC 方向水,这几乎是效率最高的入门方法了,差不多铜牌实力就可以停,不一定要去拿奖,这个过程大概四个月左右,之后保你切 leetcode 分分钟,且码力(特指逻辑以及算法这方面)会有大的提升。(然后就可以无视 C 语言课,数据结构课,算法课了)

    再之再花半年时间浏览各种在线课程,此时只要广度不需要深度,找到兴趣点。(千万不要一开始停留在"写个炫酷的网站"上,就算是真爱 Web 开发,也请绕上一圈逛逛看看,再回来深入学。)

    找到兴趣点后,理论上你就知道该怎么去学了。
    yqowen
        44
    yqowen  
       2015-11-02 15:54:13 +08:00
    不同学校,不同方向有不同选择,比如偏硬件还是偏软件。有时间其实也可以通过网易公开课这种形式去学习。当然大学里自己去选修还能有学分可能是你考虑的吧。
    66beta
        45
    66beta  
       2015-11-02 15:55:18 +08:00
    自己感觉下来,先自学,然后听老师讲,才能真的理解
    Marfal
        46
    Marfal  
       2015-11-02 15:59:30 +08:00
    看老师,看学生,看学校。

    最重要的是学生,也就是看智商,看你的领悟能力。在互联网如此发达的今天,实在找不出理由说资源匮乏,但是眼前这么多资源如何合理安排来消化利用,确实每个人的差别是很大的。
    ichigo
        47
    ichigo  
       2015-11-02 16:54:26 +08:00
    遇到负责的老师,真的是一笔财富。
    数据结构一定要好好学,这个是编程精髓。
    cheng007
        48
    cheng007  
       2015-11-02 17:08:55 +08:00
    计算机图形学,编译原理,计算机操作系统里面有太多东西了
    ljcarsenal
        49
    ljcarsenal  
       2015-11-02 17:20:17 +08:00
    @kaedea 邓俊辉的那一本么 ?
    chocotan
        50
    chocotan  
       2015-11-02 17:33:55 +08:00
    自学可以掌握
    wizardforcel
        51
    wizardforcel  
       2015-11-02 17:34:41 +08:00
    不是必修课,也不需要充学分的课,一定要自学。不会自学的人从事不了 IT 岗位。在学校有老师,以后去公司呢?所以一定要现在就培养自学的习惯。

    编程和开发( web 和移动)一定要自学。这部分东西模式都是固定的,也就是搬运和堆积 api 。也就是说,你掌握了一门语言 /框架,完全可以拿已有的经验来使用新的语言。这个要是自学都学不会的话,如何应付从业之后要学习的海量框架?

    基础知识可以自学也可以听课。看你们的课程质量了,有些学校的课程有 lab ,最后可以写出来一个与课程内容相关的东西,这样的就可以去听。如果是照着念 ppt 的,还不如自己拿本书看。
    wizardforcel
        52
    wizardforcel  
       2015-11-02 17:40:57 +08:00
    除了自己看书,还可以听一听网易云课堂的公开课,来弥补不能接受语音教学的损失。我不知道题主的大学怎么样,反正不是 top5 应该都不如云课堂上面的课程质量。

    另外,一切学习要通过造轮子来检验。比如算法去刷 oj ,组原写个 pipleline , os 写内核写文件系统,编译写 parser 等等。不要手懒。
    TheOtherBruce
        53
    TheOtherBruce  
       2015-11-02 17:50:22 +08:00
    @lolicon :) 决定去蹭外语学院的口语课了
    aljun
        54
    aljun  
       2015-11-02 18:06:41 +08:00 via iPhone
    @kaedea 浩强哥哥,哈哈哈哈哈哈哈哈
    xieyudi1990
        55
    xieyudi1990  
       2015-11-03 00:54:38 +08:00 via iPhone
    simplescalar... 以前上体系结构时玩过
    这么高的命中率, 不考虑资源, 直接一个大 GAg 预测器
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1010 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:07 · PVG 05:07 · LAX 13:07 · JFK 16:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.