

Our Courses
Determine Shortest Paths Between Routers Using Python
By the end of this project you will use the adjacency list data structure and other data structures to find the shortest distance between a set of routers loaded from a file. The shortest path problem is well known in the field of computer science. An adjacency list is probably the best data structure to represent a set of connected vertices to find the shortest path from one vertex to another. One application for shortest paths is in mapping.
-
Course by
-
Self Paced
-
3 hours
-
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
Build a Fast Typing Game using Java Swing
By the end of this project, you will create a fully functioning fast typing game using Java Swing in Eclipse. This project will give you a great head start towards learning more and mastering one of the most used programming languages in the world. In this project you will be able to identify and apply many basic fundamentals such as data structures, variables, loops etc. Moreover, you will be able to perform simple String manipulation, save and compare the user's input to the original correct word and finally, you will be able to create dynamic labels for many applications.
-
Course by
-
Self Paced
-
2 hours
-
English
Java FullStack Developer
The Java Full Stack Developer Specialization equips you with the end-to-end skills needed to build modern, cloud-ready web applications. Across three courses, you’ll master core Java programming (OOP, multithreading, data structures), gain front-end expertise with HTML, CSS, JavaScript, and Angular, and develop strong back-end capabilities with Servlets, JSP, JDBC, Spring, and Hibernate.
-
Course by
-
Self Paced
-
English
Data Science Foundations: Data Structures and Algorithms
Building fast and highly performant data science applications requires an intimate knowledge of how data can be organized in a computer and how to efficiently perform operations such as sorting, searching, and indexing. …
-
Course by
-
Self Paced
-
English
Data Structures & Backend with Java
This comprehensive course delves deep into the nuances of data structures and backend development with Java. The curriculum is strategically designed across three core modules, seamlessly bridging the understanding of theory with practical application. In the first module, we delve into Java-based data structures, focusing on arrays, multi-dimensional arrays, the String class, and the Java Collections Framework.
-
Course by
-
Self Paced
-
20 hours
-
English
Computer Forensics
This three part InfoSec Specialization covers a wide variety of Computer Forensics topics. In the Digital Forensics Concepts course, you will learn about legal considerations applicable to computer forensics and how to identify, collect and preserve digital evidence. This course dives into the scientific principles relating to digital forensics and gives you a close look at on-scene triaging, keyword lists, grep, file hashing, report writing and the profession of digital forensic examination.
-
Course by
-
Self Paced
-
English
Unordered Data Structures
The Unordered Data Structures course covers the data structures and algorithms needed to implement hash tables, disjoint sets and graphs. These fundamental data structures are useful for unordered data. For example, a hash table provides immediate access to data indexed by an arbitrary key value, that could be a number (such as a memory address for cached memory), a URL (such as for a web cache) or a dictionary.
-
Course by
-
Self Paced
-
21 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
Python for Everybody
This Specialization builds on the success of the Python for Everybody course and will introduce fundamental programming concepts including data structures, networked application program interfaces, and databases, using the Python programming language. In the Capstone Project, you’ll use the technologies learned throughout the Specialization to design and create your own applications for data retrieval, processing, and visualization.
-
Course by
-
Self Paced
-
English
Object Oriented Java Programming: Data Structures and Beyond
This Specialization covers intermediate topics in software development. You’ll learn object-oriented programming principles that will allow you to use Java to its full potential, and you’ll implement data structures and algorithms for organizing large amounts of data in a way that is both efficient and easy to work with. You’ll also practice critically evaluating your own code, and you’ll build technical communication skills that will help you prepare for job interviews and collaborative work as a software engineer.
-
Course by
-
Self Paced
-
English
Computational Thinking with JavaScript 2: Model & Analyse
This is the second course in a sequence of four courses that develops essential 21st century computational thinking (CT) skills using the popular JavaScript programming language. At the end of this second course you will: know a framework for CT to help you model the real world using abstract data structures; have developing CT skills so that you can perform comon data analytics tasks; be able to read and write programs in JavaScript that involve processing, analysing and visualizing data, using a specialised library; and post your creations on the web to share your code with others. This co
-
Course by
-
Self Paced
-
20 hours
-
English
Data Structures and Algorithms
Computer science legend Donald Knuth once said “I don’t understand things unless I try to program them.” We also believe that the best way to learn an algorithm is to program it. However, many excellent books and online courses on algorithms, that excel in introducing algorithmic ideas, have not yet succeeded in teaching you how to implement algorithms, the crucial computer science skill that you have to master at your next job interview.
-
Course by
-
Self Paced
-
English
Computing in Python III: Data Structures
Learn more complex ways of handling data, including files, lists, and dictionaries for building complex programs.
-
Course by
-
Self Paced
-
English
Geometric Algorithms
Geometric algorithms are a category of computational methods used to solve problems related to geometric shapes and their properties. These algorithms deal with objects like points, lines, polygons, and other geometric figures. In many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data.
-
Course by
-
Self Paced
-
18 hours
-
English
Accelerated Computer Science Fundamentals
Topics covered by this Specialization include basic object-oriented programming, the analysis of asymptotic algorithmic run times, and the implementation of basic data structures including arrays, hash tables, linked lists, trees, heaps and graphs, as well as algorithms for traversals, rebalancing and shortest paths. This Specialization sequence is designed to help prospective applicants prepare for the flexible and affordable Online Master of Computer Science (MCS) and MCS in Data Science.
-
Course by
-
Self Paced
-
English
R Programming Basics for Data Science
This course introduces you to R language fundamentals and covers common data structures, programming techniques, and how to manipulate data all with the help of the R programming language.
-
Course by
-
13
-
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
Data Structures Fundamentals
Learn about data structures that are used in computational thinking – both basic and advanced.
-
Course by
-
Self Paced
-
English
How to Code: Complex Data
Learn how to design more complex programs, using new data structures, abstraction, and generative recursion.
-
Course by
-
English
I/O-efficient algorithms
I/O-efficient algorithms, also known as external memory algorithms or cache-oblivious algorithms, are a class of algorithms designed to efficiently process data that is too large to fit entirely in the main memory (RAM) of a computer. These algorithms are particularly useful when dealing with massive datasets, such as those found in large-scale data processing, database management, and file systems. Operations on data become more expensive when the data item is located higher in the memory hierarchy.
-
Course by
-
Self Paced
-
10 hours
-
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