100 Open Technology Courses You Should Have Taken in College

by Staff Writers

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.


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

  1. Artificial Intelligence: What are the concepts behind artificial intelligence? How do you develop intelligent technology? This course will examine these topics and more. [MIT]
  2. The Art of Approximation in Science and Engineering: Learn to make intelligent estimations about complex phenomena through the lessons in this course. [MIT]
  3. Videogame Theory and Analysis: This course examines the cultural, educational, and social implications of video games. [MIT]
  4. Fundamentals of Computational Media Design: Those working in a design field can learn more about the intricacies of using computers to create media arts. [MIT]
  5. Digital Typography: Fonts don't just make themselves, someone has to make them using a computer. This course will help you better understand the process. [MIT]
  6. Introduction to the History of Technology: This course examines the political, historical and cultural influences that shaped the rise of modern technology. [MIT]
  7. Techno-identity: Who We Are and How We Perceive Ourselves and Others: Is your online identity more or less true to your real self? Check out this course to learn more about defining the self online. [MIT]
  8. Art and Technology: Learn about the history of art and technology through this course and its new implications in fields like biology and engineering. [Capilano University]
  9. Online Media Law: The Basics for Bloggers and Other Online Publishers: Here you'll learn all the important legal stuff you'll need to know before publishing anything to the web. [News University]
  10. Ethics and the Law on the Electronic Frontier: Here, you'll get an comprehensive introduction to issues like internet regulation, fourth amendment law, surveillance and more. [MIT]
  11. Transmission of Information: Take this course online to learn about the quantitative theory of information and how can be practically applied. [MIT]
  12. Representing and Manipulating Data in Computers: This entry-level course will help students to gain knowledge in how to store and use information in a computer system from this course. [OpenLearn]

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.

  1. Communicating in Cyberspace: This course focuses on the analysis, design, implementation and testing of various forms of digital communication. [MIT]
  2. Communications and Information Policy: Examine the legal side of communications in this course that addresses the current issues in communications policy and their historical roots. [MIT]
  3. Digital Communications: This course will cover some of the more technical aspects of digital communications so you can better understand the mechanics of how they work. [OpenLearn]
  4. Intro to Tech Communication: People in all professions need to be able to communicate effectively. This course will help you build the necessary skills to work in a technical setting. [MIT]
  5. Introduction to Technical Communication: Ethics in Science and Technology: This course will address the design, use, and propagation of technology and how any issues that arise may be communicated to businesses associates. [MIT]
  6. Principles of Digital Communications I: This two-part course covers block diagram levels, data compression, Lempel-Ziv algorithms, scalar and vector quantizations and much more. [MIT]
  7. Principles of Digital Communications II: This course expands on the lessons of Digital Communications I, offering lessons on how to use, program and understand a variety of digital communication channels and coding. [MIT]

Web Development

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

  1. Social Visualization: Learn how to make virtual representations that track the visitors to any website through this course. [MIT]
  2. 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]
  3. Interactive Media Production: Through this class you'll gain the skills and expertise to create a wide variety of animations in Flash 9.[USU]
  4. Fundamentals of Computational Media Design: You'll get hands on experience in working with a variety of media design tools in this course. [MIT]
  5. Flash: This course will teach you how to use Flash 8 to create a great project or build an awesome website. [USU]
  6. 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]
  7. 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]
  8. 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]
  9. 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.

  1. Introduction to Computer Science and Programming: Even those with little or no programming experience will be able to follow along with this great introductory course. [MIT]
  2. Structure and Interpretation of Computer Programs: Check out this course to learn the fundamentals of computation, from the inside out. [MIT]
  3. Signals and Systems: This course will use filtering, audio and image processing, communications, and automatic control to explore how signals and systems work. [MIT]
  4. Great Ideas in Theoretical Computer Science: Take on computer science from a theoretical perspective in this great intermediate course. [MIT]
  5. Topics in Theoretical Computer Science : Internet Research Problems: This course expands on the lessons from Great Ideas in Theoretical Computer Science but with a focus on the internet and research applications. [MIT]
  6. Affective Computing: In this course you'll get a chance to look more closely at how emotions work in computer-human interactions. [MIT]
  7. Theory of Computation: Take this course to learn more about Automata and Language Theory, Computability Theory, and Complexity Theory among other topics. [MIT]
  8. Data and Processing in Computers: Here you'll learn about the forms of data used on computers and the types of processes most commonly applied to them. [OpenLearn]


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.

  1. Building Programming Experience: Designed for those who have little experience in programming, this course provides a gentle introduction to Java and other programming languages. [MIT]
  2. Java Preparation: If you'd like to learn work with the programming language Java, then check out this course, with a comprehensive set of lecture notes and assignments. [MIT]
  3. Introduction to Software Engineering in Java: Even if you know little about programming this course can help you build the skills necessary to create useful applications. [MIT]
  4. A Gentle Introduction to Programming Using Python: Learn how to plan and program using Python in this introductory course. [MIT]
  5. Dynamic Programming and Stochastic Control: This course is based on the textbook, Dynamic Programming and Optimal Control, written by Professor Dimitri Bertsekas. [MIT]
  6. Nonlinear Programming: From optimality conditions to Lagrangian relaxation, this course will cover a wide range of issues in nonlinear programming. [MIT]
  7. Programming Languages: In this course, students get a chance to work with the programming language Scheme +. [MIT]
  8. Essential Coding Theory: This course will provide an informative overview of the developments in coding theory from the 1940's to present day. [MIT]

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.

  1. Structure and Interpretation of Computer Programs: This course is heavy in programming, and will teach students how to design and understand computer programs. [MIT]
  2. User Interface Design and Implementation: Any program you design won't get far if it's hard to use. This course offers some advice on building better user interfaces. [MIT]
  3. Pervasive Human Centric Computing: In this course, students will learn not only how to work with computers but with handheld computers, cell phones, and GPS systems as well. [MIT]
  4. Laboratory in Software Engineering: Learn what goes into developing large scale software systems through this course. [MIT]
  5. Foundations of Software Engineering: Using C# and .NET, this course will examine the basic principles behind building great software. [MIT]
  6. The Software Business: Those with dreams of working in the tech industry can learn what it takes through this course. [MIT]
  7. Common Sense Reasoning for Interactive Applications: Through this course, students will use their knowledge of common sense reasoning to build interactive systems that take advantage of this concept. [MIT]
  8. Computer Graphics: Check out this class to get an introduction to computer graphics hardware, algorithms, and software.[MIT]
  9. Program Analysis: This course covers a range of program analysis techniques focusing on the design and implementation of programming tools. [MIT]
  10. Designing the user interface: text, colour, images, moving images and sound: Learn how to design programs that look good, run smoothly and are user friendly in this course. [OpenLearn]

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.

  1. Information Technology I: Those new to information technology can get a good foundation in the technical language and concepts behind it in this course. [MIT]
  2. Global Issues in Information Technology: Information technology doesn't just have an impact here, but around the world as this course explains. [TWB]
  3. Practical Information Technology Management: If you're hoping to move into a management position in IT, this course can give you some great pointers. [MIT]
  4. Information Technology in the Health Care System of the Future: Whether you work in health care or you'd like to, this course will explore how technology is changing the face of information management in the field. [MIT]
  5. Information Technology Essentials: Learn the basics of IT from this introductory course. [MIT]
  6. Information Technology and the Labor Market: In this course you'll learn about the effect information technology has had on how businesses work. [MIT]
  7. Networks: Theory and Application: From social networks to the internet itself, this course addresses many key issues in networking. [U of Mich]
  8. Computer Networks: Through this course, students are asked to explore how the global internet works and think about ways to develop programs that can work well for everyone. [MIT]
  9. Database, Internet, and Systems Integration Technologies: In this course, students will learn about software development methods, data modeling and databases, application development, web development and much more. [MIT]
  10. High Speed Communication Circuits and Systems: Check out this course to learn more about the inner workings of wireless and broadband data link applications. [MIT]
  11. Data Communication Networks: Learn why networks are structured the way they are and the challenges that face the designers of these networks in the future. [MIT]
  12. Database Systems: This course addresses some of the basics of database systems, covering topics like relational algebra and data model, schema normalization, query optimization, and transactions. [MIT]
  13. Data Structures and Programming Methodology: Through this course students will learn how to deal with fundamental data structures, use algorithms and do basic Java programming. [UC Berkeley]
  14. Database, Internet, and Systems Integration Technologies: Check out this free course to learn more about software development methods, data modeling and databases, application development, Web standards and development, system integration, security, and data communications.[MIT]


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

  1. Network and Computer Security: From cryptography to authentication, this course covers a wide range of interesting security topics. [MIT]
  2. Cryptography and Cryptanalysis: Take this course to get a great foundation in modern theories and applications of cryptography. [MIT]
  3. Advanced Topics in Cryptography: In this course you'll learn about interactive proofs, zero-knowledge proofs, zero-knowledge proofs of knowledge, non-interactive zero-knowledge proofs, secure protocols and more. [MIT]
  4. Selected Topics in Cryptography: This course focuses on how to define and construct protocols that work well with today's network security. [MIT]
  5. An introduction to information security: Those with absolutely no experience in information security should go through the reading material provided in this course. [OpenLearn]
  6. Network Security: Beginners can learn the basics of network security through this course. [OpenLearn]


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

  1. Introduction to Algorithms: Those who want to better understand algorithms and their applications in technology should check out this course. [MIT]
  2. Mathematics for Computer Science: Through this course you'll get a chance to learn about the math that underlies much of computer science. [MIT]
  3. 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]
  4. 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]
  5. 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]
  6. 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]
  7. 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.


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

  1. Circuits and Electronics: Check out this course for an introductory survey of the basics of electrical engineering. [MIT]
  2. Computation Structures: Ever wonder how computers work and what all those parts actually do? You can learn more in this great course. [MIT]
  3. Microelectronic Devices and Circuits: In this course you can learn about modeling, designing and utilizing microelectronic devices. [MIT]
  4. Electromagnetics and Applications: Learn how electromagnetism is playing a role in many modern devices through this course. [MIT]
  5. Computer System Engineering: Here you can get a better idea of what goes into designing computer software and hardware. [MIT]
  6. Computer Language Engineering: This course is designed around a project in which students build a compiler using Java. [MIT]
  7. Optical Engineering: Check out this class to learn more about diffraction, statistical optics, holography, and imaging. [MIT]


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

  1. Computer Games and Simulations for Investigation and Education: Games aren't just for fun when they're used in the classroom. This course will show how these fun interactive programs can become valuable learning tools. [MIT]
  2. Accessibility of eLearning: Why learn online? This course will explain the methods, reasons and growing interest in elearning. [OpenLearn]
  3. Educational Technologies in Learning Theories: Read the materials included with this course to familiarize yourself with the ways that technology can be employed in the classroom while still sticking to educational theories. [TWB]
  4. Information and Communication Technology in Education: Explore the ways that technology can affect learning at home and around the world in this course. [TWB]
  5. Producing Distance Education Resources: Distance learning is becoming an increasingly common way to earn a degree. This course will help you learn and understand the technologies necessary to make this work. [USU]
  6. Networks for Learning: This course combines theories about how the brain learns with computational topics like computer vision, computer graphics, and database search. [MIT]
  7. Teaching using digital video in secondary schools: See how digital video can be used to learn through this short course.[OpenLearn]
  8. Technological Tools for School Reform: Many people believe that America's schools are in dire need of reform. This course explores the role technology may play in that. [MIT]
  9. Technologies for Creative Learning: Through this course you will learn the new ways that technology is helping change the way people learn. [MIT]
  10. Blogs, Wikis, New Media for Learning: These online applications are changing how people learn and share information. Learn more about the process here. [USU]
  11. Digital Libraries: Check out this course to see how digital media is changing the face of the library. [U of Mich]
  12. Autism Theory and Technology: This course will give you a background in autism theory so that you can better innovate new technologies to be used by those with autism. [MIT]