About this courseSkip 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 learnSkip 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.
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).
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.
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.
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
Pursue a Verified Certificate to highlight the knowledge and skills you gain$149 USD
Official and Verified
Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects
Add the certificate to your CV or resume, or post it directly on LinkedIn
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