EdX

Introduction to Java Programming: Fundamental Data Structures and Algorithms (edX)

Introduction to Java Programming: Fundamental Data Structures and Algorithms (edX)

Learn to enhance your code by using fundamental data structures and powerful algorithms in Java. In this introductory course, you will learn programming with Java in an easy and interactive way. You will learn about fundamental data structures, such as lists, stacks, queues and trees, and presents algorithms for inserting, deleting, searching and sorting information on these data structures in an efficient way.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Emphasis is put on immediate feedback and on having a fun experience. Programming knowledge is not only useful to be able to program today’s devices such as computers and smartphones. It also opens the door to computational thinking, i.e. the application of computing techniques to every-day processes.
This course is designed taking into account the subset and recommendations of the College Board in order to prepare learners for the Advanced Placement (AP) Computer Science A exam.

This course is part of the Introduction to Java Programming Professional Certificate.

What you'll learn:

  • Arrange data on arrays and linked lists using primitive data types and classes.
  • Develop and use linear data structures, such as stacks and queues, implemented with linked lists or arrays.
  • Develop and use non-linear data structures, such as trees, including binary search trees and heaps, implemented with linked lists or arrays.
  • Implement algorithms for the efficient searching and sorting of data.

Syllabus

1. Lists
The first week starts with the most fundamental data structure: Lists. Several implementations for storing information in Lists are presented in this week, including the use of Arrays of primitive data types, the use of Arrays of objects of the same class, and the use of links (Linked Lists).

2. Stacks
The second week addresses Stacks, which are one well-known linear data structure. Stacks are also called LIFO data structures (last-in, first-out). Algorithms for inserting and extracting information from Stacks will be discussed this week, as well as implementations of Stacks with Linked Lists.

3. Queues
The third week addresses another well-known linear data structure: Queues. Queues are also called FIFO data structures (first-in, first-out). Algorithms for inserting and extracting information from Queues will be discussed this week, as well as implementations of Queues with Linked Lists.

4. Trees
The fourth week introduces non-linear data structures, and particularly Trees. Binary Search Trees and Heaps are presented as two well-known examples of Trees. Algorithms for inserting and extracting information from Binary Search Trees and Heaps will be discussed this week. Implementations based on Linked Lists for Trees and Heaps will be analyzed.

5. Searching and Sorting
The last week presents some basic algorithms for searching and sorting information in linear and non-linear data structures. The efficiency of these algorithms is discussed, proposing alternatives for their improvement.

Prerequisites
It is recommended to be familiar with the topics covered in Introduction to Programming with Java - Part 1: Starting to Code with Java and Introduction to Programming with Java - Part 2: Writing Good Code.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced
Aplicaciones de la Teoría de Grafos a la vida real II (edX) EdX
Universitat Politècnica de València,UPValenciaX

Aplicaciones de la Teoría de Grafos a la vida real II (edX)

Aprenderemos a modelizar problemas del mundo real mediante su representación con grafos y a resolverlos mediante sus algoritmos asociados. Este curso trata la Teoría de Grafos desde el punto de vista de la modelización, lo que nos permitirá con posterioridad resolver muchos problemas de diversa índole. Presentaremos ejemplos de los distintos problemas en un contexto real, analizaremos la representación de éstos mediante grafos y veremos los algoritmos necesarios para resolverlos.

Self Paced
Self-Paced
Java Programming Fundamentals (edX) EdX
Galileo University,GalileoX

Java Programming Fundamentals (edX)

Your career as a program developer starts here. Gain entry-level programing skills in Java language, and prepare yourself to handle any task that is required in any programming job. Java is one of the most in-demand programming languages today. This course is designed to provide students the basic skills and knowledge on Java.

Self Paced
Self-Paced
Advanced Bayesian Statistics Using R (edX) EdX
University of Canterbury,UCx

Advanced Bayesian Statistics Using R (edX)

Now that you know the basics of Bayesian inference, dive deeper to explore its richness and flexibility more fully. Let’s take a closer look at modeling latent variables, Bayesian model averaging, generalised linear models, and MCMC methods. Advanced Bayesian Data Analysis Using R is part two of the Bayesian Data Analysis in R professional certificate.

Self Paced
Self-Paced
Algoritmos y Programación en R (edX) EdX
Tecnológico de Monterrey,TecdeMonterreyX

Algoritmos y Programación en R (edX)

Aprende los fundamentos del pensamiento algorítmico, estructuras de datos y los principios básicos de programación con aplicación a los negocios. Los algoritmos pueden ser utilizados para la solución de problemas de negocio. En este curso aprenderás los conceptos básicos de algoritmos y el manejo de estructuras de datos.

Self Paced
Self-Paced
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
Algorithms and Data Structures Capstone (edX) EdX
University of California, San Diego,UC San DiegoX

Algorithms and Data Structures Capstone (edX)

Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge. Building a fully-fledged algorithm to assemble genomes from DNA fragments on a real dataset is an enormous challenge with major demand in the multi-billion dollar biotech industry. In this capstone project, we will take the training wheels off and let you design your own optimized software program for genome sequencing.

Self Paced
Self-Paced
Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps (edX) EdX
Georgia Institute of Technology,GTx

Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps (edX)

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.

Self Paced
Self-Paced
Software Construction: Data Abstraction (edX) EdX
The University of British Columbia,UBCx

Software Construction: Data Abstraction (edX)

Learn powerful data abstraction and decomposition techniques to build large, complex programs. The course begins with the topic of data abstraction - from specification to implementation. Particular attention is given to how to write robust tests using JUnit. Then the course expands on these ideas to explore how type hierarchies and polymorphism can be used to decrease redundancy in your code. The course wraps up with a discussion of how to design robust classes.

Self Paced
Self-Paced
Data Structures & Algorithms III: AVL and 2-4 Trees, Divide and Conquer Algorithms (edX) EdX
Georgia Institute of Technology,GTx

Data Structures & Algorithms III: AVL and 2-4 Trees, Divide and Conquer Algorithms (edX)

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.

Self Paced
Self-Paced