Skip to content

Latest commit

 

History

History
41 lines (28 loc) · 5.01 KB

README.md

File metadata and controls

41 lines (28 loc) · 5.01 KB

Java Advanced

Coding exercises and projects from my education at SoftUni
All of the solutions have passed 100/100 - you can check them here: Java Advanced

Course Curriculum: Java Advanced

Stacks and Queues:
In the Stacks and Queues module, I delved into fundamental data structures. Stacks, following a last-in, first-out (LIFO) order, proved invaluable for tasks like tracking function calls and undo operations. Meanwhile, Queues, with their first-in, first-out (FIFO) approach, excelled in scenarios such as task management and orderly request handling. This module provided a deep understanding of these essential data structures and their versatile uses.

Multidimensional Arrays:
In the Multidimensional Arrays module, I delved into the world of complex data structures. This exploration equipped me with the skills to proficiently handle 2D and higher-dimensional arrays, enabling the storage and manipulation of intricate and multifaceted data structures with ease. These arrays are of great importance when dealing with data that requires multiple dimensions, such as matrices or multi-level records. They enable efficient organization, access, and manipulation of data, making them a cornerstone in various scientific, engineering, and data analysis applications.

Sets and Maps Advanced:
In the Sets and Maps Advanced module, I explored the advanced functionalities of Sets and Maps. Sets, as versatile data structures, allowed me to efficiently store and manage unique elements, eliminating duplicates and ensuring data integrity. Maps, on the other hand, provided a powerful means of associating key-value pairs, facilitating tasks such as data retrieval and manipulation. This module equipped me with the knowledge to harness Sets and Maps effectively, enabling me to handle complex data structures, enforce uniqueness, and establish meaningful relationships within my Java programs.

Streams, Files, and Directories:
I gained expertise in handling input and output streams, working with files, and managing directories during this module. These skills are essential for various real-world applications.

Functional Programming:
In this module, I delved into the world of Functional Programming. I learned how to leverage functional programming concepts in Java to write more concise and efficient code.

Defining Classes:
This module focused on creating and using custom classes. I gained a deeper understanding of object-oriented programming principles and learned how to design effective classes.

Workshop: Custom Data Structures:
In this workshop, I created custom data structures similar to Java's ArrayList, Stack, and LinkedList, working with integers. I implemented functionalities like adding, removing, and retrieving elements, as well as iterating through the collection.

Generics:
I learned about generics in Java during this module. I understood their importance in creating reusable and type-safe code.

Iterators and Comparators:
This module covered the implementation of iterators for custom data structures and customizing comparisons using comparators.

Workshop: Algorithms Introduction:
In this in-depth workshop, I explored fundamental algorithmic concepts. It provided a strong foundation for understanding essential algorithms and data structures.

By completing the Java Advanced Course, I have gained a deeper understanding of advanced Java programming topics, including data structures (stacks, queues, sets, maps) and multidimensional arrays. The course's practical exercises and workshops have equipped me with the skills and knowledge needed to excel in advanced Java programming.

Certificate

Java Advanced