This course is a college level introduction to object-oriented programming in Java for 11th and 12th grade students. More than anything, programming is about problem-solving. As a basic level, the course introduces participants to common programming algorithms and data structures. Students will become more fluent in the syntax and logic structures of the Java programming language as well as familiar with the Java API. Some of the work includes difficult programming challenges, reflecting on these exercises, and sharing their discoveries with their peers. In the Spring, students will be eligible to take the AP Computer Science Exam offered by the College Board at their school