Archive
Ten websites that teach coding and a bunch of other things – via @caleweissman
This is a great summary blog post with many good references to where you can start learning to code!
Seemingly every day there’s a new article or blog post imploring you to learn how to code. “Those who code have the power to transform their dreams into reality.” “Coding will help you keep [your job], or help you make a case for a raise.” “You should learn to program because it’s easy, it’s fun, it will increase your skill set, and… it will fundamentally change your perspective on the world.” What’s more, “If you want to start a technology company, you should learn to code.” New York City Mayor Michael Bloomberg’s New Year’s resolution was to learn how to code. Douglas Rushkoff, who calls coding “the new literacy of the digital age,” wrote an entire book about it. And didn’t Marc Andreessen say that “software is eating the world?” As a result, companies from Codecademy to edx and many others have popped up to meet this rising demand.
As a person who’s grown up in the digital age, I have often heard the cry, “digital literacy or die.” Conventional wisdom – at least today – is that in the way you know how to read and write English, “you need to have some understanding of the code that builds the Web… It is fundamental to the way the world is organized and the way people think about things these days.” If you buy that then you’ll want to start now.
But where should you go? I’ve been dabbling in the black arts, although I am by no means a ninja coder, and am ready to report back. The courses below offer everything from HTML to Python and beyond. HTML and CSS are good, because they’re the basic building blocks of Web design, and in my opinion, Python is useful, because it’s the most universal in many respects. Others say Java is better to learn, because its so prominent on the Web. I would rebut that you can learn Java from Python. Potayto. Potahto.
In any case, each program below emphasizes different pedagogical techniques and philosophies, and they are all mass market in the sense that anyone is welcome. No previous experience is necessary.
MIT Courseware Online
MIT has long been a pioneer of online courseware. One course is their Intro to Computer Science & Programming class, thought by many to be the best, most encompassing intro computing course offered. Taught by tenured MIT faculty, the online course is structured via taped lectures, written assignments, and self-assessment quizzes.
The course itself is quite rigorous as it was an intro course for MIT students. This isn’t a sort of online class you can do some parts and not the other. It requires a certain amount of pre-existing math knowhow to be truly successful. The course description says it only requires high school algebra as a prerequisite but I don’t buy this. I remember being pretty stumped by the second assignment, and I passed AP Calc with flying colors. This doesn’t mean the math is terribly high-level, but that it probably requires a certain amount of mathematical aptitude beyond algebra unless you want to spend the entire course scouring forums for help. As with any MIT course, there is an expectation that you not only know how to do a function, but why that function is performed and from where it stemmed. After attempting to follow this courseware for two sessions, I was officially stumped and dropped it.
edX
MIT and Harvard partnered up to create edX. It is a conglomeration of all of their available open courseware, along with a new department for the two institutions to perform research about the future of online courses and new pedagogical technologies. For MIT courseware, you can watch the lectures anytime, read the assignments, and self-assess. EdX has you follow the course in real time and complete the assignments and exams to receive a physical certificate from the program. It currently offers numerous classes in more subjects than just coding and far beyond the purview of Computers Science….
Continue reading here!
//Richard
Free online Computer Science courses from #Harvard College
Ok, this is really interesting (at least for a nerd like myself)!
I just stumbled across this website where the Harvard College hosts some of its courses online, you can view video recording from classes, get access to all slides, source code etc and take the course for free yourself!
They now have the following courses up there;
- Computer Science 50: Introduction to Computer Science I – Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, encapsulation, data structures, databases, memory management, security, software development, virtualization, and websites. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for concentrators and non-concentrators alike, with or without prior programming experience.
- Computer Science 164: Mobile Software Engineering – Introduction to principles of software engineering for mobile devices and best practices, including code reviews, source control, and unit tests. Topics include Ajax, encapsulation, event handling, HTTP, memory management, MVC, object-oriented design, and user experience. Languages include HTML5, JavaScript, Objective-C, and PHP. Projects include mobile web apps and native iOS apps.
- Computer Science E1: Understanding Computers and the Internet – This course is all about understanding: understanding what’s going on inside your computer when you flip on the switch, why tech support has you constantly rebooting your computer, how everything you do on the Internet can be watched by others, and how your computer can become infected with a worm just by turning it on. In this course we demystify computers and the Internet, along with their jargon, so that students understand not only what they can do with each but also how it all works and why. Students leave this course armed with a new vocabulary and equipped for further exploration of computers and the Internet. Topics include hardware, software, the Internet, multimedia, security, website development, programming, and dotcoms. Through optional hands-on sections and workshops, local students have opportunities to dissect as well as upgrade a computer with additional hardware, search the Internet more effectively, build a wireless network, create digital images, eradicate spyware, and design webpages. Problem sets offer online students similar opportunities. This course is designed both for those with little, if any, computer experience and for those who use a computer every day.
- Computer Science E76: Building Mobile Applications – Today’s applications are increasingly mobile. Computers are no longer confined to desks and laps but instead live in our pockets and hands. This course teaches students how to build mobile apps for Android and iOS, two of today’s most popular platforms, and how to deploy them in Android Market and the App Store. Students learn how to write native apps for Android using Eclipse and the Android SDK, how to write native apps for iPhones, iPod touches, and iPads using Xcode and the iOS SDK, and how to write web apps for both platforms.
Continue reading and take the courses here!
Happy coding! 😉
//Richard