Are you ready to find a school that's aligned with your interests?

One of the most amazing innovations in online learning over the past few years has been the growth and development of massive open online courses, better known as MOOCs. Generally speaking, MOOCs are college-level courses made available, free of charge, for unlimited participation by any and all students interested in the subject matter. MOOCs are often offered by highly prestigious colleges and universities like Harvard, Stanford and, most predominantly, MIT, and taught by the same professors and instructors that teach them on their famous campuses.

Given the recent appearance of MOOCs in the virtual world, it’s not surprising that one of the most popular academic subjects for MOOC classes is computer science. There are literally dozens of courses available on both the undergraduate and graduate levels across the breadth of computer-related topics. Below you will find the course titles and links to some of the most popular computer science MOOCs.

Computer Engineering

Learn how engineering theories and principles apply to computer hardware and software design and development. Choose from a broad selection of courses offered by some of the nation’s most prestigious colleges and universities, all free of charge and open to anyone.

Computer Forensics

A relatively new but rapidly growing academic field, computer forensics deals with seeking and preserving information stored in computer systems for use in criminal and civil investigations. MOOC programs in information and cyber security help students better understand the challenges of computer forensic professionals.

Computer Networking

These free online courses offer a substantial introduction to the world of computer networking. Students will learn the ins and outs of how computers and other digital devices communicate with each other through local and wide area networks using both wired and wireless systems.

Computer Programming

Learn about the languages used to make computers perform the infinite number of tasks we’ve come to depend on them for. MOOC programs in computer programming are as varied as the field itself and provide an excellent starting point for anyone interested in the broader field of computer science.

Cyber Security

Of increasing importance to the virtual world is the question of how to keep it safe from those individuals and groups that intend it harm. Cyber security is the area of computer science focused on protecting computer and communications systems from both internal and external threats to their integrity.

Database Administration

Database administration concerns the design, development and management of the information storage systems essential to the smooth operation of the digital world. MOOC courses are available on a number of topics to anyone interested in understanding how databases are created and maintained.

Information Security

Closely related to the field of cyber security, information security concerns the issues surrounding the protection of data in digital systems of every kind. MOOC courses are available on topics such as cryptography and information risk management to provide a better understanding of how data is kept safe.

Information Technology

Information technology refers to a broad range of computer-related subjects extending to virtually all facets of the digital world and telecommunications. Dozens of open online IT courses are available on all knowledge levels. A sampling of the best are listed here.

Software Engineering

Software engineering MOOC programs offer a solid introduction into the world of software design and development as well as a healthy selection of courses for those seeking more advanced knowledge in engineering theory and its applications.

Web Development

Web development focuses on the topics of website design and implementation, as well as its involvement in the fields of mobile digital devices and applications. MOOC programs are offered in a broad range of related subjects including computer graphics, animation, website construction and many others.

Top Online Programs

Explore programs of your interests with the high-quality standards and flexibility you need to take your career to the next level.

Computer Engineering

Computer engineering refers to the integration of electronic engineering and the digital world. It is often confused with computer science, but is its own distinct field. Computer engineers are educated to design both software and firmware, and integrate them into new and existing hardware. Computer engineering includes the development of computer-related components of practically every kind including microprocessors, circuit boards, analog sensors, chips, robotics, and many, many others. Degree programs in computer engineering are quite popular on college and university campuses around the world.

Computer engineering is also a popular subject for MOOCs, with a wealth of both introductory and advanced courses offered. Students interested in a career in the computer sciences may find one of the below-listed MOOCs a good place to begin their research into the field.

Course List
Course TitleSchool
Advanced Circuit TechniquesMIT
Analysis and Design of Digital Integrated CircuitsMIT
Circuits and ElectronicsMIT
Complex Digital SystemsMIT
Computation StructuresMIT
Cyber-Physical SystemsUC Berkeley
Dynamic Systems and ControlMIT
Electromagnetic EnergyMIT
Game Theory with Engineering ApplicationsMIT
Human-Computer InteractionStanford
Introduction to Electrical Engineering and Computer ScienceMIT
Introduction to HapticsStanford
Introduction to NanoelectronicsMIT
Microelectronic Devices and CircuitsMIT
NanomanufacturingStanford
Principles of Computer SystemsMIT
Semiconductor Optoelectronics: Theory and DesignMIT
Signals and SystemsMIT
Solid State CircuitsMIT
Theory of Parallel HardwareMIT
Theory of Parallel SystemsMIT

Computer Forensics

Are you someone that is fascinated by both computers and the law? If so, you may be interested in a career in computer forensics. Computer forensics is the branch of computer science concerned with the investigation, collection and analysis of digital information to be used as evidence in criminal and civil legal proceedings. Experts in computer forensics are also involved in the development of techniques and equipment for rooting out criminal activity in computer systems and other digital storage media.

The exciting field of computer forensics is a rapidly growing one among students and postsecondary institutions alike. New courses are being developed all the time. Here are a number of the open online courses currently available to prospective computer forensic professionals.

Course List
Course TitleSchool
Computer NetworksMIT
Cyberpolitics in International Relations: Theory, Methods, PolicyMIT
Database, Internet, and Systems Integration TechnologyMIT
Designing and Executing Information Security StrategiesUniversity of Washington
Ethics and the Law on the Electronic FrontierMIT
Hardware SecurityUniversity of Maryland
Information Security and Risk Management in ContextUniversity of Washington
Information Technology EssentialsMIT
Intensive Introduction to Computer ScienceHarvard
Introduction to CybersecurityNational Cybersecurity Institute at Excelsior College
Network and Computer SecurityMIT
Securing Digital DemocracyUniversity of Michigan
Selected Topics In CryptographyMIT
Software SecurityUniversity of Maryland
Technopanics: Moral Panics about TechnologyMIT

Computer Networking

Computer networking is the area of computer science that is concerned with how digital devices communicate between one another. It incorporates aspects of a number of related fields such as computer engineering, information technology, computer science, data storage and maintenance, programming and telecommunications. Sub-topics that fall under the computer networking heading include local area networks (LAN), wide area networks (WAN), network design, network protocols, home networking, wired and wireless networking, and many others. Computer networking also involves internet-related services like peer-to-peer (P2P) file sharing systems and public web sites.

MOOC courses in computer networking are numerous and provide a substantial glimpse into the field of digital communications. Taking one or more of the courses listed here may help you decide if a future in computer networking is right for you.

Course List
Course TitleSchool
Distributed Computer Systems EngineeringMIT
Communications and Information PolicyMIT
Computer NetworksMIT
Computer NetworksUniversity of Washington
Computational Biology: Genomes, Networks, EvolutionMIT
Data Communication NetworksMIT
Electromagnetics and ApplicationsMIT
Introduction to Communication, Control, and Signal ProcessingMIT
Introduction to Computer NetworkingStanford
Network OptimizationMIT
Networked LifeUniversity of Pennsylvania
NetworksMIT
Networks: Friends, Money and BytesPrinceton
Networks Illustrated: Principles without CalculusPrinceton
Software Defined NetworkingGeorgia Institute of Technology
TechniCityOhio State University

Computer Programming

Computer programming, simply put, is the process of writing code and creating software programs that tell computers what to do. More specifically, computer programmers take the designs and work of engineers and software developers and, through the use of any number of computer languages, author the instructions that a computer can follow. Computer programmers also update and expand on existing programs and debug programs by testing and fixing coding errors. They additionally reference code libraries and develop software to automate or simplify their writing tasks.

Computer programming MOOCs are available for several computer languages and provide an excellent introduction to the fundamentals of programming. Other courses are designed for experienced code writers to expand and deepen their programming knowledge.

Course List
Course TitleSchool
Adventures in Advanced Symbolic ProgrammingMIT
Algorithms: Design and Analysis, Part 1Stanford
An Introduction to Interactive Programming in PythonRice University
Coding Together: Developing Apps for iPhone and iPadStanford
Computer Science 101Stanford
Effective Programming in C and C++MIT
Introduction to AlgorithmsMIT
Introduction to C Memory Management and C++ Object-Oriented ProgrammingMIT
Introduction to Computer Science and ProgrammingMIT
Introduction to Programming in JavaMIT
Java Preparation for 6.170MIT
Nonlinear ProgrammingMIT
Program AnalysisMIT
A Gentle Introduction to Programming Using PythonMIT
Algorithms: Design and Analysis, Part 2Stanford
Building Programming Experience: A Lead-In to 6.001MIT
Computer Language EngineeringMIT
Design and Analysis of AlgorithmsMIT
Essential Coding TheoryMIT
Introduction to C++MIT
Introduction to Computer ScienceHarvard
Introduction to MATLABMIT
iPad and iPhone App DevelopmentStanford
Multicore Programming PrimerMIT
Practicing Programming in CMIT
Programming LanguagesMIT

Cyber Security

You can’t turn on the news today without hearing something about worries over potential or actual security breaches in the government or public computer systems, or the theft of private financial data. Preventing these thefts and breaches is what cyber security is all about. The growing number of cyber attacks has led to a rapidly expanding need for more sophisticated techniques to resist them and for more professionals in the cyber security field.

Anyone interested in a career in the computer sciences would do well to consider the sub-field of cyber security. MOOC courses in cyber security are offered in several related topics including cyber terrorism, cyber espionage and cyber warfare, a number of which are listed below.

Course List
Course TitleSchool
Advanced Topics in CryptographyMIT
Cryptography IStanford
Cryptography and CryptoanalysisMIT
Distributed Computer Systems EngineeringMIT
Introduction to CybersecurityNational Cybersecurity Institute at Excelsior College
Securing Digital DemocracyUniversity of Michigan
Software SecurityUniversity of Maryland
Wiretaps to Big Data: Privacy and Surveillance in the Age of InterconnectionCornell
CryptographyUniversity of Maryland
Cybersecurity and CISSPKennesaw State University
Hardware SecurityUniversity of Maryland
Network and Computer SecurityMIT
Selected Topics in CryptographyMIT
Usable SecurityUniversity of Maryland

Database Administration

Database administration (also known as DBA) is the area of computer science that focuses on the management of database systems. More specifically, DBA involves the installation, configuration, monitoring and maintenance of data management systems for virtually any type of business or organization. DBA professionals create and develop databases, ensure efficient database access and operation, backup and restore data to prevent the loss of information and secure database systems to keep them from being hacked or stolen. There are two common DBA specialties: system DBA, which concerns the physical and technical aspects of a database; and application DBA, which deals with databases designed for particular applications.

The MOOCs listed below represent a sampling of the free courses available online for students interested in database administration.

Course List
Course TitleSchool
Advanced Data StructuresMIT
Biochemical ComputingMIT
Database, Internet, and Systems Integration TechnologiesMIT
Database SystemsMIT
Introduction to DatabasesStanford
Learning from DataCalTech
Practical Machine LearningJohns Hopkins
The Data Scientist’s ToolboxJohns Hopkins
Big Data and Social PhysicsMIT
Data Communication NetworksMIT
Databases: Self-PacedStanford
Developing Data ProductsJohns Hopkins
Introduction to Data ScienceUniversity of Washington
Metadata: Organizing and Discovering InformationUniversity of North Carolina at Chapel Hill
R ProgrammingJohns Hopkins

Information Security

Information security concerns the protection of information from unauthorized access, use, modification or destruction. In regard to the digital world, the terms “information security” and “cyber security” are often used interchangeably. However, many professionals distinguish the two, using the term “information security” in reference to the protection of personal information and information systems in any realm, while using the term “cyber security” in regard to a larger, more universal information infrastructure. Information security often includes such topics as password protection, antivirus and malware protection, personal privacy and the encoding of data.

Information security is also similar to cyber security in that both career fields are rapidly growing. Anyone interested in the information security profession may want to consider taking one of the several MOOC offerings listed below.

Course List
Course TitleSchool
Advanced Topics in CryptographyMIT
CryptographyUniversity of Maryland
Designing and Executing Information Security StrategiesUniversity of Washington
Hardware SecurityUniversity of Maryland
Network and Computer SecurityMIT
Software SecurityUniversity of Maryland
Wiretaps to Big Data: Privacy and Surveillance in the Age of InterconnectionCornell
Building an Information Risk Management ToolkitUniversity of Washington
Cryptography IStanford
Cryptography and CryptoanalysisMIT
Distributed Computer Systems EngineeringMIT
Information Security and Risk Management in ContextUniversity of Washington
Selected Topics in CryptographyMIT
Usable SecurityUniversity of Maryland

Information Technology

Information technology (commonly referred to as IT) covers a broad range of computer science subjects involving the use of computers and telecommunications equipment to store, transmit and retrieve data of all kinds for individuals, businesses and other organizations. The term encompasses computers and computer networks, as well as other data storage and delivery components including television, telephones, the internet and satellite systems.

By definition, the IT field is one that overlaps with any number of other computer science subject areas. Therefore, anyone seriously thinking about the computer science profession will find IT a good place to start his or her career research. To learn more about information technology, consider enrolling in one of the MOOC classes listed below.

Course List
Course TitleSchool
Advanced AlgorithmsMIT
Artificial IntelligenceUC Berkeley
AutomataStanford
Computational Models of DiscourseMIT
Distributed AlgorithmsMIT
General Game PlayingStanford
Information and EntropyMIT
Introduction to EECS II: Digital Communications SystemsMIT
Introductory Digital Systems LaboratoryMIT
Machine LearningStanford
Medical ComputingMIT
Parallel ComputingMIT
Principles of Digital Communications IIMIT
Quantum Information ScienceMIT
Randomized AlgorithmsMIT
Techniques in Artificial IntelligenceMIT
Advanced Natural Language ProcessingMIT
Artificial IntelligenceMIT
BitsHarvard
Convex OptimizationStanford
Game Theory II: Advance ApplicationsStanford
Graph Partitioning and ExpandersStanford
Information TheoryMIT
Introduction to LogicStanford
Machine LearningMIT
Machine VisionMIT
Natural Language and the Computer Representation of KnowledgeMIT
Principles of Digital Communications IMIT
Probabilistic Graphical ModelsStanford
Queues: Theory and ApplicationsMIT
Representation and Modeling for Image AnalysisMIT

Software Engineering

Software engineering is the computer science discipline related to the application of engineering principles to the creation and development of computer software. Software engineering is closely related to computer programming and the two terms are often used interchangeably. There is a difference, however, in regard to scope. Software engineers focus more on the overall design of software, while programmers focus on turning an engineer’s design into a usable form by writing the code that a computer can understand.

Becoming a software engineering professional requires earning a college degree. Enrolling in one or more MOOC courses is a good way to find out if software engineering is right for you before investing the time and money in a degree program.

Course List
Course TitleSchool
CompilersStanford
Computer System EngineeringMIT
Convex Analysis and OptimizationMIT
Creating Video GamesMIT
Developing Apps for IOSStanford
Developing IOS 7 Apps for iPhone and iPadStanford
Dynamic Programming and Stochastic ControlMIT
Elements of Software ConstructionMIT
Foundations of Computer GraphicsUC Berkeley
Foundations in Software EngineeringMIT
Introduction to Computer Science-Programming AbstractionsStanford
Introduction to Mathematical ProgrammingMIT
Knowledge-Based Application SystemsMIT
Natural Language ProcessingStanford
Introduction to Computer Science-Programming MethodologyStanford
Introduction to Computer Science-Programming ParadigmsStanford
Introduction to Programming in JavaMIT
Laboratory in Software EngineeringMIT
Multithreaded Parallelism: Languages and CompilersPrinceton
Operating System EngineeringMIT
Performance Engineering of Software SystemsMIT
Software as a ServiceUC Berkeley
Software Engineering ConceptsMIT
Software StudioMIT
Startup EngineeringStanford

Web Development

Web development is a term broadly employed to describe any work involved in the development of a web site for the internet or a private network. As with many other computer science subjects, the boundaries defining one field from another are often blurred and involve a good deal of overlap. This is certainly true regarding the fields of web development and web design. Web design deals more with the overall visual appearance and ease of use of a website while web development focuses more on the inner workings and applicable coding employed. Nevertheless, the terms are often used interchangeably.

The MOOC classes listed below encompass the broader boundaries of the web development field and include courses on web basics as well as more advanced topics.

Course List
Course TitleSchool
Algorithms for Computer AnimationMIT
Building a Basic WebsiteUMass Amherst
Creative, Serious and Playful Science of Android AppsUniversity of Illinois
e-Learning EcologiesUniversity of Illinois
Introduction to Recommender SystemsUniversity of Minnesota
Social Network AnalysisUniversity of Michigan
Topics in Theoretical Computer Science: Internet Research ProblemsMIT
Web Application ArchitecturesUniversity of New Mexico
Applied Multimedia TechnologyNotre Dame
Computer GraphicsMIT
Database, Internet, and Systems Integration TechnologiesMIT
Internet History, Technology and SecurityUniversity of Michigan
Principles of DesignMIT
Software Engineering for Web ApplicationsMIT
User Interface Design and ImplementationMIT

Recommended Reading

Take the next step toward your future.

Discover programs you’re interested in and take charge of your education.