• Length:
    5 Weeks
  • Effort:
    5–7 hours per week
  • Price:

    FREE
    Add a Verified Certificate for $99 USD

  • Institution
  • Subject:
  • Level:
    Introductory
  • Language:
    English
  • Video Transcripts:
    English, Español

Associated Programs:

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.

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.

Meet your instructors

Carlos Delgado Kloos
Full Professor
Universidad Carlos III de Madrid
Carmen Fernández Panadero
Assistant Professor
Universidad Carlos III de Madrid
Iria Estévez-Ayres
Assistant Professor
Universidad Carlos III de Madrid
Carlos Alario-Hoyos
Postdoctoral Researcher in the Department of Telematics Engineering
Universidad Carlos III de Madrid

Pursue a Verified Certificate to highlight the knowledge and skills you gain $99.00

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally