YoVDO

Introduction to Java Programming: Fundamental Data Structures and Algorithms

Offered By: Universidad Carlos iii de Madrid via edX

Tags

Algorithms and Data Structures Courses Algorithms Courses Data Structures Courses Sorting Algorithms Courses Searching Algorithms Courses Stacks Courses Queues Courses

Course Description

Overview

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.


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.


Taught by

Carlos Delgado Kloos, Carmen Fernández Panadero , Carlos Alario-Hoyos Ph.D., Iria Estévez-Ayres , Julio Villena Román and Jorge Ruiz

Tags

Related Courses

Algorithms for DNA Sequencing
Johns Hopkins University via Coursera
Applied AI with DeepLearning
IBM via Coursera
Artificial Intelligence Algorithms Models and Limitations
LearnQuest via Coursera
Algebra & Algorithms
Moscow Institute of Physics and Technology via Coursera
Algorithms: Design and Analysis, Part 2
Stanford University via Coursera