My Take
I use Codecademy as an assignment in online classes. Students don't get stuck, because of the step by step interactive directions. They also have a hands-on experience with the subject matter. You can assign HTML, PHP, or JavaScript lesson, and more are being built.
How I Use It
I assign a section, like the Web Fundamentals, as homework. After completion the student takes a screenshot of the course listing, which shows the percentage completed. The student uploads the screenshot to the LMS for grading.