Recommended Educational Resources

Introduction to Computer Science (Harvard) – iTunes

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, encapsulation, data structures, databases, memory management, 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 majors and non-majors alike, with or without prior programming experience.

Introduction to Algorithms (MIT) – iTunesMIT OCW

This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing. The textbook for this course is: Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms. 2nd ed. Cambridge, MA: MIT Press. ISBN: 0262032937.

Programming Methodology (Stanford) – iTunes

This course is the largest of the introductory programming courses and is one of the largest courses at Stanford. Topics focus on the introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Programming Methodology teaches the widely-used Java programming language along with good software engineering principles. Emphasis is on good programming style and the built-in facilities of the Java language. The course is explicitly designed to appeal to humanists and social scientists as well as hard-core techies. In fact, most Programming Methodology graduates end up majoring outside of the School of Engineering.

Programming Abstractions (Stanford) – iTunes

This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java. If you’ve taken the Computer Science AP exam and done well (scored 4 or 5) or earned a good grade in a college course, Programming Abstractions may be an appropriate course for you to start with, but often Programming Abstractions (Accelerated) is a better choice. Programming Abstractions assumes that you already have familiarity with good programming style and software engineering issues (at the level of Programming Methodology), and that you can use this understanding as a foundation on which to tackle new topics in programming and data abstraction.

Programming Paradigms (Stanford) – iTunes

Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. The functional paradigm (using LISP) and concurrent programming (using C and C++). Brief survey of other modern languages such as Python, Objective C, and C#.


Pragmatic PodcastsiTunes

Pragmatic interviews, news, techniques, and more from the Pragmatic Bookshelf.

Going LinuxiTunes

Going Linux is a podcast for computer users who just want to use Linux to get things done.

The Big Web ShowiTunes

The Big Web Show features special guests and topics like web publishing, art direction, content strategy, typography, web technology, and more. It’s everything web that matters. Hosted by Jeffrey Zeldman.


John Graham Cumming: The Greatest Machine That Never WasTED

Computer science began in the ’30s … the 1830s. John Graham-Cumming tells the story of Charles Babbage’s mechanical, steam-powered “analytical engine” and how Ada Lovelace, mathematician and daughter of Lord Byron, saw beyond its simple computational abilities to imagine the future of computers.

Kevin Slavin: How Algorithms Shape Our WorldTED

Kevin Slavin argues that we’re living in a world designed for — and increasingly controlled by — algorithms. In this riveting talk from TEDGlobal, he shows how these complex computer programs determine: espionage tactics, stock prices, movie scripts, and architecture. And he warns that we are writing code we can’t understand, with implications we can’t control.


PHP (Rock Valley) – iTunes

PHP is still the #1 web developing language in the world! This PHP Course is based off of an web based site for the PHP Course I teach at Rock Valley College. Please note the podcast will mention dates and submission items that may not pertain to this course. This an introduction to PHP and I have created all the weekly exercises to reinforce topics of importance to PHP.

Building Dynamic Websites (Harvard) – iTunes

Today’s websites are increasingly dynamic. Pages are no longer static HTML files but instead generated by scripts and database calls. User interfaces are more seamless, with technologies like Ajax replacing traditional page reloads. This course teaches students how to build dynamic websites with Ajax and with Linux, Apache, MySQL, and PHP (LAMP), one of today’s most popular frameworks. Students learn how to set up domain names with DNS, how to structure pages with XHTML and CSS, how to program in JavaScript and PHP, how to configure Apache and MySQL, how to design and query databases with SQL, how to use Ajax with both XML and JSON, and how to build mashups. The course explores issues of security, scalability, and cross-browser support and also discusses enterprise-level deployments of websites, including third-party hosting, virtualization, colocation in data centers, firewalling, and load-balancing.

Mobile Development

Coding Together: Apps for iPhone and iPad (Stanford) – iTunes

Based on Paul Hegarty’s course videos and materials offered in Fall 2011, Stanford’s most popular iTunes U course now includes peer collaboration on Piazza, so you can learn alongside fellow mobile developers from around the world. If you’ve tried it alone and gotten stuck, now there will be people to help. If you’ve taken it before and aced it, now you can sharpen your knowledge by helping others. And if you’ve been meaning to learn iOS development, there may never be a better time.

Covers iOS 5. Tools and APIs required to build applications for the iPhone and iPad platform using the iOS SDK. User interface designs for mobile devices and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management, Objective-C programming language. Other topics include: object-oriented database API, animation, multi-threading and performance considerations.

iPhone and iPad App Development (Stanford) – iTunes

Updated for iOS 5. Tools and APIs required to build applications for the iPhone and iPad platform using the iOS SDK. User interface designs for mobile devices and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management, Objective-C programming language. Other topics include: object-oriented database API, animation, multi-threading and performance considerations.

Advanced iPhone Development (Madison Area Technical College) – iTunes

While there are many resources out there to help you get started with developing for iOS devices, this course aims to answer the question: “What next?” Fundamentals of Cocoa development are explained, but the class quickly moves on to coverage of the many interesting frameworks within iOS.

Topics such as Core Animation, Core Data, OpenGL ES, multithreading, and iPad-specific development are presented from the perspective of an experienced Cocoa developer.

Thomas Suarez: A 12 Year Old App DeveloperTED

Most 12-year-olds love playing videogames — Thomas Suarez taught himself how to create them. After developing iPhone apps like “Bustin Jeiber,” a whack-a-mole game, he is now using his skills to help other kids become developers.


Advanced Topics in Web Development (ETSU) – iTunes

This course will cover advanced Web coding concepts and teach students how to add an extra layer of usability to a Web page using a current scripting language or tool. Students will learn how to create, accessible modern web applications that integrate current Web standards. Course content will include: JavaScript, AJAX, and other Web 2.0 related techniques and technologies.

Ruby on Rails


Every week you will be treated to a new RailsCasts episode featuring tips and tricks with Ruby on Rails, the popular web development framework. These screencasts are short and focus on one technique so you can quickly move on to applying it to your own project. The topics are geared toward the intermediate Rails developer, but beginners and experts will get something out of it as well. This version is for mobile devices which cannot support the full resolution version.

Learning RailsiTunes

Want to learn how to build web sites with Ruby on Rails? Learning Rails starts from the beginning and teaches all the core concepts.

Machine/Artificial Intelligence

Machine Learning (CalTech) – iTunes

This is an introductory course on machine learning that covers the basic theory, algorithms and applications. Machine learning (Scientific American introduction) enables computational systems to adaptively improve their performance with experience accumulated from the observed data. It has become one of the hottest fields of study today, with applications in engineering, science, finance, and commerce.

The course balances theory and practice, and covers the mathematical as well as the heuristic aspects. The lectures follow each other in a story-like fashion; what is learning? can we learn? how to do it? how to do it well? what are the take-home lessons? The technical terms that go with that include linear models, the VC dimension, neural networks, regularization and validation, support vector machines, Occam’s razor, and data snooping.

Applied Artificial Intelligence (JSU) – iTunes

Survey of artificial intelligence emphasizing applications in business, industrial, and scientific system development; autonomous agents, data mining, pattern recognition, and machine vision.


Intro to Micro-Controllers (Michigan) – iTunes

Pre-Enginering: Electronics with Micro-Controllers introduces students to simple circuitry and programming as they learn to use the Arduino platform. Students will learn simple programming concepts and also learn how to use a variety of basic electrical components.

After they complete the course materials my students are challenged to conceive of and construct a final project that involves Arduino. Many will simply use skills they’ve learned along the way, while others will need to learn more. Luckily there is a wealth of resources available for those students on the internet.

Massimo Banzi: How Arduino is Open Sourcing ImaginationTED

Massimo Banzi helped invent the Arduino, a tiny, easy-to-use open-source microcontroller that’s inspired thousands of people around the world to make the coolest things they can imagine — from toys to satellite gear. Because, as he says, “You don’t need anyone’s permission to make something great.”

Vijay Kumar: Robots that Fly and CooperateTED

In his lab at Penn, Vijay Kumar and his team build flying quadrotors, small, agile robots that swarm, sense each other, and form ad hoc teams — for construction, surveying disasters and far more.

Cynthia Breazeal: The Rise of Personal RobotsTED

As a grad student, Cynthia Breazeal wondered why we were using robots on Mars, but not in our living rooms. The key, she realized: training robots to interact with people. Now she dreams up and builds robots that teach, learn — and play. Watch for amazing demo footage of a new interactive game for kids.

Eythor Bender: Demos Human ExoskeletonsTED

Eythor Bender of Berkeley Bionics brings onstage two amazing exoskeletons, HULC and eLEGS — robotic add-ons that could one day allow a human to carry 200 pounds without tiring, or allow a wheelchair user to stand and walk. It’s a powerful onstage demo, with implications for human potential of all kinds.


Interactive Game Design (UC Santa Cruz) – iTunes

Foundations of Interactive Game Design has now concluded. The course was taken by 213 students at the University of California, Santa Cruz, from January 5 through March 19, 2007. People interested in the contents of the course are encouraged to view the syllabus and the lecture notes, and listen to the lecture podcasts.

Jane McGonigal: The Game That Can Give You 10 Extra Years of LifeTED

When game designer Jane McGonigal found herself bedridden and suicidal following a severe concussion, she had a fascinating idea for how to get better. She dove into the scientific research and created the healing game, SuperBetter. In this moving talk, McGonigal explains how a game can boost resilience — and promises to add 7.5 minutes to your life.

Brenda Brathwaite: Gaming for UnderstandingTED

It’s never easy to get across the magnitude of complex tragedies — so when Brenda Brathwite’s daughter came home from school asking about slavery, she did what she does for a living — she designed a game. At TEDxPhoenix she describes the surprising effectiveness of this game, and others, in helping the player really understand the story.

Gamification in the Real

The era of location-based games is here. Increasingly, marketers have learned that location-based services provide a fun, immediate and very context-driven mechanism for customers new and old to interact with their product, fundamentally changing the way we do business.

How have successful companies tapped into people’s everyday, real-world activities to enable ground-breaking new levels of user engagement? In this session, panelists will describe key strategies marketers, strategists and user experience experts utilize to effectively leverage location-based services as part of their product plans. This lively and sometimes contrarian group will describe how game mechanics are involved in these innovative marketing programs.

Jesse Schell: When Games Invade Real LifeG4 TV

Games are invading the real world — and the runaway popularity of Farmville and Guitar Hero is just the beginning, says Jesse Schell. At the DICE Summit, he makes a startling prediction: a future where 1-ups and experience points break “out of the box” and into every part of our daily lives.

David Perry: On VideogamesTED

Game designer David Perry says tomorrow’s videogames will be more than mere fun to the next generation of gamers. They’ll be lush, complex, emotional experiences — more involving and meaningful to some than real life. With an excerpt from Michael Highland’s film “As Real as Your Life.”

Building Real Worlds From ScratchTED

As online games and virtual communities have become an established part of the interactive entertainment landscape, their complexities come closer to the challenges that urban planners face in our real world.

Sony Online Entertainment’s Chris Cao and The Planning Center’s Randy Jackson will present some of the building blocks necessary to create real or virtual communities and discuss how among the many similarities, exist differences that may lead to inspire changes among both.

Games People

Games People Play with Alice Taylor, Kevin Slavin, Matt Adams, Dan Hon and Kati London. This session features an overview on the current and future state of gaming by Kevin Slavin of Area/Code, followed by a discussion of experts moderated by Alice Taylor of Channel 4.

The panelists include Kati London of Area/Code, Matt Adams of Blast Theory and Dan Hon of Six to Start.

Covering location, alternative and augmented “playful experiences,” the panel discusses audiences, numbers, content and budgets.

Who is playing what, where, when and why?

Content Development

Film MethodiTunes

Have you ever wanted to make your own film, but you are not sure where to start? Film Method is the podcast that will take you through the nuts and bolts of independent filmmaking. In a roundtable discussion format we will meet guests from all walks of filmmaker life who will share their golden nuggets of wisdom about everything from hiring a producer, to finding a composer, to seeking out investors. Season One will focus on the development phase of making a movie starting with the seeds of inspiration and writing a script or finding material with a particular audience in mind.

2Reel GuysiTunes

Dedicated to the creative process of visual storytelling, 2 Reel Guys shows that telling a good story doesn’t require a lot of money – a lot of gear – or a lot of people. Mainly, you just need the knowledge of how to shape the story into something other people want to watch. Norman Hollyn heads the Editing Track at the University of Southern California (USC) School of Cinematic Arts. Larry Jordan is a world-renowned digital media trainer, lecturer and Final Cut Studio expert. Each show illustrates a single storytelling concept in less than 10 minutes. New shows are posted every two weeks. Drop us a note and let us know what you think and what you’d like us to cover.

The Cutting RoomiTunes

The Cutting Room is a part of The Art of the Guillotine’s podcast section. Each week we interview editors from around the world about their technique and approach to film editing.

Meet the GimpiTunes

The GIMP is a image manipulation program. It is free (as in speech and in beer), it is open source and it runs on Linux (and other Unixes), Windows and MacOS. It can do nearly all the stuff you can do with Adobe® Photoshop® and more than a lot of other programs. I’ll show you in this screencast how to use it for postprocessing digital camera images. There will be a new episode each thursday (european) night.

Audacity to Podcast How ToiTunes

Learn about podcasting, Audacity, and WordPress from Daniel J. Lewis. Podcasting is a exciting and personal way to share your message with others, but how do you do it? What equipment, software, and skills do you need? We give you answers to these and more podcasting questions. Many episodes focus entirely on Audacity.

Special Thanks to In The Twenty First