Free Online Lectures and Courses for Computer Science

Updated on August 18, 2026

In its purest form, computer science is the research and development of technology that solves specific problems. Computer science has brought the world smart phones, GPS systems, the gaming industry and tablet computing, along with technological developments that assist government, industry and medicine. In addition to creating new technology, computer scientists also make improvements to existing technology and study the ways computers can make our lives easier.

As with any branch of science, computer scientists perform research that establishes new information. This research begins with known mathematical algorithms and computer theory, and strives to constantly redefine what technology can do for us. Computer science also addresses how existing technology can be used in ways previously undiscovered, creating applications that may be faster, simpler, more efficient or less costly.

Exploring fundamental questions about computation is the first step toward designing the hardware, software and complex network systems that we rely upon. Some computer scientists focus entirely on theory, some concentrate on programming and still others work on user applications. The end result of this research includes new tools and methodologies that drive better business practice, scientific applications and social networking.

Sample Courses

During the first two years of a standard 4-year program, students focus on the basics:

  • Calculus I, II, & III
  • Program Design
  • Foundations of Computing
  • Data Structure
  • Introduction to Algorithms
  • Computer Architecture
  • Information Retrieval
  • Computer Graphics

Typical core courses in a Bachelor of Science in Computer Science are taken in the third and fourth year, and may include the following:

  • Algorithm Design and Analysis
  • Technical Writing
  • Database Construction
  • Object-Oriented Software
  • Compilation
  • Artificial Intelligence: Control and Planning
  • Mobile Applications
  • Wireless Networks
  • Software Engineering
  • Data Mining Methodology

Possible Specializations

Specialization within computer science generally falls into one of three categories: hardware, software or robotics.

Hardware refers to the machinery of computers. Hardware consists of the processors and chips that send, receive and process information. It can also extend to peripherals that function outside of the computer, like printers, disk drives, monitors, keyboards, tracking devices or game controllers.

Software, on the other hand, is the tool with which we instruct computers to perform tasks. Software programs can include Internet browsers, game systems, GPS technology, search engines or social network applications that are operable on a smartphone. Software design is highly complex and demands accuracy and precision.

Robotics explores how computers interact with our world, seeking ways for computers to reproduce tasks performed by humans. Robotics specialists work closely with both hardware and software designers to create effective robots and explore their full potential.

Degree Types

The four core degree levels for computer science come with their own distinct possibilities upon graduation. The higher the degree level, the more senior the computer scientist, which can mean more research-intensive, academically grounded positions. Review brief depictions of each degree below.

Associate

An entry-level degree largely designed for students to get their bearing in the computer science field. Once an associate in computer science is earned, they can then pursue a bachelor's, ideally with many core credits already earned. While full-time compsci positions are hard to acquire with an associate's alone, the programming knowhow and fundamental skills taught at this level are an excellent introduction to the field. Particularly talented programmers may only need an associate's to land a position, relying on their own affinities to fill in what a bachelor's or graduate degree could teach them.

Bachelor's

Bachelor's in computer science programs require mathematics, physics and engineering classwork. There are a number of interdisciplinary specializations available for talented computer scientists, but students must first master programming, algorithms and network systems.

Master's

Graduates may pursue a master's in computer science, which imparts even more practical knowledge to its candidates. Generally two years in length, a master's program provides a working knowledge of some of the most current applications in use.

Ph.D.

Computer scientists who are interested in research may opt to pursue a Ph.D. in computer science. Ph.D. programs delve deeply into computational theory and encourage students to innovate within the field. Students who complete the Ph.D. program, usually within 4 to 6 years after undergraduate school, are groomed for a career performing research projects and teaching.

Ideal Candidates for Computer Science

Computer scientists are generally logical thinkers and good problem-solvers. Creativity is also a necessary trait for developing innovative ideas, and an affinity for mathematics is definitely helpful. If you have these traits, along with good critical thinking skills and close attention to detail, computer science may be the field for you.

It is important to note that computer scientists usually work in a collaborative environment; these positions do not entail working alone in front of a computer. Effective communications skills and the ability to function on a team are also essential.

If the course curriculum and career possibilities for computer scientists appeal to you, you may be that special breed of mathematician and creative puzzle-solver that the industry requires. Research undergraduate degree programs in computer science, and consider scheduling a meeting with a professor or advisor to discuss a program in more depth. Research student affiliates of professional computer science networking groups, or consider taking part in a local computer science club to make contacts and explore the field.

Career Pathways

Computer scientists fresh out of an undergraduate program have several choices. The majority of these graduates accept an entry-level position in programming, software engineering or web development. Entry-level titles may include:

  • Systems Administrator
  • Software Developer
  • Software Engineer
  • Business Analyst
  • Network Engineer
  • Java or .NET Developer

With a few years of experience, promotions to higher corporate positions can be expected. Computer scientists who prefer to remain in industry often choose this time to pursue a terminal master's degree to hone their practical skills in computer science.

Computer scientists who lean more towards research than practical application are sometimes able to attain an entry-level position in a research and development firm or software company, but graduate work is encouraged for significant advancement. Some researchers choose to spend their careers pursuing complex problem-solving that results in new products for the marketplace. Earning a PhD provides these computer scientists with the facilities and funding necessary for intense research.

83 Courses

Get More Out of Your Online Computer Science Courses

Computer Science Journals & Trade Magazines

Journals

Computational Intelligence in Neuroscience

This open access journal features papers from the interdisciplinary field of neural computing, neural engineering and artificial intelligence.

Computer Engineering and Applications Journal

Published three times per year, this open access journal promotes articles covering all areas of the subject in computer engineering and application.

Computer Science and Information Systems

Original articles in this journal address theoretical foundations of computer science and commercial, industrial, or educational aspects.

International Journal of Artificial Intelligence & Applications

The IJAIA is a bi-monthly open access journal that publishes articles in all areas of artificial intelligence & applications.

International Journal of Information Security Science

International peer-reviewed journal of information security published by Gazi University in Ankara, Turkey.

International Journal of Intelligent Systems and Applications

IJISA shares high quality original research papers in intelligent systems and their applications.

Journal of Applied Computing and Information Technology

This open-access journal promotes applied computing papers primarily from New Zealand but welcomes quality international submissions.

Journal of Artificial Intelligence Research

This is one of the first electronic scientific journals, with research, survey, and technical pieces exploring all areas of artificial intelligence.

Journal of Information Security

The Journal of Information Security shares the latest advancements in information security.

The Computer Science Journal

This is an open access journal published by the AGH University of Science And Technology in Krakow, Poland.

The Open Artificial Intelligence Journal

Bentham publishes this open-access journal with articles about artificial intelligence.

The Theory of Computing

This open-access journal publishes research papers in theoretical computer science.