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

3D Graphics in Android: Sensors and VR

Imperial College London

This course is an ideal introduction into creating virtual environments in Android. This course is unique as it covers a range of tools and techniques to create...

3D Models for Virtual Reality

University of London

This course will begin your journey to creating Virtual Reality experiences. A Virtual Reality experience is a new world that you step into and are entirely immersed...

3D Printing and Additive Manufacturing

University of Illinois at Urbana-Champaign

This Specialization will introduce you to the magic of 3D printing. Through a series of four cohesive courses and a hands-on capstone experience, you will acquire...

3D Reconstruction - Single Viewpoint

Columbia University

This course focuses on the recovery of the 3D structure of a scene from its 2D images. In particular, we are interested in the 3D reconstruction of a rigid scene...

A Practical Introduction to Test-Driven Development

LearnQuest

To be a proficient developer you need to have a solid grasp of test writing before putting code into production. In this course, we will take a hands-on look at...

A Simple Picture Storing App with Java and Android Studio

Coursera Project Network

By the end of this project, we are going to learn to create a simple picture storing Andriod application using java and Android studio. We are going to learn how...

A Strategic Approach to Cybersecurity

University of Maryland, College Park

Cybersecurity affects everyone, including in the delivery of basic products and services. If you or your organization want to better understand how to address your...

Accelerated Computer Science Fundamentals

University of Illinois at Urbana-Champaign

Topics covered by this Specialization include basic object-oriented programming, the analysis of asymptotic algorithmic run times, and the implementation of basic...

Access SQLite in an Android Studio Project

Coursera Project Network

In this 1-hour long project-based course, you will learn how SQLite databases are used by mobile applications, how to access the information in the SQLite database...

Add Web Reviews with Advanced TypeScript

Coursera Project Network

In this 1.5-hour guided project, you will learn about more advanced types in TypeScript by extending a sample park review website and displaying visitors’ star...

Advanced Algorithms and Complexity

University of California San Diego

In previous courses of our online specialization you've learned the basic algorithms, and now you are ready to step into the area of more complex problems and algorithms...

Advanced App Development in Android

Imperial College London

This Specialization is intended for learners with basic knowledge in Android app development seeking to develop knowledge in computer graphics and virtual reality...

Advanced App Development in Android Capstone

Imperial College London

This capstone project has been designed as an opportunity to practice what you have learned in the first 3 courses of this specialisation. This capstone project...

Advanced Deployment Scenarios with TensorFlow

DeepLearning.AI

Bringing a machine learning model into the real world involves a lot more than just modeling. This Specialization will teach you how to navigate various deployment...

Advanced Django: External APIs and Task Queuing

Codio

Code and run Django websites without installing anything! This course is designed for learners who are familiar with Python and basic Django skills (similar to those...

Advanced Django: Mastering Django and Django Rest Framework

Codio

This specialization is intended for people who are interested in taking their web development with Django to the next level. It is assumed that learners have are...

Advanced Embedded Linux Development

University of Colorado Boulder

This courses in this specialization can also be taken for academic credit as ECEA 5305 - 5307, part of CU Boulder’s Master of Science in Electrical Engineering.\n\nThis...

Advanced Programming in Swift

Meta

At the heart of any remarkable iOS applies a thorough understanding of the Swift programming language. Embark on a journey to expand your knowledge and skillset...