Both of Tim Roughgarden's classic computer science MOOCs that had repeatedly run on Cousera's original platform and been consistently well received by students have relaunched today on the new platform.
Algorithms:Design and Analysis Part 1 was among the first courses to be offered by the newly-launched Coursera in Spring 2013 and is ranked 18 in terms of the number of students who have enrolled in it (548,631). It is based on the course Professor Tim Roughgarden has taught at Stanford since 2004, typically to third-year Computer Science undergraduates and is aimed at:
learners with at least a little bit of programming experience who want to learn the essentials of algorithms
It sets out to emphasize the big picture and conceptual understanding over low-level implementation and mathematical details.
Over the course of six weeks, with a workload of 5-7 hours per week, it covers several fundamental principles of algorithm design: divide-and-conquer methods, graph algorithms, practical data structures (heaps, hash tables, search trees), randomized algorithms, and more.
The syllabus is:
Week 1: Introduction; "big-oh" notation and asymptotic analysis; divide-and-conquer basics.
Week 2: The master method for analyzing divide and conquer algorithms; the QuickSort algorithm and its analysis; probability review.
Week 3: Linear-time selection; graphs, cuts, and the contraction algorithm.
Week 4: Breadth-first and depth-first search; computing strong components; applications.
As explained in this video introducing Part 2 of the course, while it is a follow-on in the sense that it covers more advanced algorithms you don't necessarily have to have completed Part 1:
It specific topics are greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes), dynamic programming (knapsack, sequence alignment, optimal search trees, shortest paths), NP-completeness and what it means for the algorithm designer, analysis of heuristics, local search greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes), dynamic programming (knapsack, sequence alignment, optimal search trees, shortest paths), NP-completeness and what it means for the algorithm designer, analysis of heuristics, local search.
The workload for this course is 6-10 hours per week over 6 weeks and, like Part 1, there is a Final Exam in Week 7. Even though these exams, and the problem sets throughout the courses are graded, students who take the course for free, i.e. without a verified certificate, can participate fully and have their work marked.
IPython 5 is the first version to get Long term Support (hence the LTS name). It features a major upgrade to the terminal interface with new editing facilities which are provided by a cross-platf [ ... ]