This course introduces the students to the fundamentals of programming and object-oriented design using Java. It covers basic syntax, control structures, and object-oriented principles, then moves on to collections, error handling, modern Java features, multithreading basics, and GUI development with JavaFX. We will conduct Practical labs that emphasize hands-on coding and problem-solving skills to build real-world applications.