You will learn these fundamental skills: Think algorithmically: how to analyze a problem and translate it for a computer to process. Design, develop, and enhance software programs with various modules. Analyze and model real-world problems into object-oriented programming categories. Understand the programmer's role in the software development process. Acquire knowledge of how a program runs in a computer environment. Gain