You may have already graduated from college, but that doesn't mean you have to stop learning. For many people, taking advantage of open courseware can be a great way to build skills that can be applied directly to the workplace. Whether you went to college before computers were prevalent, or ended up working a more technologically-focused field than you anticipated, these courses can help you learn about a myriad of technological topics.

General

These online courses cover a wide range of topics to help you get a well-rounded education in technology.

Communications Technology

Much of our communication these days takes place through technological means like mobile phones and email. You can learn more how these work and how you can more effectively employ them in these courses.

Web Development

These courses cover everything from programming websites to learning how to create designs that are user friendly.

Social Visualization: Learn how to make virtual representations that track the visitors to any website through this course. [MIT]

Learn and Apply HTML: As one of the most common web languages, HTML is an essential skill for anyone working on the net. Learn more here. [USU]

Interactive Media Production: Through this class you'll gain the skills and expertise to create a wide variety of animations in Flash 9.[USU]

Fundamentals of Computational Media Design: You'll get hands on experience in working with a variety of media design tools in this course. [MIT]

Flash: This course will teach you how to use Flash 8 to create a great project or build an awesome website. [USU]

Designing Sociable Media: Learn how the design of social websites influences how people use them to interact, valuable skills and knowledge for those who want to use new media in any field. [MIT]

Software Engineering for Web Applications: This course will help you learn how to deal with the challenges that arise in designing software for the web. [MIT]

People-centered Design: Learn how to improve the design of your webpages and programs to better suit the needs and desires of your customers and users. [OpenLearn]

Creating Home Pages on the World Wide Web: Check out this course to learn how you can create an internet home page to help your business or professional endeavor. [University of Minnesota]



Computer Science

If you want to learn some of the basics of computer science and expand your knowledge of the field, these courses can help you along.

Programming

You can adapt or build almost any program to meet your needs when you know a little bit about programming. Look through the materials in these courses to build some great basic skills.

Software Design

Whether you want to know how to design an app for the iPhone or want to make a career out of software design, these courses can give you the fundamentals.

Information Technology

IT is a growing career field and one that can offer a number of opportunities to those with the right skill set. These courses can help you learn the basics and determine if it's the right career path for you.

Security

These courses can be useful for both personal and professional information security.

Mathematics

If you've never learned about the mathematics behind technology, these courses will help fill you in.

Introduction to Algorithms: Those who want to better understand algorithms and their applications in technology should check out this course. [MIT]

Mathematics for Computer Science: Through this course you'll get a chance to learn about the math that underlies much of computer science. [MIT]

Probabilistic Systems Analysis and Applied Probability: This course will address some of the fundamentals of probability but also explore how these principles can be applied in a practical setting. [MIT]

Automata, Computability, and Complexity: This is an introductory course that will lay out mathematical models of computation and the finite representation of infinite objects. [MIT]

Introduction to Mathematical Programming: Here students will predominantly learn about algorithms and get a chance to see how they can be applied directly to networks and programming. [MIT]

Fundamentals of Probability: If you want to learn more about probability and how to apply it to your computer science studies check out this free course. [MIT]

Distributed Algorithms: Through this course, students will learn about the latest research in distributed algorithms and get a chance to carry out their own experiments as well.



Engineering

Those who love to tinker and create DIY projects will appreciate these courses about the basics of electrical and computer engineering.

Circuits and Electronics: Check out this course for an introductory survey of the basics of electrical engineering. [MIT]

Computation Structures: Ever wonder how computers work and what all those parts actually do? You can learn more in this great course. [MIT]

Microelectronic Devices and Circuits: In this course you can learn about modeling, designing and utilizing microelectronic devices. [MIT]

Electromagnetics and Applications: Learn how electromagnetism is playing a role in many modern devices through this course. [MIT]

Computer System Engineering: Here you can get a better idea of what goes into designing computer software and hardware. [MIT]

Computer Language Engineering: This course is designed around a project in which students build a compiler using Java. [MIT]

Optical Engineering: Check out this class to learn more about diffraction, statistical optics, holography, and imaging. [MIT]



Education

These courses can help you learn about educational applications of technology whether you're a teacher or a tech specialist.