

Our Courses

Object-Oriented Data Structures in C++
This course teaches learners how to write a program in the C++ language, including how to set up a development environment for writing and debugging C++ code and how to implement data structures as C++ classes. It is the first course in the Accelerated CS Fundamentals specialization, and subsequent courses in this specialization will be using C++ as the language for implementing the data structures covered in class.
-
Course by
-
Self Paced
-
21 hours
-
English

Interactivity with JavaScript
If you want to take your website to the next level, the ability to incorporate interactivity is a must. But adding some of these types of capabilities requires a stronger programming language than HTML5 or CSS3, and JavaScript can provide just what you need. With just a basic understanding of the language, you can create a page that will react to common events such as page loads, mouse clicks & movements, and even keyboard input. This course will introduce you to the basics of the JavaScript language.
-
Course by
-
Self Paced
-
9 hours
-
English

The Arduino Platform and C Programming
The Arduino is an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. In this class you will learn how the Arduino platform works in terms of the physical board and libraries and the IDE (integrated development environment). You will also learn about shields, which are smaller boards that plug into the main Arduino board to perform other functions such as sensing light, heat, GPS tracking, or providing a user interface display.
-
Course by
-
Self Paced
-
13 hours
-
English

Securing and Integrating Components of your Application
In this course, application developers learn how to design and develop cloud-native applications that seamlessly integrate managed services from Google Cloud. Through a combination of presentations, demos, and hands-on labs, participants learn how to develop more secure applications, implement federated identity management, and integrate application components by using messaging, event-driven processing, and API gateways.\n\nCompleting one version of each lab is required. Each lab is available in Node.js. In most cases, the same labs are also provided in Python or Java.
-
Course by
-
Self Paced
-
14 hours
-
English

Building Scalable Java Microservices with Spring Boot and Spring Cloud
"Microservices" describes a software design pattern in which an application is a collection of loosely coupled services. These services are fine-grained, and can be individually maintained and scaled. The microservices architecture is ideal for the public cloud, with its focus on elastic scaling with on-demand resources. In this course, you will learn how to build Java applications using Spring Boot and Spring Cloud on Google Cloud. You'll use Spring Cloud Config to manage your application's configuration. You'll send and receive messages with Pub/Sub and Spring Integration.
-
Course by
-
Self Paced
-
12 hours
-
English

Python Basics
This course introduces the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. You'll program an on-screen Turtle to draw pretty pictures. You'll also learn to draw reference diagrams as a way to reason about program executions, which will help to build up your debugging skills. The course has no prerequisites.
-
Course by
-
Self Paced
-
34 hours
-
English

App Deployment, Debugging, and Performance
In this course, application developers learn how to design and develop cloud-native applications that seamlessly integrate components from the Google Cloud ecosystem. Through a combination of presentations, demos, and hands-on labs, participants learn how to create repeatable deployments by treating infrastructure as code, choose the appropriate application execution environment for an application, and monitor application performance.
-
Course by
-
Self Paced
-
9 hours
-
English

HTML and CSS in depth
In this course, you’ll use software development tools like HTML to build attractive web pages that work well—and you’ll use structured semantic data to control how websites appear to the end user. You will then dive deeper into CSS by applying increasingly specific styling to various elements. You’ll learn to use Bootstrap’s grid system to create layouts and work with components and themes.
-
Course by
-
Self Paced
-
29 hours
-
English

Troubleshooting and Debugging Techniques
In this course, we'll give you the tools to quickly identify and solve real-world problems that you might come across in your IT role. We'll look at a bunch of different strategies and approaches for tackling the most common pitfalls of your code and IT infrastructure. You'll learn strategies for approaching almost any technical problem and then see how those apply to solving different real-world scenarios. We picked examples that include general system issues, issues with software that someone else wrote, and issues with programs that we wrote.
-
Course by
-
Self Paced
-
16 hours
-
English

R Programming
In this course you will learn how to program in R and how to use R for effective data analysis. You will learn how to install and configure software necessary for a statistical programming environment and describe generic programming language concepts as they are implemented in a high-level statistical language. The course covers practical issues in statistical computing which includes programming in R, reading data into R, accessing R packages, writing R functions, debugging, profiling R code, and organizing and commenting R code.
-
Course by
-
Self Paced
-
57 hours
-
English

Attitude Control with Momentum Exchange Devices
This course is part 1 of the specialization Advanced Spacecraft Dynamics and Control. It is a direct continuation of the Coursera specialization Spacecraft Dynamics and Control. This first course focuses on nonlinear attitude feedback control using a range of angular momentum devices. The course provides a comprehensive review of prerequisite material. Next it develops equations of motion of a spacecraft with momentum exchange devices such as reaction wheels (RWs), control momentum gyroscopes (CMGs) and variable speed control moment gyroscopes (VSCMGs).
-
Course by
-
Self Paced
-
45 hours
-
English

Learn to Teach Java
Learn to teach introductory Java -- with a focus on the new Advanced Placement Computer Science A curriculum. Preview the CS Awesome curriculum with overview videos to help you prepare for class efficiently. Learn teaching tips and access supporting materials from an expert in CS education with 15+ years experience including advice on teaching debugging, code tracing (for answering multiple choice questions) and problem solving patterns. Complete activities specifically designed for teachers and create materials you can use in your classroom.
-
Course by
-
Self Paced
-
English

Java Programming and Software Engineering Fundamentals
Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs.
-
Course by
-
Self Paced
-
English

JavaScript Debugging Tips for Beginners
By the end of this project you will have used several techniques for debugging JavaScript code.
-
Course by
-
Self Paced
-
3 hours
-
English

Introduction to Programming with Python and Java
This Specialization starts out by teaching basic concepts in Python and ramps up to more complex subjects such as object-oriented programming and data structures in Java. By the time learners complete this series of four courses, they will be able to write fully-functional programs in both Python and Java, two of the most well-known and frequently used programming languages in the world today. Introduction to Programming with Python and Java is for students and professionals who have minimal or no prior programming exposure.
-
Course by
-
Self Paced
-
English

Automate Cybersecurity Tasks with Python
This is the seventh course in the Google Cybersecurity Certificate. These courses will equip you with the skills you need to apply for an entry-level cybersecurity job. You’ll build on your understanding of the topics that were introduced in the sixth Google Cybersecurity Certificate course. In this course, you will be introduced to the Python programming language and apply it in a cybersecurity setting to automate tasks. You'll start by focusing on foundational Python programming concepts, including data types, variables, conditional statements, and iterative statements.
-
Course by
-
Self Paced
-
30 hours
-
English

Python Programming Fundamentals
This introductory course is designed for beginners and individuals with limited programming experience who want to embark on their software development or data science journey using Python. Throughout the course, learners will gain a solid understanding of algorithmic thinking, Python syntax, code testing, debugging techniques, and modular code development--essential skills for a successful career in software engineering, development, or data science.
-
Course by
-
Self Paced
-
24 hours
-
English

Linear Algebra for Machine Learning and Data Science
Newly updated for 2024! Mathematics for Machine Learning and Data Science is a foundational online program created by DeepLearning.AI and taught by Luis Serrano. In machine learning, you apply math concepts through programming. And so, in this specialization, you’ll apply the math concepts you learn using Python programming in hands-on lab exercises.
-
Course by
-
Self Paced
-
22 hours
-
English

Securing and Integrating Components of your Application 日本語版
このコースでは、アプリケーション デベロッパー向けに、Google Cloud のマネージド サービスをシームレスに統合するクラウドネイティブ アプリケーションを設計、開発する方法を説明します。講義、デモ、ハンズオンラボを通して、メッセージング、イベント駆動型処理、API ゲートウェイを使ったセキュリティ性の高いアプリケーションの設計、フェデレーション ID 管理の実装、アプリケーション コンポーネントの統合方法を学習します。 各ラボのいずれかのバージョンを完了する必要があります。各ラボは Node.js で利用できるほか、ほとんどの場合、Python または Java でも提供されます。お好みの言語でラボを完了できます。 本コースは、「Developing Applications with Google Cloud」シリーズの 2 つ目のコースですこのコースを修了したら、「App Deployment, Debugging, and Performance」コースに登録してください。
-
Course by
-
Self Paced
-
Japanese

FPGA Design for Embedded Systems
The objective of this course is to acquire proficiency with Field Programmable Gate Arrays (FPGA)s for the purpose of creating prototypes or products for a variety of applications. Although FPGA design can be a complex topic, we will introduce it so that, with a little bit of effort, the basic concepts will be easily learned, while also providing a challenge for the more experienced designer. We will explore complexities, capabilities and trends of Field Programmable Gate Arrays (FPGA) and Complex Programmable Logic Devices (CPLD).
-
Course by
-
Self Paced
-
English

Developing Industrial Internet of Things
The courses in this specialization can also be taken for academic credit as ECEA 5385-5387, part of CU Boulder’s Master of Science in Electrical Engineering degree. Enroll here. In this specialization, you will engage the vast array of technologies that can be used to build an industrial internet of things deployment.
-
Course by
-
Self Paced
-
English

Meta React Native
If you want to learn how to create apps for Android and iOS devices, this course is right for you. This program is taught by industry-recognized experts at Meta. Cross-platform mobile developers build and write code for apps that are hosted on mobile devices powered by multiple operating systems. They do everything from creating the app to debugging it after deployment.
-
Course by
-
Self Paced
-
English

Mathematics for Machine Learning and Data Science
Newly updated for 2024! Mathematics for Machine Learning and Data Science is a foundational online program created by DeepLearning.AI and taught by Luis Serrano. In machine learning, you apply math concepts through programming. And so, in this specialization, you’ll apply the math concepts you learn using Python programming in hands-on lab exercises.
-
Course by
-
Self Paced
-
English

App Deployment, Debugging, and Performance en Français
Dans ce cours, les développeurs d'applications apprennent à concevoir et à développer des applications cloud natives qui s'intègrent parfaitement aux composants de l'écosystème Google Cloud. À travers un ensemble de présentations, de démonstrations et d'ateliers pratiques, les participants découvrent comment créer des déploiements reproductibles en traitant l'infrastructure comme du code, en choisissant l'environnement d'exécution approprié pour une application et en surveillant les performances applicatives. Il est obligatoire de terminer une version de chaque atelier.
-
Course by
-
Self Paced
-
English

Computing in Python I: Fundamentals and Procedural Programming
Learn the fundamentals of computing in Python, including variables, operators, and writing and debugging your own programs.
-
Course by
-
Self Paced
-
English