https://courses.ece.cmu.edu/

    作者:局关THU
    链接:https://www.zhihu.com/question/37321190/answer/1632817078
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    翻了下CMU这边CS本科生的培养方案,跟国内CS本科培养方案还是有些不一样的,具体如下:
    (大部分CMU的课程都有自己的网页,想要自学的小伙伴可以去翻翻。)
    大一:第一个学期主要就是微积分和线代这种数学课,再加上入门的编程课(
    15-122: Principles of Imperative Computation (Fall 2020)www.cs.cmu.edu
    ,用的是C语言)。第二个学期依旧还有微积分,再加上进阶的编程课(15-150 Functional Programming),以及计算机系统课程(
    15-213: Introduction to Computer Systemswww.cs.cmu.edu
    ,用的教材当然是CMU出品的经典CSAPP)。
    CMU CS本科生 培养方案 - 图1
    深入理解计算机系统(CMU、清华都在用的经典教材!)
    京东
    ¥ 106.70
    去购买
    跟国内相比,CMU的程序和算法类课程更加细化,整个大一一年的编程入门被分成了15-122和15-150两部分,而且大二和大三还接着有算法和数据结构课;而且计算机系统这种课放在第一年,有助于萌新在学习编程的同时理解程序是怎么在硬件上跑起来的,国内的CS培养体系比如清华会放到大概大三才上CSAPP。
    CMU CS本科生 培养方案 - 图2CMU CS本科生 培养方案 - 图3
    CMU CS 大一课程

    大二:大二这一年必修的主要是算法和数据结构的进阶课程(
    15-210: Parallel and Sequential Data Structures and Algorithmswww.cs.cmu.edu
    ),概率统计课程,然后还有一门理论计算机的概论。从第二年开始选修就占了大头,可以根据自己的兴趣,选择计算机子领域的课程,比如AI、CG、security、HCI、Database、OS、计算生物、软件工程等等。
    CMU CS本科生 培养方案 - 图4CMU CS本科生 培养方案 - 图5
    CMU CS 大二课程

    大三:第三年的必修课中任然继续有一节算法类课程(
    15-451: Algorithm Design and Analysiswww.cs.cmu.edu
    ),然后就是要求修一门Logics & Languages类课程,一门AI类课程(AI、ML、CV、NLP等等),以及一门Systems类课程(操作系统、分布式系统、计算机网络等等)。
    CMU CS本科生 培养方案 - 图6CMU CS本科生 培养方案 - 图7
    CMU CS 大三课程

    大四:最后一年就全部是选修课啦~
    课程分类列表如下:
    必修类CS课

    AI类课程(选修其中一门):

    16-385 Computer Vision, Spring 2020cs.cmu.edu
    系统类课程(选修其中一门):

    Domains Elective类课程(选修其中一门):

    • 02-251: Great Ideas in Computational Biology
    • 05-391: Designing Human-Centered Software
    • 15-322: Introduction to Computer Music
    • 15-330: Introduction to Computer Security
    • 15-455: Undergraduate Computational Complexity
    • 15-462: Computer Graphics
    • 17-313: Foundations of Software Engineering

    写作与沟通类课程(选修其中一门):

    • 15-300 Research and Innovation in Computer Science
    • 17-200 Ethics and Policy Issues in Computing
    • 76-270 Writing for the Professions

    语言与逻辑类课程(选修其中一门):

    • 15-312: Foundations of Programming Languages
    • 15-314: Programming Language Semantics
    • 15-316: Software Foundations of Security and Privacy
    • 15-317: Constructive Logic
    • 15-414: Bug Catching: Automated Program Verification and Testing
    • 15-424: Logical Foundations of Cyber-Physical Systems
    • 17-355: Program Analysis
    • 80-413: Category Theory