The course objective is to introduce students to the basics of computer programming from data types, to creating classes, to algorithms and testing. Students will learn these concepts while diving deep into the syntax of Java as the core programming language. The course culminates in the opportunity for students to design and build a project that answers a need or goal they identify.