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

Universidad Carlos iii de Madrid

Introduction to Java Programming: Fundamental Data Structures and Algorithms

Universidad Carlos iii de Madrid via edX

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

Reviews

4.5 rating, based on 49 Class Central reviews

4.3 rating at edX based on 58 ratings

Start your review of Introduction to Java Programming: Fundamental Data Structures and Algorithms

  • Anonymous
    I really enjoyed this course! The instructors did their job perfectly — their explanations were clear, well-structured, and easy to follow. Most of the content was very easy to understand, which made learning Java enjoyable. There were a few parts where the translation was not perfect, but it didn’t affect the overall learning experience much. Overall, it was a nice and straightforward course, and I found it very easy to learn from. Highly recommended for beginners!
  • Anonymous
    Hola, me gustó la herramienta para ejecutar los ejercicios ya que fue muy fácil y sobre todo que no tuvimos que instalar nada en nuestras computadoras. Fueron ejercicios que eran entendibles pero el tiempo siento que era corto ya que soy nueva en programación. Adicional la traducción a veces no era tan entendible.
  • Anonymous
    The Java Programming Fundamentals course from GalileoX on edX was an absolute game-changer for me. The content was clear, well-structured, and hands-on, making even complex concepts like object-oriented programming feel approachable. The assignments and quizzes challenged me to apply what I learned, and the pacing kept me engaged throughout. I now feel confident writing Java code and excited to explore more advanced programming topics. Highly recommended for beginners looking to build a solid foundation in Java!
  • Anonymous
    The Java Fundamentals course provided a comprehensive introduction to the basics of Java programming, covering essential concepts such as object-oriented programming principles, data structures, and flow control. The course materials were well-organized and easy to follow, making complex topics more approachable. Hands-on exercises and quizzes reinforced the lessons effectively, ensuring that I could apply what I learned in practical scenarios. Overall, this course significantly improved my understanding of Java and prepared me for more advanced programming challenges. I highly recommend it to anyone looking to build a strong foundation in Java programming.
  • Anonymous
    Quisiera expresar mi agradecimiento por el curso de Java básico impartido recientemente. El material proporcionado ha sido muy claro y estructurado, facilitando la comprensión de los conceptos fundamentales del lenguaje.

    Los recursos adicionales, incluyendo ejemplos de código y ejercicios prácticos, resultaron ser herramientas valiosas para consolidar lo aprendido y aplicar los conocimientos de inmediato.
  • Anonymous
    Hola Me costaron trabajo algunos conceptos ya que apenas voy empezando.
    y creo que algunos temas son muy avanzados para el nivel de conocimiento.

    Las traducciones son confusas sobre todo para los formularios intermedios.
  • Anonymous
    I really enjoyed the online course ‘Introduction to Java Programming: Fundamental Data Structures and Algorithms.’ The content was clear, engaging, and well-structured, making complex topics easier to understand. The exercises were practical and helped reinforce the concepts. I particularly liked the online coding tool, which made it easy to practice and test my code without the need for external setups. The flexibility to take lessons at my own pace was a big plus, allowing me to fit the course around my schedule. Overall, I highly recommend this course to anyone looking to strengthen their Java programming skills.
  • Anonymous
    I recently completed the "Introduction to Java Programming: Fundamental Data Structures and Algorithms" course and found it to be an excellent resource for learners at all levels. The course provided a comprehensive overview of fundamental data stru…
  • Anonymous
    Un curso muy bien diseñado los temas que aborda, y los ejercicios como complementos ayudan mucho a entender claramente los temas expuestos
  • Anonymous
    Good course for a java beginner, but It would be good to re-record some videos with improved pronunciation and diction of some speakers.
  • Anonymous
    Soporte pesimo (examen final se activo y no lo pude hacer) y ejercicios inventados al momento.
    Traduccion no tiene sincronizacion y poco entendible
  • Anonymous
    Buen curso, lo recomiendo, tiene muchas practicas, se puede practicar en todo momento para tomar expertis, tambien cuenta con teoria
  • Anonymous
    hi this is my pleasure to work and do activities on this course . every single minute of this course is fun and challengeable . i can feel that how hard you have tried to make a perfect pace for all of us to feel comfortable and in ease. if i had the opportunity to retake this course over again and again i would have do it with all the respects that i have for this unique course .

    thank you for everything:)
  • Anonymous
    I found the course to be very informative and well-structured. It met my expectations by covering a wide range of topics in Java programming, from the basics to more advanced concepts like concurrency, lambdas, and design patterns. I appreciated the…
  • Anonymous
    I decided to purchase this course as a beginner in Object Programming and Java to better learn about this topic, as this has been a challenging for me in the past. This course features a wide selection in topics and in depth knowledge of the Java language and its characteristics. Some of the referenced material and examples may be a bit outdated and found that the lecturer's explanations could be difficult to follow at first, however it effectively builds up the knowledge required to understand Java from the ground up.
  • Profile image for Jyoshika Jyoshika
    Jyoshika Jyoshika
    "The GalileoX Java Programming Fundamentals course has been a game-changer in my programming journey. The course’s clear and structured approach to Java basics laid a solid foundation for my development skills. The blend of interactive coding exercises and real-world projects ensured that I could apply what I learned immediately. The instructors provided detailed explanations and timely feedback, which greatly enhanced my understanding and confidence in Java programming. I especially appreciated the engaging course materials and the supportive learning community. Thanks to GalileoX, I now feel well-prepared to tackle more advanced Java concepts and real-world programming challenges."

  • Anonymous
    The course covered all the essential topics, including variables, data types, operators, control flow, functions, and object-oriented programming. The hands-on coding exercises and projects helped me reinforce my understanding of the concepts and bu…
  • Anonymous
    "Introduction to Java Programming: Fundamental Data Structures and Algorithms" is an excellent resource for beginners. It clearly explains core concepts like OOP, data structures, and algorithms, making complex topics accessible. The practical examples and exercises reinforce learning, while the focus on performance analysis helps build a solid foundation for future programming challenges. Highly recommended for anyone looking to enhance their Java skills!
  • Anonymous
    I recently completed the Java course, and overall, it was an enriching experience. The course provided a thorough understanding of both fundamental and advanced concepts, making it suitable for learners at various levels. > Interactive Learning: The…
  • N.LEELA DURGA BHAVANI
    i am very glad to learn this course and helped me a lot and the way their give me to improve the coding knowledge and daily practice also helped me a lot thanku edx...

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.