

Our Courses

Architecture, Algorithms, and Protocols of a Quantum Computer and Quantum Internet
Learn how a quantum computer can be operated: you will go through the basics of quantum algorithms, quantum error-correction, micro-architectures, compilers, and programming languages for quantum computing, and protocols for the quantum internet.
-
Course by
-
Self Paced
-
English

Digital Signal Processing 1: Basic Concepts and Algorithms
Digital Signal Processing is the branch of engineering that, in the space of just a few decades, has enabled unprecedented levels of interpersonal communication and of on-demand entertainment. By reworking the principles of electronics, telecommunication and computer science into a unifying paradigm, DSP is a the heart of the digital revolution that brought us CDs, DVDs, MP3 players, mobile phones and countless other devices. In this series of four courses, you will learn the fundamentals of Digital Signal Processing from the ground up.
-
Course by
-
Self Paced
-
29 hours
-
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

Packet Switching Networks and Algorithms
In this course, we deal with the general issues regarding packet switching networks. We discuss packet networks from two perspectives. One perspective involves external view of the network, and is concerned with services that the network provides to the transport layer that operates above it at the end systems. The second perspective is concerned with the internal operation of a network, including approaches directing information across the network, addressing and routing procedures, as well as congestion control inside the network.
-
Course by
-
Self Paced
-
18 hours
-
English

TensorFlow for Beginners: Basic Binary Image Classification
The goal of this project is to introduce beginners to the basic concepts of machine learning using TensorFlow. The project will include, how to set up the tool and get started as well as understanding the fundamentals of machine learning/neural network model and its key concepts. Learning how to use TensorFlow for implementing machine learning algorithms, data preprocessing, supervised learning. Additionally, learners develop skills in evaluating and deploying machine learning models using TensorFlow.
-
Course by
-
Self Paced
-
4 hours
-
English

Digital Marketing and Data Driven Analytics
Digital Marketing is the backbone element which uses platforms and digital technologies, such as any kind of device to maintain connected to the users. Once the users are part of this ecosystem, the companies convert this random data in accurate algorithms to improve the effectiveness of any marketing campaign.
-
Course by
-
Self Paced
-
English

Principles of Data Science Ethics
Concern about the harmful effects of machine learning algorithms and AI models (bias and more) has resulted in greater attention to the fundamentals of data ethics.
This data science ethics course for both practitioners and managers provides guidance and practical tools to build better models and avoid these problems. The course offers a framework data scientists can use to develop their projects and an audit process to follow in reviewing them. Case studies with Python code are provided.
-
Course by
-
Self Paced
-
English

PyTorch Basics for Machine Learning
This course is the first part in a two part course and will teach you the fundamentals of PyTorch. In this course you will implement classic machine learning algorithms, focusing on how PyTorch creates and optimizes models. You will quickly iterate through different aspects of PyTorch giving you strong foundations and all the prerequisites you need before you build deep learning models.
-
Course by
-
Self Paced
-
English

Mathematical Methods for Data Analysis
Learn mathematical methods for data analysis including mathematical formulations and computational methods. Some well-known machine learning algorithms such as k-means are introduced in the examples.
-
Course by
-
Self Paced
-
21
-
English

Optimization: principles and algorithms - Network and discrete optimization
Introduction to network optimization and discrete optimization
-
Course by
-
Self Paced
-
20
-
English

Optimization: principles and algorithms - Unconstrained nonlinear optimization
Introduction to unconstrained nonlinear optimization, Newton’s algorithms and descent methods.
-
Course by
-
Self Paced
-
27
-
English

Optimization: principles and algorithms - Linear optimization
Introduction to linear optimization, duality and the simplex algorithm.
-
Course by
-
Self Paced
-
40
-
English

Big Data Fundamentals
Learn how big data is driving organisational change and essential analytical tools and techniques, including data mining and PageRank algorithms.
-
Course by
-
English

Algorithms and Data Structures Capstone
Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge.
-
Course by
-
Self Paced
-
English

Graph Algorithms in Genome Sequencing
Learn how graphs are used to assemble millions of pieces of DNA into a contiguous genome and use these genomes to construct a Tree of Life.
-
Course by
-
Self Paced
-
English

String Processing and Pattern Matching Algorithms
Learn about pattern matching and string processing algorithms and how they apply to interesting applications.
-
Course by
-
Self Paced
-
English

Graph Algorithms
Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components.
-
Course by
-
Self Paced
-
English

Algorithmic Design and Techniques
Learn how to design algorithms, solve computational problems and implement solutions efficiently.
-
Course by
-
Self Paced
-
English

Introduction to Computer Science and Programming
The term “Computation” refers to the action performed by a computer. A computation can be a basic operation and it can also be a sophisticated computer simulation requiring a large amount of data and substantial resources. This course aims at introducing learners with no prior knowledge to the basic key concepts of computer science. By following the lectures and exercises of this course, you will gain an understanding of algorithms by programming using the language Ruby.
-
Course by
-
English

Essentials of Genomics and Biomedical Informatics
This course presents clinicians and digital health enthusiasts with an overview of the data revolution in medicine and how to exploit it for research and in the clinic. The course will not make you a bioinformatician but will introduce the main concepts, tools, algorithms, and databases in this field.
-
Course by
-
English

Data Structures & Algorithms III: AVL and 2-4 Trees, Divide and Conquer Algorithms
Learn more complex tree data structures, AVL and (2-4) trees. Investigate the balancing techniques found in both tree types. Implement these techniques in AVL operations. Explore sorting algorithms with simple iterative sorts, followed by Divide and Conquer algorithms. Use the course visualizations to understand the performance.
-
Course by
-
Self Paced
-
English

Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps
Become familiar with nonlinear and hierarchical data structures. Study various tree structures: Binary Trees, BSTs and Heaps. Understand tree operations and algorithms. Learn and implement HashMaps that utilize key-value pairs to store data. Explore probabilistic data structures like SkipLists. Course tools help visualize the structures and performance.
-
Course by
-
Self Paced
-
English

Data Structures & Algorithms I: ArrayLists, LinkedLists, Stacks and Queues
Work with the principles of data storage in Arrays, ArrayLists & LinkedList nodes. Understand their operations and performance with visualizations. Implement low-level linear, linked data structures with recursive methods, and explore their edge cases. Extend these structures to the Abstract Data Types, Stacks, Queues and Deques.
-
Course by
-
Self Paced
-
English

Computing in Python IV: Objects & Algorithms
Learn about recursion, search and sort algorithms, and object-oriented programming in Python.
-
Course by
-
Self Paced
-
English