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 36 Class Central reviews

4.2 rating at edX based on 53 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
    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
    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 "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
    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
    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.
  • Anonymous
    "Java EDX Fundamentals provided a comprehensive introduction to Java programming. The course content was well-structured, covering key concepts such as variables, control structures, and object-oriented programming. The hands-on exercises were particularly valuable, allowing me to apply what I learned in practical scenarios. The course instructors were knowledgeable and supportive, providing clear explanations and helpful feedback. Overall, it was a great learning experience that laid a strong foundation for further Java development."
  • Anonymous
    "Java EDX Fundamentals provided a comprehensive introduction to Java programming. The course content was well-structured, covering key concepts such as variables, control structures, and object-oriented programming. The hands-on exercises were particularly valuable, allowing me to apply what I learned in practical scenarios. The course instructors were knowledgeable and supportive, providing clear explanations and helpful feedback. Overall, it was a great learning experience that laid a strong foundation for further Java development."
  • 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
    "I thoroughly enjoyed the Java Programming Fundamentals course! The content was comprehensive, the explanations were clear, and the exercises were challenging yet rewarding. It provided me with a solid foundation in Java programming, and I feel confident in my ability to tackle more advanced topics. Highly recommended!
  • Anonymous
    In this Course, the explanation is very clear. Videos are clear and topic are almost covered. For practicing purpose the quiz had helped a lot. I think this certificate also very useful for job applications in companies to know my java skills. This was very useful for me in learning java fundamental programming.
  • Anonymous
    I thoroughly enjoyed the Java programming fundamentals course. The hands-on coding exercises and clear, concise explanations of key concepts made learning engaging and effective. This course provided a solid foundation for further studies in Java and object-oriented programming."
  • Anonymous
    introduction to java programming: Fundamental Data Structures and Algorithms course is really too good. i can understand very easily. i can learn more knowledge about this course. in this course so many logics programs are there it is really helpful to practice.
  • 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:)

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.