The Report by Class Central

Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Guides

Go from “just coding” to doing Computer Science

Regularly scheduled MOOCs in algorithms that help you develop algorithmic aptitude

Editors Note: This is a guest post by a Class Central user

If there’s one thing that separates hackers from computer scientist, it’s algorithmic aptitude. Understanding key algorithmic strategies, being able to analyse algorithmic efficiency, and to convert the mathematese of pseudocode into something a compiler or interpreter can actually understand are all key skills for solving those tricky problems just a little bit different from anything anyone’s ever solved before.

These arcane skills have long been the province of the true nerd, willing to pore over huge text-tomes chained in the dankest basements of the university library. But the Age of the MOOC has changed all that: trees, graphs, big-O, recursion, divide and conquer, memoization – the entire algorithmic armory – are now more accessible than they’ve ever been, via a series of MOOCs  dedicated to the field. We take a look at some of the better-known, regularly scheduled options.

Gateways to Algorithms

Principles of Computing
via Rice University, Houston
Following on from the well-received “Introduction to Interactive Programming in Python” in Rice’s “Fundamentals of Computing” specialization, this ‘pre-algos’ course, uses interactive games -also programmed in Python – to introduce some of the key concepts & maths (recursion, breadth-first search, Monte-Carlo simulation, mini-max, basic combinatorics) necessary to dive deeper into the field.

6.00.1x: Introduction to Computer Science and Programming Using Python
via MIT
The first course in MITx’s Foundations of Computer Science xSeries uses Python to introduce some simple algorithms, data structures, and the intuition behind analysis of algorithmic complexity.

6.00.2x: Introduction to Computational Thinking and Data Science
via MIT
Following on from 6.00.1x, this course introduces problems from a number of fields – including simple machine learning, statistics and simulation – soluble with a useful set of simpler (mainly brute-force) algorithmic and problem reduction techniques.

Halfway House

Algorithmic Thinking
via Rice University, Houston
Following on from Rice’s Principles of Computing – so also Python-based – this course is designed to get students to analyse (using Big-O notation and the Master Theorem) and solve real-world problems using key strategies (notably recursion, and divide-and-conquer). Covers basic graph theory, and also problems drawn from as Machine Learning and Bioinformatics, with assessments based on quizzes, and auto-graded programming projects which form the basis for four quite lengthy peer-reviewed assessments.

Ivy-League tradition

Algorithms: Design and Analysis (Parts 1 & 2)
via Stanford University
Two well-reviewed, broad-ranging, six week courses covering the field in some breadth, with a slight bias toward theory (reason about correctness and running time of algorithms). Assessed via problem sets and programming assignments (in the language of your choice).
Part 1 () Part 2 ()

Algorithms (Part I & II)
via Princeton University
Another set of two well-reviewed, broad-ranging six week courses, from the authors of one of the top-rated textbooks on the subject, which aims to cover “50 algorithms
every programmer should know”. One key difference is that the projects must be submitted in Java, to a (reputedly extremely good) auto-grader.
Part I(Part II ()

Off the Beaten Track

Bioinformatics Algorithms (Parts 1 & 2)
via University of California, San Diego
An intriguing set of two (soon to be three) courses, for two reasons. First, it aims to impart the [key] fundamentals of algorithms using examples drawn from a specific problem domain. Second, while the course features lecture videos, it is largely structured around – and graded via – an online-text, punctuated with (numerous) coding challenges. So far, highly-rated but reputed to be difficult, but with a more introductory junior sibling (“Algorithms, Biology, and Programming for Beginners“) due to make its debut run soon.
Part 1 ( Part 2 (

At your leisure

Intro to Algorithms (Social Network Analysis)
via Udacity
Although billed as an Intro, suitable right after an introductory course, some reviewers have noted the trickiness of some of the assignments. That said, the focus on graph algorithms, allows it to cover these in some detail, so certainly worth a look when no scheduled options are running (although all Udacity courses, no free certification is available).

Comments 0

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.