大学有没有必要开设软件框架课程,例如 SSM、Spring Boot 这种? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sang
V2EX    程序员

大学有没有必要开设软件框架课程,例如 SSM、Spring Boot 这种?

  •  
  •   sang
    lenve 2019-06-26 14:51:09 +08:00 8822 次点击
    这是一个创建于 2349 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 有人说大学打基础,问题是 开设了框架课程又不是不学习基础了,这个不冲突啊!

    2. 有人说大学开框架课,表示大学的没落。这个感觉有点上纲上线了。

    3. 有人说面试时候,大学生连排序算法有几种都说不对,面向对象特点不懂,设计模式都不懂,应该优先学这些。问题是这个跟学框架好像也没关系吧,排序算法不懂,设计模式不懂,这些学生估计代码都写不利索,并不是因为学习框架而荒废了基础吧?

    4. 很多人都是真正做了项目,才理解面向对象思想、才理解设计模式,这些单纯靠课堂学理论不容易学会吧

    5. 大伙都来说说!
    80 条回复    2019-06-27 15:12:34 +08:00
    jzmws
        1
    jzmws  
       2019-06-26 14:54:54 +08:00
    大学教的根本不够 ,只能自己学
    86091566
        2
    86091566  
       2019-06-26 14:56:15 +08:00   15
    没有必要,大学应该学怎么打地基,而不是学怎么挥锤子
    SingeeKing
        3
    SingeeKing  
    PRO
       2019-06-26 14:56:51 +08:00   2
    主要是技术更新太快,无论是新框架还是不同版本,开了也没多久就过时了

    至于让大学老师保持学习新技术。。。
    zhuweiyou
        4
    zhuweiyou  
       2019-06-26 14:58:00 +08:00
    老师哪会这么多新技术,都是用很久以前的东西给你讲...剩下都是自己学的
    guokeke
        5
    guokeke  
       2019-06-26 14:58:39 +08:00 via Android
    to2false
        6
    to2false  
       2019-06-26 14:59:52 +08:00
    自学,你的第 4 点也说明还是早点抓紧机会去实习比较好
    misaka19000
        7
    misaka19000  
       2019-06-26 15:00:47 +08:00   2
    可以作为一个实验课程,但不可以作为主要学科
    sang
        8
    sang  
    OP
       2019-06-26 15:01:11 +08:00
    @misaka19000 同意
    Takamine
        9
    Takamine  
       2019-06-26 15:05:01 +08:00
    没必要,老师可以提,但是作为课下学生自己的练习比较好。
    JellyDong
        10
    JellyDong  
       2019-06-26 15:10:36 +08:00
    很多东西还是靠自己,主观原因更重要一些
    cweijan
        11
    cweijan  
       2019-06-26 15:12:24 +08:00   1
    有必要的, 但这会降低现有程序员的竞争力
    chendy
        12
    chendy  
       2019-06-26 15:20:04 +08:00
    没必要专门教框架,带着做项目就行了,业务稍微复杂一点那种
    最好能从入学不久就开始做,做个三四年,中途所有的课程都有结合这个项目的实践内容啥的(太理想化了~
    reeco
        13
    reeco  
       2019-06-26 15:21:07 +08:00
    当然是没必要
    rogwan
        14
    rogwan  
       2019-06-26 15:22:03 +08:00 via Android
    大学还分本科,研究生,博士,本科阶段还是侧重通识教育。
    sagaxu
        15
    sagaxu  
       2019-06-26 15:24:55 +08:00 via Android
    没必要,这种太简单了
    qakito
        16
    qakito  
       2019-06-26 15:52:04 +08:00
    本科时上过 cobra 的课,当时连 java 也不会,直到现在除了这个缩写外一无所知。
    个人觉得,本科的计算机教育,还是注重基础通用,有了这些基础,学习其他东西才更透彻。
    比如微机原理,你用 MIPS 来学,以后接触到 ARM 的也不会太费劲。
    可以拿一个典型框架来学,从而由此及彼
    10Buns
        17
    10Buns  
       2019-06-26 15:52:30 +08:00
    本科的话通识教育,具体就是算法、语言基础好,然后知识面宽一点。应该就差不多了,其他的自己按照方向补充了。想去游戏公司和电商肯定侧重点不一样的
    guyeu
        18
    guyeu  
       2019-06-26 16:21:59 +08:00
    以我们为例,电子类专科大学的计算机学院有超过一半的人大学毕业之后根本不接触代码,即使依然在计算机行业工作、科研。技术型课程的特点是上手快,用面窄,迭代迅速,在大学开这类课只能说对走工程路线的少数学生有用。
    我觉得我们学校就权衡得不错,有网络计算课程,从 java+js+html+css 入手,介绍网络应用开发,有软件工程,从 UML+各种文档入手,介绍工程管理和实践,总共两学期两门课,一个正常的码农需要在大学里了解的也就这些了。
    vivino
        19
    vivino  
       2019-06-26 16:38:48 +08:00   1
    我觉得大学使劲刷算法就行,什么框架,设计模式都是可在工作中学习到的,但是上班了真的就没有心力去做算法了。而且刷算法题好评判,结果对了,速度越快越好,并且永远不过时,学框架的话,如果不凑巧的话,你大学里面成专家了,结果一毕业,这个框架被淘汰了,这就尴尬了。
    saluton
        20
    saluton  
       2019-06-26 16:49:57 +08:00
    许多学校还有 MFC 的课程呢,一门课教十年
    Hsinyao
        21
    Hsinyao  
       2019-06-26 16:56:43 +08:00 via iPhone
    没必要作为必修,可以作为软件工程的选修课来开
    harde
        22
    harde  
       2019-06-26 17:00:25 +08:00   4
    本来是去学画图纸的,你非要搬砖。
    salamanderMH
        23
    salamanderMH  
       2019-06-26 17:00:43 +08:00
    没必要吧
    qfdk
        24
    qfdk  
    PRO
       2019-06-26 17:01:00 +08:00
    自学吧 哈哈哈 可以来我这里买个源码学学也行 https://pay.qfdk.me/
    zuikren
        25
    zuikren  
       2019-06-26 17:01:02 +08:00 via Android
    自己学
    HytonightYX
        26
    HytonightYX  
       2019-06-26 17:09:11 +08:00
    没必要开这个课。
    学生可以根据自己的兴趣参加不同的实验室来做项目,据我所知,实验室做做项目基本都会用新技术和框架。
    crytis
        27
    crytis  
       2019-06-26 17:13:07 +08:00 via iPhone
    大学学这个?这可是大学。。
    stephen9357
        28
    stephen9357  
       2019-06-26 17:15:53 +08:00
    没必要,同一个班又不是同一个岗位,你是讲前端还是后台?老师可以提一下,让大家作为选修课或者自己课外提高的内容。
    MotherShip
        29
    MotherShip  
       2019-06-26 17:53:25 +08:00
    SSM 和 SBoot,你要说简单确实简单,按官方文档搞几个配置文件就行,SBoot 甚至配置文件都不怎么需要

    你要说困难,能够能带着学生调试、分析源码,讲解代码的设计理念和目的的老师。。以及能跟上进度的学生。。也确实不多。。
    Death
        30
    Death  
       2019-06-26 19:35:44 +08:00 via Android
    大学不是培训班
    zjp
        31
    zjp  
       2019-06-26 19:43:46 +08:00
    我们学校(普通一本) SOAP 也讲不好,这都十几年前的东西了,而且确实也没有适合做教材的书
    Spring boot 要打开官方文档讲课吗...
    linZ
        32
    linZ  
       2019-06-26 19:47:13 +08:00
    可以啊,带着大家做个项目,然后带着大家看源码,最后让大家设计一个框架就可以啦(????
    zjsxwc
        33
    zjsxwc  
       2019-06-26 19:48:27 +08:00
    大学期间没必要学,
    把基础的算法、数学等学好就行,
    框架这种变起来很快的,最初版和几年后的版本大变样也很常见。
    xyooyx
        34
    xyooyx  
       2019-06-26 20:24:08 +08:00
    大学应该学怎么手写红黑树,狗头
    sang
        35
    sang  
    OP
       2019-06-26 22:53:29 +08:00
    @MotherShip 老兄说的到位!
    inhzus
        36
    inhzus  
       2019-06-26 23:10:13 +08:00
    学校有 Hadoop MapReduce 相关的大实验课程,事实上老师教的知识量在工作后可能用不了几天就能完全掌握,实验难度也只能算勉强学个皮毛
    JerryCha
        37
    JerryCha  
       2019-06-26 23:17:55 +08:00
    项目是必须要做的,框架是不一定要教的。
    但是必须要求每一行代码都必须理解发生了什么才是重要的,作业一对一面试,老师现场变更需求让学生现场修改作业代码。
    KinneyZhang
        38
    KinneyZhang  
       2019-06-26 23:32:19 +08:00 via iPhone
    可以开设框架概述课程,讲解框架的一般设计原理等。不过貌似没有这门课
    russian
        39
    russian  
       2019-06-26 23:47:59 +08:00
    培训班学这个还可以。

    科班你学这个?。。。
    zhuangzhuang1988
        40
    zhuangzhuang1988  
       2019-06-26 23:51:20 +08:00
    没有必要,大学书好好看看就差不多了。
    csynb
        41
    csynb  
       2019-06-26 23:55:10 +08:00 via iPhone
    @JerryCha 培训班就是这个模式吧
    unhumanplane
        42
    unhumanplane  
       2019-06-27 00:01:26 +08:00
    就算大学不教,校招的时候企业还是会考察,在大学就混工作室或者自己接项目的会相当有优势,所以得自己去学,当年我就是脑抽了只会肝 leetcode 和数据结构,不怎么看这种框架,然后面啥都跪,还好最后被个大佬捡去做 dl 调包侠了......个人觉得这种东西应该嵌入到软工或者 java 后面来增加内容,让不会自己主动去学的学生至少能毕业就能干活。当然对于面向科研的同学这些东西完全就是浪费时间。
    feather12315
        43
    feather12315  
       2019-06-27 00:15:46 +08:00 via Android
    @unhumanplane #42 对科研的算不上浪费时间哦。工程能力那么差劲,实现与做实验怎么讲究精确?
    unhumanplane
        44
    unhumanplane  
       2019-06-27 00:54:37 +08:00
    @feather12315 对于搞深度学习的会个 flask 出接口都足够了,显然不必花一堆时间学 spring 全家桶或者 vue,实现的时候有一点计算机基础的学点轻量框架也很快,我见过几个写 A 类论文的大佬前后端全栈,不过也见过 postget 分不清的搞工程的大佬。
    jadec0der
        45
    jadec0der  
       2019-06-27 01:05:07 +08:00 via iPhone
    当然没必要。带学生设计框架还可以,教学生怎么用这些框架实属浪费老师和学生的精力,正经公司校招也不会要求这些。

    当然,月薪三五千的搬砖工作可能还是需要的,只是老师并不会去迎合这些职位。
    gavinjou818
        46
    gavinjou818  
       2019-06-27 01:28:38 +08:00 via iPhone
    感觉上了如果你还年轻,才大一 大二 不建议学框架,不如打地基 随要随用。大三 大四找工作 就必要啦 其实感觉 spring 会一直。代码思想还是值得学习 哪怕淘汰
    wizardoz
        47
    wizardoz  
       2019-06-27 09:00:00 +08:00
    涉及到框架其实很多内容就要谈到业务了。大学里面的学生没有那么多时间和精力去涉足各种业务逻辑,而且以后没有进入同样行业的话业务逻辑学了意义不大。
    thinkmore
        48
    thinkmore  
       2019-06-27 09:34:06 +08:00
    教你用还不如自己学
    wly19960911
        49
    wly19960911  
       2019-06-27 10:06:54 +08:00
    课程说句实话, 没意义......

    就大学里面涉及业务涉及设计模式加上框架....工作的人要写出好代码都是几天, 大学一节课多少时间,还要让学生跟得上. 这有意义吗? 不如老师告诉你怎么折腾框架,然后自己学习
    wbf1013
        50
    wbf1013  
       2019-06-27 10:08:07 +08:00
    你想学的 老师都不会
    ruyuejun
        51
    ruyuejun  
       2019-06-27 10:33:06 +08:00
    曾几何时,我一度认为大学的计算机教育非常失败,当年流行的 ssh 在学校从未有人提及,学的总是让人摸不着头脑的数据结构,微机原理。现在为当年的想法惭愧,大学应该是基础通识知识建立的时段,虽然可能枯燥也没有很多应用场景,但是这些知识到最后将决定最终的上层建筑。
    tailf
        52
    tailf  
       2019-06-27 11:21:23 +08:00
    真实情况是大学老师学习速度跟不上
    piaochen0
        53
    piaochen0  
       2019-06-27 11:25:12 +08:00
    恕我直言,大学老师里面真正有实战经验的很少,就算讲框架,也就只能照本宣科。这样根本毫无意义。
    除非真的搞个项目大家一起做。
    我们大学教编程的,自己是搞.net 的,跟我们讲 java,上机课连最基本的问题都调试不对。
    lazyfighter
        54
    lazyfighter  
       2019-06-27 11:29:24 +08:00
    大学教你的是通用基础知识
    libook
        55
    libook  
       2019-06-27 11:53:28 +08:00
    大学时候的老师说过一句话对我影响特别深:“一个技术人员的优秀不在于会多少语言、库、框架,在于是否可以解决问题。”
    工作几年的感受是,用到的大学课程里学的知识基本上就只有计算机组成原理、计算机网络、离散数学、数据结构与算法、操作系统、C 语言(了解程序较底层原理,又不像汇编那样无人性),我的意思是说,大学的时候也学了几种高级编程语言以及一些框架和库,但工作后发现学校里学的很多都被新技术取代了。为什么前面几种基础课程反而用到一些了呢?个人认为那几种基础课程教的更多的是思想,而思想是跨语言、框架、库的,且永不会完全过时的。

    所以大学里可以教框架,但是除非是定向培养的情况(如外包公司合作),建议侧重教框架思想,工程上出现了什么问题,以及框架是如何解决问题的,这样学生们掌握的就不是框架的用法了,而是解决问题的思想了。
    hanxiaomeng
        56
    hanxiaomeng  
       2019-06-27 12:23:48 +08:00
    软件工程。。。不接触实际工程,学个鸡毛工程啊
    SunFarrell
        57
    SunFarrell  
       2019-06-27 12:29:51 +08:00
    成本问题,基础只有在大学学习才能轻松学好,你说的那些,边工作边学也挺轻松,只有当你发现基础没打好时,边工作边学基础,你就知道前面我为什么说轻松
    chanchan
        58
    chanchan  
       2019-06-27 12:32:19 +08:00
    借这个讲讲软件设计 工程等等还是可以的,讲 api 的话还是算了
    wc951
        59
    wc951  
       2019-06-27 13:12:27 +08:00 via Android
    没必要,最多搞个课设让你自己去研究就够了
    SirLostWhite
        60
    SirLostWhite  
       2019-06-27 13:17:04 +08:00
    技术更新太快了,教材没法编辑,技术还是要自己学
    marlondu
        61
    marlondu  
       2019-06-27 13:25:37 +08:00
    完全没有必要,这种框架的东西只是一个工具,随时可能被另一种框架替代,大学一是打好基础,而是学会 how to learn. all right?
    zdnyp
        62
    zdnyp  
       2019-06-27 13:29:02 +08:00
    可以是课后作业,感兴趣的自然去学,就像数学一样,就是用来淘汰一部分人的(很片面。
    mnzlichunyu
        63
    mnzlichunyu  
       2019-06-27 13:48:21 +08:00
    在大学里代码只是表达问题解决方式的途径之一,重要的是解决方法而不是表达方式,要分清轻重缓急。
    cherryas
        64
    cherryas  
       2019-06-27 13:49:00 +08:00
    其实很有必要,但是问题是部分老师自己学不会
    1a0ma0
        65
    1a0ma0  
       2019-06-27 13:56:23 +08:00
    大学教育不是职业培训。
    PikuYoake
        66
    PikuYoake  
       2019-06-27 13:57:58 +08:00
    当然有用啦,SSM 也好 SSH 也好,重点不是如何用,而是讲解 java WEB 工程化的思想,如何用编程的角度去解决问题。框架理论课和实践课都是必要的。同时,如果学生有潜力能举一反三,那么在同类型的框架过渡将会特别快。往往看看文档就能上手。
    然而国内大学很多都停留在第一步,老师自己都仅仅只会用,都是一知半解的讲。
    总结:想法是好的 执行力达不到标准
    trn4
        67
    trn4  
       2019-06-27 14:05:59 +08:00 via iPhone
    开一门如何设计框架还有点意思,如何用框架?有这时间不如去上如何阅读英文文档。
    trn4
        68
    trn4  
       2019-06-27 14:06:54 +08:00 via iPhone
    开一门如何设计框架还有点意思,如何用框架?有这时间不如去上 如何阅读英文文档。
    trn4
        69
    trn4  
       2019-06-27 14:07:13 +08:00 via iPhone
    开一门如何设计框架还有点意思,如何用框架?有这时间不如去上上如何阅读英文文档。
    trn4
        70
    trn4  
       2019-06-27 14:08:29 +08:00 via iPhone
    抽风,发重了
    jingyulong
        71
    jingyulong  
       2019-06-27 14:10:19 +08:00
    没必要,基础一定要扎实。教你如何设计图纸,而不是如何搬砖。

    框架这种东西,在大学算附加题,有能力的自然会自己学,没有什么难度。
    fengyj
        72
    fengyj  
       2019-06-27 14:12:31 +08:00 via Android
    这些一应该是自己课后自学的吧

    还有很多语言其实都应该自学,大学更多是教基础和底层的课程 。我 node,golang,PowerShell,shell 都是课后学的
    glasslion
        73
    glasslion  
       2019-06-27 14:16:05 +08:00   1
    可以,MIT 不照样开 iOS App 开发、RubyOnRails 的课

    我觉得楼上大部分反对意见,是基于国内高校的现状, 开这类课往往内容过时,没有深度, 一学期的课交给自学能力强的学生几天就能自学完, 浪费时间罢了
    sola97
        74
    sola97  
       2019-06-27 14:26:26 +08:00
    我觉得基础课也没讲清楚,设计模式到头来还得自己学
    DragonQuestMaou
        75
    DragonQuestMaou  
       2019-06-27 14:32:07 +08:00
    这得多野鸡的大学才搞这种事情?
    littleshy
        76
    littleshy  
       2019-06-27 14:37:39 +08:00
    学设计模式,不学框架。
    Binb
        77
    Binb  
       2019-06-27 14:44:51 +08:00
    个人觉着没必要,学校下打好基础。学校的东西好重要,当时都觉着没用
    yaaaaaak
        78
    yaaaaaak  
       2019-06-27 14:47:46 +08:00 via iPhone
    可以考虑 n 选 1 做一次期末课题,开课程就没必要了。
    q397064399
        79
    q397064399  
       2019-06-27 15:01:07 +08:00
    @86091566 你说的好像斯坦福天天在挥锤子了? IOS 的课程都更新到 IOS12 了
    流行框架中对多年工程经验的积累,以及新的工程思想约定大于配置 这些东西都是你丢进历史垃圾堆的东西了?

    国内教育落后时代,这是众所周知的事情,拿着 红黑树 /数据结构算法 计算机体系结构原理 来做挡箭牌? 培养的人出了学校到了社会 工作中还是花猫不像虎就说是学生的事情了?我先不说大家在工程项目中有多少时间会用到这些低层面的知识,就从业人员来讲,真正做 编译器 操作系统 底层硬件系统的人 是少之又少。

    高校争的是学术高下 无可厚非,但是学生最后都是要加入就业市场的,流行框架中并不是一无是处,很多新的理念 以及工程中的最佳实践认知 都是非常宝贵的经验,教会学生挥舞大锤子 是产业当前就业岗位的实际情况所限。
    xFrye
        80
    xFrye  
       2019-06-27 15:12:34 +08:00
    题主的疑问我以前也想过,后来发现实在没必要,大学专业课只需要把计算机的基础教好就行了,框架就算学校不教,基础打好然后去入门这些分分钟的事情。

    但是大学课程确实跟实际工作有点分离了,要是能稍微作出延伸,讲述下应用场景可能会更好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1075 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 17:37 PVG 01:37 LAX 09:37 JFK 12:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86