Free Online Computer Science Courses

Computer science courses teach essential skills in coding, algorithms, and software development. Whether you're a beginner or an expert, a computer science course can deepen your understanding of computing fundamentals. Gain practical skills for a rewarding career in tech.

863 Computer Science Courses

Advanced Styling with Responsive Design

University of Michigan

It used to be the case that everyone viewed webpages on about the same size screen. But with the explosion of the use of smartphones to access the Internet, the...

Advanced System Security Design

University of Colorado System

This specialization is intended for intermediate level learners with basic programming skills and basic cybersecurity knowledge. Through this course learner will...

Advanced System Security Topics

University of Colorado System

In this MOOC, we learn RBAC and ABAC access control to facilitate the specification and management of access policies. We learn examples of how RBAC is supported...

Advanced TestNG Framework and Integration with Selenium

Coursera Project Network

TestNG stands for Test Next Generation is a testing framework that provides the developer the ability to write more flexible and powerful tests with help of easy...

Agile Analytics

University of Virginia

Few capabilities focus agile like a strong analytics program. Such a program determines where a team should focus from one agile iteration (sprint) to the next....

Agile Development

University of Virginia

Beyond practices and beyond principles, you'll learn the applied skills that enable an agile team to succeed. While applying an evidence-based approach across the...

AI and the Illusion of Intelligence

Copenhagen Business School

Will ArtificiaI Intelligence soon be surpassing humans? This is rapidly becoming one of the central questions of our time -- but it is the wrong question. In this...

AI Materials

Korea Advanced Institute of Science and Technology(KAIST)

Learn about the materials that have advanced the performance of artificial intelligence, and the machine learning models that could help accelerate the design and...

Algorithmic Thinking (Part 1)

Rice University

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This...

Algorithmic Toolbox

University of California San Diego

This online course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching,...

Algorithms

Stanford University

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This specialization is an introduction...

Algorithms for Searching, Sorting, and Indexing

University of Colorado Boulder

This course covers basics of algorithm design and analysis, as well as algorithms for sorting arrays, data structures such as priority queues, hash functions, and...

Algorithms, Data Collection, and Starting to Code

University of Colorado System

This course starts you on your journey learning about computational thinking and beginning C programming. If you’d like to explore how we can interact with the...

Algorithms, Part II

Princeton University

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and...

Align Continuous Improvements with Impact Mapping in Miro

Coursera Project Network

By the end of this project, you will be able to map product outcomes from multiple evidence streams including key performance indicators and user feedback, so that...

An Introduction to Interactive Programming in Python (Part 1)

Rice University

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language...

An Introduction to Interactive Programming in Python (Part 2)

Rice University

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language...

Analysis of Algorithms

Princeton University

This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures. In addition, this course covers generating functions...