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.6 rating, based on 39 Class Central reviews

4.2 rating at edX based on 54 ratings

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

  • 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
    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
    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
    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…
  • Anonymous
    After completing the Java Programming course on edX, I can confidently say it exceeded my expectations. The course provided a comprehensive understanding of Java fundamentals, from variables and loops to object-oriented programming principles. The interactive exercises and real-world examples were invaluable in solidifying my knowledge. The instructors were clear and engaging, making complex concepts accessible. I particularly appreciated the practical projects that challenged me to apply what I learned. Overall, this course not only equipped me with essential Java skills but also inspired me to explore more advanced topics. I highly recommend it to anyone looking to start their journey in Java programming.
  • 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
    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.
  • 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 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 was impressed by the course's ability to break down complex programming concepts into manageable chunks. The instructor's clear explanations and engaging delivery made it easy to understand and follow along. The structured content was well-organized, and I appreciated the emphasis on building a solid foundation for further learning. Overall, I would highly recommend this course to anyone looking to get started with programming."
  • 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 enjoyed this course very much. I began to learn the fundamentals again with the help of this course.I gained some knowledge from this course and thank you very much for providing the material backups and brief contexts . Thank you.
  • Anonymous
    "Fantastic Java course on edX! The content is well-structured and engaging. Quizzes and tasks reinforce learning effectively, with practical coding challenges that solidify concepts. Highly recommended!"
  • 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...
  • Anonymous
    excellent course that i have been experienced recent days,iam happy to learn java in this platform,for beginners it is very useful
  • Anonymous
    I recently completed the "Introduction to Java Programming: Fundamental Data Structures and Algorithms" course offered by Universidad Carlos III de Madrid on edX, and I must say it was an enriching learning experience. The course content is well-st…
  • Anonymous
    The Java course provided by GalileoX was an enriching and comprehensive learning experience. From the very beginning, the course structure was well-organized, offering a step-by-step progression through Java programming concepts. Each topic was explained with clarity, making it easy to follow along, even for beginners. The abundance of hands-on exercises and coding challenges allowed for practical application of the learned concepts, enhancing retention and understanding. Additionally, the course covered a wide range of Java topics, from basic syntax to advanced features, ensuring a thorough understanding of the language. Overall, I highly recommend this course to anyone looking to learn Java effectively and efficiently.
  • 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
    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
    This Java online platform offers comprehensive tutorials, interactive coding exercises, and a supportive community. Its structured curriculum covers a wide range of topics, from basic syntax to advanced data structures and algorithms. The platform provides hands-on coding challenges to reinforce learning and offers real-world projects to apply new skills. Additionally, its intuitive interface and responsive support team make it easy for learners to navigate and troubleshoot. Whether you're a beginner or an experienced programmer, this platform offers valuable resources to enhance your Java skills and advance your career in software development.

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.