This course provides a comprehensive foundation in Java programming and computer science fundamentals. Students begin with basic syntax, variables, and control structures including branches and loops, then progress to arrays and user-defined methods. The course covers object-oriented programming principles through classes, objects, and inheritance, alongside essential topics like memory management and input/output operations. Advanced concepts include recursion, exception handling, generics, and collections. Students also explore graphical user interfaces using GUI frameworks and JavaFX, culminating in practical algorithms for searching and sorting. This course establishes the programming skills and problem-solving techniques necessary for continued study in computer science.