Coding Courses (FYI)

From http://lifehacker.com/5974371/plan-your-free-online-education-at-lifehacker-u-spring-semester-2013#tech

Computer Science and Technology

    • University of Washington - Introduction to Computer Networks - Professors Arvind Krishnamurthy, David Wetherall, and John Zahorjan - Computer science and technology isn't all programming—sometimes it's about how computer systems relate to one another, and this University of Washington course helps break down the concepts that many of us take for granted in common sense terms that are easily understood. This course will introduce you to concepts like DNS, 802.11 and its lettered protocols, TCP/IP, HTTP, SSL, and more. Additionally, you'll get an understanding of how computer networks are designed for reliability and redundancy, and how the internet works. You'll also get to design your own semi-hosted social networking application for your Android device by the end of the class.

    • MIT - Introduction to C++ - Professors Jesse Dunietz, Geza Kovacs, and John Marrero - If you're looking for a good starter programming language, C++ is a good one to pick. A number of university computer science programs still begin with C++, mostly as it's a relatively easy language to learn and offers some foundational concepts that you'll need for more frequently used and more complicated languages you'll encounter later on. This MIT course is designed to be a rapid introduction to the language for people with little to no programming experience at all (although if you have experience, it'll be easier.) You won't need a lot of prerequisites here, but if you've been itching to learn to code, this course can help you do it at your own pace..

    • Udacity - Programming Languages (CS262) - Professor Westley Weimer - Maybe you're interested in computer science and programming, but you don't really have a grasp on all the languages out there to learn. Perhaps you're familiar with a language or two, but daunted by others. This course will help you cut through the fog and give you the fundamentals required to pick up any programming language. You won't focus on just one language here—rather, the concepts necessary to understand programming in general so you're never faced with a language you can't use logic to interpret.

    • University of California, Berkeley - CS184.1x: Foundations of Computer Graphics - Professor Ravi Ramamoorthi - If you're ready to get your hands into how computer graphics are generated, or if you've followed along with our 3D Modeling Night School and would like to learn more, this Berkeley course is for you. You'll need some math skills and an understanding of C or C++ to keep up with the class, but if you have it, this course will teach you the fundamentals that a lot of "computer graphics" and "video game school" classes won't teach you—raytracing, OpenGL, transformations, and more. If you've ever thought you were interested in game design or development, this course can offer a few skills that will serve you well in the long term, not just how to handle a specific application or dev package.

    • Carnegie Mellon University - Principles of Computing - The course description for this class points out that their goal is to show students that there's more to computer science than simply writing code, and rightfully so. In this course you'll learn very elementary and conceptual principles of computing, like iterative processes, how data is represented in binary, recursion and recursive processes, encryption and data security, and more.

    • Rose-Hulman Institute of Technology - Android Development - Professor David Fisher - We highlighted Professor Fisher's CSSE490 Android Development course last term, but it's been updated since then and is definitely worth a fresh look. The full course from Rose-Hulman Institute of Technology will help you learn how to build Android applications from start to finish, from design and development to UI. The self-paced, skill-based lessons will help you build your first Android app quickly, and if you get lost, you can pick up supporting documentation on the web. We've linked to the most recent iteration of the course, but you can check out the previous version (with videos) at the 2011 course's website, or over at Fisher's YouTube channel.

    • MIT - Information and Entropy - Professors Paul Penfield and Seth Lloyd - This course aims to explore the ultimate limits of data communication technology, from the breakdown of digital signals and physical technologies, data compression, and more. You'll explore topics like biological representations of information systems, computing architectures, noise, error correction, and even quantum computation and the possibilities it holds over the course of the class. Of course, you'll also be introduced to the concept of entropy in terms of the Second Law of Thermodynamics, and how it applies to information technology.