How to Get a Computer Science Education with 20 MOOCs for Free

west-grove-class-of-2008ten-year-reunionmarch-29-2019-10

With job outlooks for computer scientists projected to grow into the 2020s, demand for students of computer science is skyrocketing. Compound that demand with inflated college tuition and the increased availability of competitive coding bootcamps, and we can also expect the cost of bachelor’s degrees in the subject to skyrocket over the next several years.

Enter: massive open online courses. Otherwise known as MOOCs, these big-audience courses provide an excellent means for students to learn from quality educators at quality institutions, both online and for free. At this point in their young lives, MOOCs have emerged relatively unscathed from an awkward adolescent stage in which experimentation ruled the day, and have entered a state of maturity where early practitioners—Ivy League schools of the likes of Stanford, Yale, and Princeton—have finally found what works. That is, they offer courses through providers and on topics that are ripe for online learning (such as topics in Computer Science), free course materials on these topics, automated grading with increased oversight, the option to pay for certification, and the potential to earn college credit on down the road.

All this translates into the possibility of earning an education in Computer Science, a field already very accepting of self-teachers and self-starters, by using MOOCs to incur little-to-no financial cost.

In this post, we’ve compiled a list of the top 20 best-rated MOOCs that compare with courses listed by NYU’s curriculum for a bachelor’s degree in Computer Science. To find the best-rated MOOCs, we took the top one hundred best-rated massive open online courses listed under the subject of Computer Science on MOOC database, Class-Central, ranked them according to those with the greatest number of reviews and highest average number of stars, then sifted out the highest-ranked classes whose descriptions matched those found for courses on NYU’s curriculum. What we found amounts to a “MOOCuricculum,” a class schedule intended to help budding computer scientists engineer a career in one of the top-grossing fields in the world.

Methodology:

  • Number of Reviews (1/2): The total number of written reviews a course has received.
  • Number of Stars: (1/2): The average number of stars that raters and reviewers have awarded a course.

Introduction to Programming & Problem Solving

one

Types of course that fall under this category include most 1000-level Computer Science classes. Such classes should contain an introduction to programming in a common set of languages or a single language, as well as instruction in the basic logic behind solving problems with a computing interface. They should incorporate basic elements from the subjects that computer science is made of—i.e. mathematics, engineering, and linguistics—while also grounding learners in the processes and practices of everyday computer scientists. These processes include debugging, interpreting, and applying code languages where appropriate, as well as learning and applying some theories of information, gaming, or statistics. After finishing a course in this category, students should feel confident proceeding to intermediate and advanced 1000-level courses in Computer Science.

Introduction to Computer Science Programming Using Python

Introduction to Computer Science Programming Using Python is one of a two-part course series designed to help people with no prior experience in computer science or programming learn to think as computer scientists. Earning an average of 4.5 stars over the course of 84 reviews and many more ratings, the course tackles how to write programs in order to solve problems computationally, as well as provides learners with the formal training necessary to both read and write Python as a programming language. By focusing on imparting a breadth of knowledge rather than in-depth information, MIT professors Eric Grimson, and John Guttag, along with instructor Ana Bell, also teach students a theory of computation that can be applied to understanding computer science as a whole, some simple algorithms, methods of testing and debugging programs, as well as provide an informal introduction to algorithmic complexity. Of all one hundred MOOCs we sampled, Introduction to Computer Science Programming ranked 12th, and it is offered through MITx and the MOOC platform, edX.

edX is one of the three largest providers of massive open online courses worldwide. Created in partnership with Harvard University and the Massachusetts Institute of Technology (MIT) in 2012, the platform operates as a non-profit institution of higher education, hosting courses from more than than 70 schools, companies, and other non-profits. Using OpenCourseWare, the MOOC provider has enrolled more than 7 million users worldwide in over 700 online courses taught in five languages. Its courses cover a wide range of subjects, topics, and areas of expertise with free online textbooks, discussion forums, and laboratories, all with the express purpose of increasing public accessibility to quality learning materials from quality instructors at quality institutions. Among edX’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, several Public Ivy schools all around the United States, and greater than 100 world-ranked international colleges and universities.

Functional Programming Principles in Scala

Functional Programming Principles in Scala is one of a five-part course series designed to induct those with some experience in computer programming into the practice of functional programming. Earning an average of 4.8 stars over the course of 49 written reviews and many more ratings, the course imparts to students the elements of style in functional programming with the programming language, Scala, which because of its interaction with other programming languages like Java, provides students with preliminary introductions to object-oriented programming as well. Technically speaking, learners gain a foundation in the logic of functional programming with proofs and symbolic notation. By focusing on the production of hands-on projects, professor Martin Odersky of France’s world-renowned École Polytechnique teaches students how to write purely functional programs using recursion strategies, pattern matching, and higher order functions, as well as how to design immutable data structures. This Of all one hundred MOOCs we sampled, Functional Programming Principles in Scala ranked 2nd, and it is offered through École Polytechnique via the MOOC platform, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

Calculus

west-grove-class-of-2008ten-year-reunionmarch-29-2019-2

Types of course that fall under this category are often 1000-level classes in Mathematics or Engineering. First-level classes might include basic instruction in the principles of precalculus, while second-level classes tend to cover both theoretical and fundamental concepts in graphs, theorems, differential equations, and Taylor series. A course in calculus will almost certainly cover the practices of functions, limits, derivatives of trigonometric functions and all of their graphic visualizations. By the time a learner has finished a course in this subject, they should be able to apply the logic of calculus when presented with problems that require solving via algorithmic techniques accounting for multiple variables with various functions. After finishing coursework in calculus, students should feel confident proceeding to 2000-level courses in Computer Science, as well as Mathematics or Engineering.

Calculus One

Calculus One is designed to teach students about how theoretical and mathematical ideas to can be used to understand and change things large and small about our environment. Earning an average of 4.8 stars over the course of many thousands of ratings, the course conveys to students the elements of calculus by applying them to understand and solve real-world biological, physical, and social science problems. Technically speaking, learners gain a foundation in functions, limits, derivatives, trigonometry, optimization, and the fundamental theorem of calculus. By focusing on the simplifying the basics, professor Jim Fowler of Ohio State University teaches students how to apply the principles of calculus to understand relationships between people, places, and things. Although Calculus One goes unranked among massive open online courses sampled because it technically falls outside the subject-area of Class-Central’s MOOCs in Computer Science—it is grouped in Mathematics—that does not mean it’s not a quality course. The fact that it has been rated upwards of 4 stars thousands of times and is one of Coursera’s most popular mathematics courses speaks volumes about its quality.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

  • Presented by: Coursera
  • Course Length: 16 weeks

Calculus Two: Sequences and Series

Calculus Two: Sequences and Series is designed to provide students with an introduction to the principles of infinity and beyond. Earning an average of 4.8 stars over the course of several hundred ratings, the course emphasizes the importance of not just getting answers but of asking the question “Why is this true?” Technically speaking, learners build on the foundation of Calculus One in the form of sequences, infinite series, convergence tests, and Taylor series. By focusing on complicating the basics to seek answers to oftentimes theoretical questions, professor Jim Fowler of Ohio State University teaches students how to seek answers to seemingly unanswerable questions. Although Calculus Two: Sequences and Series goes unranked among massive open online courses sampled because it technically falls outside the subject-area of Class-Central’s MOOCs in Computer Science—it is grouped in Mathematics—that does not mean it’s not a quality course. The fact that it has been rated upwards of 4 stars hundreds of times and is one of Coursera’s most popular mathematics courses speaks volumes about its quality.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

  • Presented by: Coursera
  • Course Length: 7 weeks

Object-Oriented Programming

west-grove-class-of-2008ten-year-reunionmarch-29-2019-1

Courses of the kind that fall into this category are often intermediate 1000-level classes in Computer Science. Such a class should maintain focus on one or more specific programming language designed for object manipulation, such as Java, C++, Ruby, Python, PHP, Swift, C#, or Objective-C. It might also include basic instruction in the organizational principles of web and software development, including front-end, back-end, and mobile, while also training learners to participate in the identification and classification of objects into recognizable patterns that relate to one another, a process otherwise known as data classification and modeling. By the time a learner has finished this course, they should know how to construct data classes, model their relationships, and create new objects from a library of object templates they have built. After finishing a course in object-oriented programming, students should feel confident proceeding to 2000-level courses in Computer Science.

Object Oriented Programming in Java

Object Oriented Programming in Java is the first of a five-part series designed to help students develop and improve some of their already existing skills in programming, especially Java for data visualization. Earning an average of 4.7 stars over the course of almost 2,000 ratings, the class is intended for programmers and developers who want to create more advanced Java programs than any they’ve built before, as well as create projects that are both personally and visually interesting to the learner. Technically speaking, learners will build on a foundation of programming skills in the form of object creation and manipulation, library construction, graphical user interface construction, and algorithm use. By focusing on the production of hands-on projects, three instructors at the University of California at San Diego teach students how to build the projects of their dreams. Although Object Oriented Programming in Java goes unranked among massive open online courses sampled, that does not mean it’s not a quality course. The fact that it has been rated 4 stars and up nearly two thousand times and is one of Coursera’s most popular courses in Computer Science speaks volumes about its quality.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

Data Analysis

west-grove-class-of-2008ten-year-reunionmarch-29-2019-3

Courses of the kind that fall under this category are often 2000-level or higher classes in Mathematics or Statistics. Such classes tend to cover both theoretical and fundamental concepts in probability and statistics. They might include basic instruction in the mathematical treatment of chance and the statistical treatment of linear regression, for example. A course in data analysis will almost certainly cover the practices of statistical interpretation, especially sample sizes, graphic distributions, confidence intervals, and standard error. By the time a learner has finished a course in this subject, they should be able to apply theories of probability and statistical analysis when presented with scientific, industrial or financial data. Among , students should feel confident proceeding to the job market as practiced statisticians.

Big Data Analysis with Apache Spark

Big Data Analysis with Apache Spark is an archived course designed for students with proficiency in Python and some experience in Spark to develop the skills necessary for big data analysis. Earning an average of 4.5 stars over the course of almost 40 written reviews, the class is intended for aspiring data scientists who want to learn how to use the toolsets appropriate to their trade and discipline. Technically speaking, learners will build on what they already know about Python and Spark to complete assignments in log mining, textual entity recognition, collaborative filtering, and parallel processing. By focusing on learning a set of tools, professor Anthony D. Joseph of the University of California, Berkeley teaches students to use Apache Spark to perform big data analysis. Among all one hundred MOOCs we sampled, Big Data Analysis with Apache Spark ranked 27th and is offered through UC Berkeley via the MOOC platform, edX.

edX is one of the three largest providers of massive open online courses worldwide. Created in partnership with Harvard University and the Massachusetts Institute of Technology (MIT) in 2012, the platform operates as a non-profit institution of higher education, hosting courses from greater than 70 schools, companies, and other non-profits. Using OpenCourseWare, the MOOC provider enrolls more than 7 million students worldwide in over 700 fully online courses. These courses cover a wide range of subjects and topics with online textbooks, discussion forums, and laboratories, all with the express purpose of increasing accessibility to quality learning materials from quality institutions. Among edX’s participating institutions are five of the original Ivy League schools, several Public Ivy schools, and greater than 100 top-ranked international colleges and universities.

  • Course Homepage
  • Presented by: edX
  • Course Length: 4 weeks

Statistics With R Specialization (FKA “Data Analysis and Statistical Inference”)

Statistics With R Specialization is a 5-part Specialization Series * designed to teach learners how to analyze and visualize data with the R programming language and program. Earning an average of 4.5 stars over the course of 35 written reviews, the specialization is intended for aspiring computer and data scientists who want to learn ways to perform responsible data analysis. Technically speaking, learners will gain a detailed and conceptual understanding of Bayesian and frequentist statistical inference methods, as well as how to communicate and critique statistical results without relying too heavily on field-specific jargon. By focusing on simplifying the complex, four professors from Duke University teach students how to become proper statisticians of the twenty-first century. Among all one hundred MOOCs we sampled, Statistics with R ranked 22nd and is offered through Duke University via the MOOC platform, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

Data Structures and Algorithms

west-grove-class-of-2008ten-year-reunionmarch-29-2019-4

Types of course that fall under this category often include 2000-level courses in Computer Science or Mathematics and Statistics. Such classes most often cover abstract, big data organization, as well as the implementation and use of standard, programmatic information structures. They should incorporate basic elements of fundamental algorithms and algorithm analysis, while also grounding learners in the process and practice of collecting and storing data for both individuals and corporate personnel. Such processes include streamlining the organization of data structures with algorithmic solutions so that large sets of information can be collected, stored, and analyzed in the quickest, most efficient way possible. Solutions to large-scale problems like those encountered in a Data Structures and Algorithms classes have led to innovative leaps in the realms of medicine, travel, and online business. After finishing a course in this category, students should feel confident proceeding to intermediate and advanced 2000-level courses in Computer Science.

Data Structures and Performance

Data Structures and Performance is the second course in a five-part specialization series in object-oriented programming that is designed to teach learners how to structure vast quantities of data. Earning an average of 4.8 stars over the course of several hundred ratings, the specialization is intended for aspiring computer scientists and web developers who want to learn how to perform industry-level big data storage, hierarchies, and analysis. Technically speaking, learners will gain a detailed and conceptual understanding of linked lists, trees, and hashtables, as well as knowledge of how these these structures make certain programs more efficient than others at data retrieval, deletion, and evaluation. By focusing on efficiency, three professors at the University of California at San Diego instruct students how to sort and store data the best way possible. Among all one hundred MOOCs we sampled, Data Structures and Performance placed 35th and is offered through UC San Diego via the MOOC platform, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

Algorithms, Part 1

Algorithms, Part I is the first course in a two-part series designed to teach learners how to engineer algorithms and data structures to their advantage. Earning an average of 4.9 stars over the course of over one hundred ratings, the course is intended for aspiring computer scientists and programmers who want to learn how to develop applications and undertake performance analyses of Java programs. Technically speaking, learners will gain a detailed and conceptual understanding of data structures, sorting, and searching algorithms, as well as memory usage, testing, and connectivity. By focusing on using the scientific method to create the best and most efficient algorithms possible, two professors at Princeton University, Kevin Wayne and Robert Sedgewick, instruct students how to search, sort, and engineer data structures with the best algorithms possible. Among all one hundred MOOCs we sampled, Algorithms, Part I placed 21st and is offered through Princeton via the MOOC platform, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

Algorithms, Part II

Algorithms, Part II is the second course in a two-part series designed to teach learners how to engineer algorithms and data structures to their advantage. Earning an average of 5 stars over the course of eighteen written reviews, the course is intended for aspiring computer scientists and programmers who want to learn how to develop applications and undertake performance analyses of Java programs. Technically speaking, learners will gain an even greater detailed and conceptual understanding of data structures, sorting, and searching algorithms, as well as memory usage, testing, and connectivity. By focusing on graph and string-processing algorithms, two professors at Princeton University, Kevin Wayne and Robert Sedgewick, instruct students how to engineer the best algorithms currently possible. Among all one hundred MOOCs we sampled, Algorithms, Part II placed 5th and is offered through Princeton via the MOOC platform, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

  • Presented by: Coursera
  • Course Length: 6 weeks

Design & Analysis of Algorithms

west-grove-class-of-2008ten-year-reunionmarch-29-2019-5

Types of course that fall under this category often include advanced 2000-level courses in Computer Science or Mathematics and Statistics. Such classes cover the fundamental principles of designing, creating, and analyzing effective algorithms. Courses in algorithm design and analysis should incorporate the big picture principles of algorithm analysis with the process of engineering and applying algorithms to solve infrastructural problems on a large scale. Such a process includes learning how to break a problem down into its constituent parts, determining which functions best address those problems individually, and implementing an algorithmic strategy to solve the root problem. As with its sister class in data structures and algorithms, some solutions to large-scale problems such as those encountered in a Design & Analysis of Algorithms classroom have led to innovative leaps in the realms of medicine, travel, and online business. After finishing a course in this category, students should feel confident proceeding to intermediate and advanced 3000- and 4000-level courses in Computer Science.

Algorithms: Design and Analysis, Part 1

Algorithms: Design and Analysis, Part 1 is the first course in a two-part series designed to provide learners with an overview of the countless practical applications that algorithms have for solving everyday problems. Earning an average of 4.9 stars over the course of several hundred ratings, the course is intended to teach aspiring computer scientists and programmers how to engage in the big-picture conversations about using algorithms on an everyday basis. Technically speaking, learners will gain a detailed and conceptual understanding of “Big-oh” notation and graph primitives, as well as randomized and divide and conquer strategies for algorithm implementation. By focusing on talking about the big picture, professor Tim Roughgarden of Stanford University’s Computer Science department provides students with the intellectual and experiential background they need to hit the job market running (and speaking fluently about algorithms). Among all one hundred MOOCs we sampled, Algorithms: Design and Analysis Part I placed 16th and is offered through Stanford via the MOOC platform, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

Algorithms: Design and Analysis, Part 2

Algorithms: Design and Analysis, Part 2is the second course in a two-part series designed to provide learners with an overview of the countless practical applications that algorithms have for solving everyday problems. Earning an average of 4.9 stars over the course of seventeen written reviews, the course is intended to teach aspiring computer scientists and programmers how to engage in the big-picture conversations about using algorithms on an everyday basis. Technically speaking, learners will build on knowledge gained from Part I of to gain a deeper understanding of greedy algorithms, dynamic programming, heuristic analysis, and local search techniques. By focusing on talking about these big details, professor Tim Roughgarden of Stanford University’s Computer Science department provides students with the intellectual and experiential background they need to have a greater mastery of algorithms than almost anyone without a graduate degree in the subject. Among all one hundred MOOCs we sampled, Algorithms, Part II placed 6th and is offered through Princeton via the MOOC platform, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

Computer Architecture and Organization

west-grove-class-of-2008ten-year-reunionmarch-29-2019-6

Courses of the kind that fall under this category are often intermediate or advanced 2000- or 3000-level classes in Computer Science. Such a class will often implement a top-down approach to learning about computer engineering and design. It might also include basic instruction in assembly language programming, machine language set design, and the construction of a standard computer. Despite a degree of subjectivity in topic choice, a course in computer architecture and organization will almost certainly cover the theories and principles of computer engineering, circuit organization, system functionality, and logic design. By the time a learner has finished this course, they should know how computers are designed with an eye toward achieving maximal performance and minimal consumption of resources. After finishing a course in computer architecture and organization, students should feel confident proceeding to 3000- and 4000-level courses in Computer Science.

Introduction to Computer Architecture

Introduction to Computer Architecture is designed to teach students the basics of how computers are designed, engineered, and programmed from hard- and software perspectives. Earning an average of 5 stars over the course of four written reviews, the course teaches students the foundations of computer architecture by articulating principles of efficient design. Technically speaking, learners build on their foundation of hard- and software design knowledge by gaining a broader knowledge of the full computing stack, memory function, and information theory. By focusing on the point where hardware and software meet, professor Onur Mutlu of Carnegie Mellon University teaches students how to apply the principles of computer architecture to understand how computers are engineered. Among all one hundred MOOCs we sampled, Introduction to Computer Architecture placed 28th. It is offered through Carnegie Mellon University as a MOOC via the College of Electrical and Computer Engineering as part of the university’s Open Learning Initiative.

Carnegie Mellon University is a private research university whose Open Learning Initiative supports fully online education. Begun in 2001, the initiative started out as a way of taking the university’s expertise in cognitive tutoring to the next level by locating entire courses online. It has since morphed into the center of the university’s plan for educational innovation, where the ultimate goal is to improve post-secondary education by transforming teaching into a community-based research activity with access for all. Many of Carnegie Mellon’s individual colleges have caught onto this impulse, including the College of Electrical and Computer Engineering, which offers the Introduction to Computer Architecture. Although a small operation when compared to the big three providers, Carnegie Mellon is a top-ranked national and world university with massive untapped potential for online learners worldwide.

Operating Systems

west-grove-class-of-2008ten-year-reunionmarch-29-2019-7

Courses of the kind that fall under this category are often 3000-level or higher classes in Computer Science. Such classes cover both theoretical and fundamental concepts and principles of computer hardware, software, and how they operate together as one system. It might include basic instruction in batch, system, and multiprogramming systems, while the components of an OS may be defined in terms of its functions, structures, and applications. A course in operating systems will almost certainly cover the theories and principles of various hardwares, software development methods, memory allocation strategies, and user interfaces. By the time a learner has finished a course in this subject, they should know how multiple operating systems work on both macro- and microscopic levels. After finishing a course in operating systems, students should feel confident proceeding to 4000-level courses in Computer Science.

Operating Systems

Operating Systems is a self-paced online course designed to introduce students to the modern softwares that run our computers. Focusing on UNIX-based operating systems—the OS most often used around the world for personal, commercial, and supercomputing purposes—the course also teaches students about the inner workings of alternative operating systems, including Apple’s and Windows’. Technically speaking, learners study the history of modern computers, analyze the details of every major process and thread in an operating system, as well as explore topics of memory management, file input/output, and issues of cyber security. By focusing on the big-picture topics facing OS developers today, the class ultimately teaches students how operating systems work in our everyday lives, as well as how they might be improved. Although Operating Systems goes unranked among massive open online courses that we sampled due to not appearing on Class-Central, that does not mean it isn’t a quality course. The fact that it has been designed by a computer scientist and can be articulated toward credit for a degree at Brandman University speaks volumes about its quality, as well as the quality of its provider, Saylor Academy.

Saylor Academy is technically one of the oldest MOOC providers on the marketplace, as its supporting non-profit foundation, the Saylor Foundation, has been around since 1999. Since that time, the platform has operated as a non-profit educational technology company with a Free Education Initiative that has led to the creation of nearly 100 full-length courses representing the 10 most popular majors in the United States. These courses undergo an intensive, peer-reviewed vetting process to ensure class quality. Saylor Academy was created with only the highest quality instruction in mind, and its instructors place a great deal of emphasis on accessibility as part of their goal to make university classes free and open to both national and global audiences. Among Saylor Academy’s partner institutions are Bellevue University, Colorado State University Global Campus, and the City University of New York (CUNY).

Software Engineering

west-grove-class-of-2008ten-year-reunionmarch-29-2019-8

Types of course that fall under this category often include advanced 4000-level courses in Computer Science or Computer Engineering. Such classes cover the fundamental principles of specifying, designing, creating, testing, and documenting software systems both large and small. Courses in software engineering should incorporate all the big picture processes of information engineering, object oriented programming, and complexity measures. Such processes include learning how to implement testing methods like path testing and exhaustive testing to track the success of a given form of software, while also using project management techniques with a team of developers to create the most efficient combination of software tools and human resources to get the job done. By the time a learner has finished a course in this subject, they should know how to design, develop, and pitch their own software projects. After finishing coursework in software engineering, learners should feel confident proceeding to the job market as accomplished computer scientists.

Design of Computer Programs

Design of Computer Programs is a nanodegree program designed to teach students how to approach software programming problems and devise solutions in Python. Emphasizing the latest concepts, patterns, and methods of coding, the course teaches students how to work on the frontlines of software programming innovation. Technically speaking, learners cement their knowledge of design processes, algorithms, and complexity management through a series of seven lessons that culminate in practice interviews and exams. By focusing on what drives software innovation and job market preparation, Peter Norvig, the renowned programming expert and Director of Research at Google, teaches students how to best practice the principles of design when it comes to engineering software today. Although Design of Computer Programs goes unranked among massive open online courses that we sampled, that does not mean it isn’t a quality course. The fact that it is taught by a field expert from Google speaks volumes about its quality, as well as the quality of its provider, Udacity

Udacity is one of the ten largest MOOC providers in the world. Founded in 2011 by Sebastian Thrun and inspired by the free computer science courses offered at Stanford University, the platform operates as a for-profit educational technology company, hosting over 150 courses developed by companies as well-known as Google and in subjects as in-demand as computer science. Developing and using more than 20 coursewares, Udacity has enrolled more than 1.6 million users worldwide in over 100 online courses since 2011. Although its business model has shifted in recent years to promote paid nanodegree programs, its courses sustain coverage of topics and areas of expertise in the STEM fields, especially computer programming, while also continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Udacity’s participating institutions are Google, Microsoft, and Georgia Tech University, which offers a master’s degree in Computer Science through the MOOC provider.

Computability, Complexity & Algorithms

Computability, Complexity & Algorithms is a nanodegree program designed to provide a venue for students to ask the big questions: “What is a computer?” “What are the limits of computation?” “Are there problems that no computer will ever solve?” Emphasizing the the importance of developing an understanding of the power and limitations of algorithms, this course helps learners mentally prepare to develop the software tools that will make computers smarter, better, faster, and stronger. Technically speaking, learners cement their knowledge of algorithms and programming languages (in all of their computability and complexity) through a series of three lessons that cover Turing Machines, NP-Complete Problems, and the idea of the Golden Ticket. By extrapolating from everyday practices to ask questions about computer scientists’ guiding principles, three instructors lead students through discussions that have concerned computer scientists since the advent of their field. Although Design of Computer Programs goes unranked among massive open online courses that we sampled, that does not mean it isn’t a quality course. The fact that it is taught by field experts and is offered as part of Georgia Tech’s online Master’s degree in Computer Science speaks volumes about its quality, as well as the quality of its provider, Udacity

Udacity is one of the ten largest MOOC providers in the world. Founded in 2011 by Sebastian Thrun and inspired by the free computer science courses offered at Stanford University, the platform operates as a for-profit educational technology company, hosting over 150 courses developed by companies as well-known as Google and in subjects as in-demand as computer science. Developing and using more than 20 coursewares, Udacity has enrolled more than 1.6 million users worldwide in over 100 online courses since 2011. Although its business model has shifted in recent years to promote paid nanodegree programs, its courses sustain coverage of topics and areas of expertise in the STEM fields, especially computer programming, while also continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Udacity’s participating institutions are Google, Microsoft, and Georgia Tech University, which offers a master’s degree in Computer Science through the MOOC provider.

Electives of Note

west-grove-class-of-2008ten-year-reunionmarch-29-2019-9

Courses of the kind that fall under this category are often 2000-level or higher classes in Computer Science. Such classes cover a gamut of theoretical concepts and practical actions that will benefit computer scientists both at and away from their consoles. They might include discussion about subjects as futuristic as artificial intelligence and human computer interaction or as conventional as databases, computer security, or UNIX system programming. Despite covering a diverse range of topics, an elective of note will almost certainly address topics that have significant potential to alter the course of Computer Science as a field. By the time a learner has finished a course in this subject, they should have acute awareness of current trends in the field, as well as be able to discuss those trends knowledgeably with non-specialized audiences. After finishing an elective of note along with required coursework, learners should feel confident going forward into careers as experts in the Computer Science industry.

Machine Learning

Machine Learning is an advanced-level computer science class designed to teach students the science of getting computers to act without being programmed to do so. Earning an average of 5 stars over the course of over 200 written reviews and 22,000 ratings, this course explains the merits of machine learning in the form of self-driving cars, predictive analytics, and improved understandings of the human genome. Technically speaking, learners gain a broad introduction to machine learning, datamining and statistical pattern recognition. By focusing on the big picture developments in this recent field, professor at Stanford university and co-founder of Coursera, Andrew Ng, lectures on topics as diverse as robotics, education, algebra, and statistics so that students can leave the course with a broad base of theoretical knowledge concerning the trajectory of machine learning. Among all one hundred MOOCs we sampled, Machine Learning placed 1st. It is offered through Stanford University and the provider platform for which it was one of the first MOOCs ever offered, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

Artificial Intelligence

Artificial Intelligence is an upper-level computer science course designed to teach students how artificial intelligence affects their everyday lives and what they can do to design AI themselves. Earning an average of 5 stars over the course of 29 written reviews, this course explains how AI is all around us. Technically speaking, learners gain a detailed introduction to AI through the lens of statistical and decision-theoretic modeling paradigms, as well as by building autonomous agents that can efficiently make decisions in stochastic and adversarial settings. By focusing on these specifics, professors Dan Klein and Pieter Abbeel at the UC Berkeley leave students with a detailed sense of the basic ideas and techniques that underly the design of intelligent computer systems, as well as some applications for a wide variety of artificial intelligence problems. Among all one hundred MOOCs we sampled, Artificial Intelligence placed 4th and is offered through UC Berkeley and the provider platform, edX.

edX is one of the three largest providers of massive open online courses worldwide. Created in partnership with Harvard University and the Massachusetts Institute of Technology (MIT) in 2012, the platform operates as a non-profit institution of higher education, hosting courses from greater than 70 schools, companies, and other non-profits. Using OpenCourseWare, the MOOC provider enrolls more than 7 million students worldwide in over 700 fully online courses. These courses cover a wide range of subjects and topics with online textbooks, discussion forums, and laboratories, all with the express purpose of increasing accessibility to quality learning materials from quality institutions. Among edX’s participating institutions are five of the original Ivy League schools, several Public Ivy schools, and greater than 100 top-ranked international colleges and universities.

The Nature of Code

The Nature of Code is an intermediate-level computer science course designed to teach students the programming strategies behind computer simulations of natural systems. Earning an average of 5 stars over the course of 14 written reviews, this course seeks answers to the question of whether or not we can capture the unpredictability of nature in a predictable software program. Technically speaking, learners cover subjects as diverse and varied as physics simulations, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms. By focusing on these topics, instructors guide students to re-examine basic mathematics, physics, and advanced simulations through the lens of biological and chemical interactions, reactions, and transactions. The course is an excellent choice for those who want to pursue a career in video game design. Among all one hundred MOOCs we sampled, The Nature of Code placed 8th and is offered through the relatively new and arts-oriented MOOC provider platform, Kadenze.

Kadenze is one of the newest MOOC providers to enter the marketplace. Founded in 2015 by a collective of computer scientists at Stanford University, the platform operates as a for-profit educational technology company, hosting 42 courses through partnerships with leading national universities and global institutions. Using its own courseware, Kadenze was created with a high degree of connectivity in mind, addressing concerns that other MOOC providers engage in teaching methods that are too passive by striving to connect students to a learning environment that is at once more personalized and interactive than traditional MOOC courseware. This learning environment places a great degree of emphasis on arts and technology education with the end goal of making university classes free and more accessible to both national and global audiences. Among Kadenze’s participating institutions are Stanford, Princeton, California Institute of the Arts, the University of Texas at Austin, and a growing number of international colleges and universities.

Software Security

Software Security is a beginner-level computer science course designed to teach students the foundations of defending against breaches of digital security. Earning an average of 4.6 stars over the course of 20 written reviews and over 150 ratings, this course considers important software vulnerabilities and the attacks that commonly exploit them. Technically speaking, learners cover common tactics of breaching software security like buffer overflows, SQL injection, and session hijacking as well as methods of preventing or mitigating them, such as advanced testing and program analysis. By focusing on these techniques, professor Michael Hicks at the Department of Computer Science for the University of Maryland at College Park walks students through the best methods of building and strengthening security at every point in a software program’s lifespan. Software Security an excellent course for those who want to pursue a career in the ever-growing industry cybersecurity. Among all one hundred MOOCs we sampled, Software Security placed 33rd and is offered through the MOOC provider platform, Coursera.

Coursera is the largest provider of massive open online courses worldwide. Founded in 2012 by Stanford computer scientists, Andrew Ng and Daphne Koller, the platform operates as a for-profit educational technology company, hosting courses from more than 140 colleges, universities, and companies. Using its own courseware, the MOOC provider has enrolled more than 15 million users worldwide in over 1,800 online courses that are taught in twelve languages. Although its business model has shifted in recent years to promote paid specializations, its courses sustain coverage of a huge range of subjects, topics, and areas of expertise while continuing to provide students with free course materials. All this goes toward the goal of making courses free and accessible, so the global public can enjoy quality learning materials from quality instructors at quality institutions. Among Coursera’s participating institutions are five of the original Ivy League schools in the U.S. Northeast, a growing number of public flagship schools around the United States, and greater than 100 world-ranked international colleges and universities.

*All of Coursera’s MOOCS offer an “Audit” option that permits users to forgo paying for specializations while maintaining access to all course materials. Although such an option does not allow users to submit graded assignments, it does allow free and open access to all course content (i.e., textbooks, videos, and group discussions boards). To find where to sign up to audit a course, search for the title of the course in the search bar at the top of the Coursera site, and go directly to the individual course page. The audit option is not visible when looking at courses from their specialization page.