diff --git a/README.md b/README.md
index a190ab2..6f099a8 100644
--- a/README.md
+++ b/README.md
@@ -390,6 +390,7 @@ Courses
- CS50x is Harvard College's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan.
- [Lectures](https://cs50.harvard.edu/lectures)
- [Problem Sets](https://cs50.harvard.edu/psets)
+ - The course can also be taken from [edX](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x).
- [CS 61A](http://cs61a.org/) **Structure and Interpretation of Computer Programs [Python]** *UC Berkeley*
- In CS 61A, we are interested in teaching you about programming, not about how to use one particular programming language. We consider a series of techniques for controlling program complexity, such as functional programming, data abstraction, and object-oriented programming. Mastery of a particular programming language is a very useful side effect of studying these general techniques. However, our hope is that once you have learned the essence of programming, you will find that picking up a new programming language is but a few days' work.
- [Lecture Resources by Type](http://cs61a.org/by_type.html)
@@ -510,11 +511,12 @@ Courses
- [Book](http://stanford.edu/class/ee103/mma.html)
- [Assignments](http://stanford.edu/class/ee103/homework.html)
- [Code](http://stanford.edu/class/ee103/julia_files)
-- [CS 109](http://cs109.github.io/2014/) **Data Science** *Harvard University*
+- [CS 109](http://cs109.github.io/2015/) **Data Science** *Harvard University*
- Learning from data in order to gain useful predictions and insights. This course introduces methods for five key facets of an investigation: data wrangling, cleaning, and sampling to get a suitable data set; data management to be able to access big data quickly and reliably; exploratory data analysis to generate hypotheses and intuition; prediction based on statistical methods such as regression and classification; and communication of results through visualization, stories, and interpretable summaries.
- [Lectures](http://cm.dce.harvard.edu/2015/01/14328/publicationListing.shtml)
- [Slides](http://cs109.github.io/2014/pages/schedule.html)
- [Labs and Assignments](http://cs109.github.io/2014/pages/homework.html)
+ - [2014 Lectures](http://cs109.github.io/2014/)
- [2013 Lectures](http://cm.dce.harvard.edu/2014/01/14328/publicationListing.shtml) *(slightly better)*
- [CS 188](http://ai.berkeley.edu/home.html) **Introduction to Artificial Intelligence** *UC Berkeley*
- This course will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the statistical and decision-theoretic modeling paradigm. By the end of this course, you will have built autonomous agents that efficiently make decisions in fully informed, partially observable and adversarial settings. Your agents will draw inferences in uncertain environments and optimize actions for arbitrary reward structures. Your machine learning algorithms will classify handwritten digits and photographs. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.