Software developers are in high demand in the current job market, and computer programming is a prerequisite skill for success in this field. Start your journey toward becoming a professional software developer by learning Java, one of the industry’s most commonly used programming languages. This course, part of the CS Essentials for Software Development Professional Certificate program, will quickly cover Java syntax and keywords and then explore features of object-oriented programming including encapsulation, inheritance, and polymorphism. You will learn how to apply these concepts to programmatic problem solving by investigating class modeling techniques and relationships such as aggregation, realization, and generalization. In addition to programming, you will learn about software testing techniques that help us find problems in our code, and you will use modern development environments and tools for tasks like debugging and unit testing. We will introduce Eclipse, the eclipse debugger and Junit (a unit testing framework). After completing this course, you will be able to design, develop, and test large applications in Java and understand and apply core principles of professional software development.