This repo contains the home assignments of Laboratory 3 course attended during my Bachelor Degree, which focuses on programming with Java. This lab provides hands-on experience with various Java concepts, including object-oriented programming, data structures, algorithms, and multithreading. Through practical exercises, you will learn how to develop efficient, robust applications in Java while understanding the intricacies of concurrent programming.
- Java Basics: Syntax, data types, and control structures.
- Object-Oriented Programming: Classes, objects, inheritance, polymorphism, and encapsulation.
- Data Structures: Implementation and usage of arrays, lists, sets, and maps.
- Algorithms: Common sorting and searching algorithms, including their time complexity.
- Exception Handling: Techniques for managing errors and exceptions in Java applications.
- File I/O: Reading from and writing to files using Java.
- Multithreading: Creating and managing threads, synchronization, and concurrent programming concepts.
By the end of this laboratory, you will be able to:
- Write and debug Java programs effectively.
- Implement object-oriented design principles in your code.
- Utilize data structures and algorithms to solve complex problems.
- Handle exceptions and perform file operations in Java.
- Create and manage threads to improve application performance and responsiveness.