Skip to main content

UC3Mx: Introduction to Java Programming: Fundamental Data Structures and Algorithms

Learn to enhance your code by using fundamental data structures and powerful algorithms in Java.

5 weeks
5–7 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

There is one session available:

41,988 already enrolled! After a course session ends, it will be archivedOpens in a new tab.
Starts Mar 28
Ends Jun 30

About this course

Skip About this course

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.

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.

At a glance

  • Language: English
  • Video Transcripts: English, Español
  • Associated programs:
  • Associated skills:Smartphone Operation, Algorithms, Computer Science, Computational Thinking, Sorting, Data Structures, Java (Programming Language)

What you'll learn

Skip 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.

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.

This course is part of Introduction to Java Programming Professional Certificate Program

Learn more 
Expert instruction
3 skill-building courses
Self-paced
Progress at your own speed
4 months
6 - 8 hours per week

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.