MOOC筆記IT在线课程

几十所顶级名校免费开放自家计算机课, 贡献榜老大竟然是它! 海外

2018-12-25  本文已影响217人  離枝

Introduction

The resources of computer science courses (including electrical engineering) are extremely abundant, and perhaps it is the most resourceful subject in comparison to other disciplines on the Internet. In this article, I aim to compare some of the courses offered by several world-renowned universities and finally come up with certain practical summaries. I am not going to cover all of the CS courses, but instead focus on the most substantial core courses. There are already many awesome summary lists, and I will make more streamlined conclusions based on these lists.

Research Material

I mainly pay attention to a list (Awesome CS Courses) created by prakhar1989. The list does not include other online course platforms such as Coursera, Udacity, and Edx, but I may discuss the courses provided by these platforms in further articles.

In this list, there are above 50 universities worldwide, most of which are located in North America, especially the United States. I used to think that one of MIT, Standford, UC Berkeley or CMU would get the first place on the list. Unexpectedly, Cornell University is the real champion, and it provides nearly twice as many courses as the second one (although there are rare lecture videos offered by Cornell).


It seems impossible to discuss all of them, so I decided to pick ten of them and briefly introduce these universities as follows.

Top Universities Overview

Best Computer Science Schools
QS World University Rankings by Subject 2018: Computer Science & Information Systems.

Rank 10: University of Virginia


US News CS Rank: 30
Contributions: 4 (2 Videos of 4)
CS 2150 Program & Data Representation
16s-4102 Algorithms Video
CS 4414 Operating Systems Video
CS 4610 Programming Languages and Compilers
Rank 9: University of Washington

location: Seattle

US News CS Rank: 6
Contributions: 5 (3 / 5)
CSE 154 Web Programming
CSE 331 Software Design and Implementation
CSE 341 Programming Languages Video
CSEP 501 Compiler Construction Video
CSEP 552 Distributed Systems Video

Rank 8: CUNY Hunter College

location: New York MANHATTAN
Contributions: 6 (0 / 6)
CSCI 135 Software Design and Analysis I
CSCI 235 Software Design and Analysis II
CSCI 335 Software Design and Analysis III
CSCI 360 Computer Architecture 3
CSCI 493.66 UNIX System Programming (formerly UNIX Tools)
CSCI 493.75 Parallel Computing
Rank 7: Harvard University


US News CS Rank: 16
Contributions: 6 (5 / 6)
CS 50 Introduction to Computer Science Video
CS 50 Intro to Game Developement Video
CS 109 Data Science
CS 224 Advanced Algorithms Video
CS 229r Algorithms for Big Data Video
AM 207 Monte Carlo Methods and Stochastic Optimization Video
Rank 6: Univ of Illinois, Urbana-Champaign


US News CS Rank: 5
Contributions: 6 (2 / 6)
CS 173 Discrete Structures
CS 241 Systems Programming (Spring 2016)
CS 374 Algorithms & Models of Computation (Fall 2014) Video
CS 421 Programming Languages and Compilers Video
CS 425 Distributed Systems
CS 473/573 Fundamental Algorithms
Rank 5: Carnegie Mellon University


US News CS Rank: 1
Contributions: 14 (9 / 14)
14-740 Fundamentals of Computer Networks Video
15-213 Introduction to Computer Systems (ICS) Video
15-319/619 Cloud Computing (ICS) Video
15-418 Parallel Computer Architecture and Programming Video
15-440 Distributed Systems
15-721 Database Systems Video
15-445/645 Database Systems Video
15-451/651 Algorithms
15-749 Engineering Distributed Systems
10-601 Machine Learning Video
10-708 Probabilistic Graphical Models Video
11-785 Deep Learning
CMU 462 Computer Graphics
18-447 Introduction to Computer Architecture Video
Rank 4: Massachusetts Institute of Technology

US News CS Rank: 1


Contributions: 16 (8 / 16)
6.001 Structure and Interpretation of Computer Programs Video
6.004 Computation Structures Video
6.005 Software Construction
6.006 Introduction to Algorithms Video
6.045 Great Ideas in Theoretical Computer Science Video
6.046J/18.410J Design and Analysis of Algorithms Video
6.824 Distributed Systems
6.828 Operating Systems
6.851 Advanced Data Structures Video
6.854/18.415J Advanced Algorithms Video
6.854J/18.415J Advanced Algorithms
6.857 Computer and Network Security
6.858 Computer Systems Security Video
6.868J The Society of Mind
6.945 Adventures in Advanced Symbolic Programming
6.INT Hacking a Google Interview
Rank 3: University of California--Berkeley


US News CS Rank: 1
Contributions: 20 (10 / 20)
CS 10 The Beauty and Joy of Computing Video
CS 61A Structure and Interpretation of Computer Programs [Python] Video
CS 61AS Structure & Interpretation of Computer Programs [Racket] Video
CS 61B Data Structures Video
CS 61C Great Ideas in Computer Architecture (Machine Structures) Video
CS 161 Computer Security
CS 162 Operating Systems and Systems Programming Video
CS 164 Hack your language! Video
CS 168 Introduction to the Internet: Architecture and Protocols
CS 168 Computer Networks
CS 186 Introduction to Database Systems Video
CS 188 Introduction to Artificial Intelligence Video
CS 189 Introduction To Machine Learning
CS 261 Internet/Network Security
CS 262a Advanced Topics in Computer Systems
CS 276 Foundations of Cryptography
CS 278 Complexity Theory
CS 287 Advanced Robotics
CS 294 Cutting-edge Web Technologies
Info 290 Analyzing Big Data with Twitter Video
Rank 2: Stanford University

US News CS Rank: 1
Contributions: 26 (14 / 26)
CS 101 Computer Science 101 Video
CS 103 Mathematical Foundations of Computing
CS 106A Programming Methodology Video
CS 106B Programming Abstractions Video
CS 107 Programming Paradigms Video
CS 107 Computer Organization & Systems Video
CS 108 Object Oriented System Design
CS 140 Operating Systems
CS 143 Compiler construction
CS 155 Computer and Network Security
CS 193a Android App Development, Spring 2016 Video
CS 193p Developing Applications for iOS Video
CS 223A Introduction to Robotics Video
CS 224d Deep Learning for Natural Language Processing Video
CS 231n Convolutional Neural Networks for Visual Recognition Video
CS 240h Functional Systems in Haskell
CS246 Mining Massive Data Sets Video
CS 259 Security Modeling and Analysis
CS 261 A Second Course in Algorithms Video
CS276 Information Retrieval and Web Search
18-636 Browser Security Video
EE103 Introduction to Matrix Methods
StatLearning Intro to Statistical Learning Video
CVX 101 Convex Optimization
CS20si Tensorflow for Deep Learning Research
CS 97SI Introduction to Competitive Programming

Rank 1: Cornell University
Ithaca Campus

Cornell Tech Campus (New York)

US News CS Rank: 6
Contributions: 44 (0 / 44)
CS 1109 Fundamental Programming Concepts
CS 1110 Introduction to Computing Using Python
CS 1112 Introduction to Computing Using Matlab
CS 1115 Introduction to CS and Engineering Using Matlab Graphical User Interfaces
CS 1130 Transition to OO Programming
CS 1133 Transition to Python
CS 2043 Unix Tools & Scripting
CS 2110 Object-Oriented Programming and Data Structures
CS 3110 Data Structures and Functional Programming
CS 3152 Introduction to Computer Game Development
CS 3220 Introduction to Scientific Computing
CS 3410 Computer System Organization and Programming
CS 4120 Introduction to Compilers
CS 4152 Advanced Topics in Computer Game Development
CS 4154 Analytics-driven Game Design
CS 4300 Information Retrieval
CS 4302 Web Information Systems
CS 4410 Operating Systems
CS 4620 Introduction to Computer Graphics
CS 4670 Introduction to Computer Vision
CS 4700 Foundations of Artificial Intelligence
CS 4780 Machine Learning
CS 4786 Machine Learning for Data Science
CS 4810 Introduction to Theory of Computing
CS 4812 Quantum Information Processing
CS 4820 Introduction to Analysis of Algorithms
CS 4860 Applied Logic
CS 5114 Network Programming Languages
CS 5142 Scripting Languages
CS 5150 Software Engineering
CS 5220 Applications of Parallel Computers
CS 5412 Cloud Computing
CS 5430 System Security
CS 5540 Computational Techniques for Analyzing Clinical Data
CS 5724 Evolutionary Computation
CS 6118 Types and Semantics
CS 6452 Evolutionary Computation
CS 6630 Realistic Image Synthesis
CS 6640 Computational Photography
CS 6650 Computational Motion
CS 6670 Computer Vision
CS 6700 Advanced Artificial Intelligence
CS 6810 Theory of Computing
CS 6840 Algorithmic Game Theory

Courses

Conclusions

1.The actual number of courses that can be searched online is much larger than the courses provided by this list.

If we go to the official website of those top universities to search their computer science curriculums, generally we will find more comprehensive lists of courses.

2.Top universities pay much attention to the big picture of computer science (systems, architecutre, methodology ) as well as foundations (algorithms, compiler, logic, discrete structures).

It is not a bad thing for computer science students to learn a lot of mathematics; however, if we just study it purely but fail to know the applications, it will only be futile. World-class universities have already developed solid theoretical foundations for computer science. The graduates need to have a deep understanding of algorithms, principles of programming languages, operating systems and concurrency, networks and abstraction of layers, and computer architecture. More importantly, they will do a lot of valuable practice to get a firsthand experience. In comparison, even China's top universities still highly focus on mathematics and physics training in computer science. Some of their computer science students must study mathematical analysis, complex analysis, functional analysis, electromagnetic field theory, and even quantum mechanics. This seems to be fantastic, but the real consequence is that many graduates are seriously lacking in programming experience and are only half-baked about the mathematical foundations they have learned.

3.The top four universities in computer science are well deserved. (CMU, MIT, Stanford, UC Berkeley)

The four universities were tied to the US News list, more specifically, they are the best computer science schools in the United States. Although Cornell University has contributed many courses, several other universities have generously opened their lecture videos. If we rank these universities by their contribution of lecture videos, then the top four schools can be ranked highest.

4.Even if there is no lecture video, it does not affect students' thorough mastery of the course content. Good projects or labs may be more important than lectures.

Computer science places great emphasis on practice. Only by processes of constantly making mistakes and correcting, and creating components like compilers or operating systems by our own can we truly understand the content of lectures.

5.Universities that can keep pace with the times are the most vital.

Deep learning is a field that has only been developed on a large scale in recent years, but some universities have already opened many related courses. This shows that these schools are very adaptable to change, not only providing students with a long-lasting theoretical foundation, but also bringing students the latest knowledge. (Stanford > CMU > Berkeley > MIT)

Reference

Github: Awesome CS Courses
Github: Path to free self-taught education in Computer Science
Scott Young: MIT Challenge
34 门课改变人生
知乎: YouTube 上有哪些计算机方面的值得推荐的公开课
知乎:如何阅读《深入理解计算机系统》这本书?
c0 documentation
科學網: CMU计算机系的本科教学体系
UC Berkeley: CS Major Upper Division Degree Requirements
UC Berkeley: CS Courses
CMU: Bachelors Curriculum
CMU:15-129

上一篇 下一篇

猜你喜欢

热点阅读