Computer Science
   
The Computer Science department at Klein Oak is composed of a series of diverse classes designed to help students understand how to apply their pre-existing logic and algebraic skills to solve problems with the aid of a computer.

The two introductory courses, Computer Science I and Pre-AP Computer Science, give students their first exposure to the Java programming language and their first foray into computational thinking utilizing the problem solving skills learned in Algebra I and prior math classes.

Students are strongly encouraged to take Pre-AP Computer Science as their first computer science class, because it provides more opportunities to advance through the Computer Science department. AP Computer Science expands on students’ knowledge of the Java programming language and prepares students to take the AP Computer Science test in May. This class focuses heavily on creating a practical knowledge of Java and teaching students advanced algorithmic skills.

Students in the IB program may enroll in IB Computer Science, which focuses on a broader array of computer concepts and skills. Students in this class will not only grow in their ability to understand and solve problems through coding, but will also learn about other topics such as networks and system administration that translate directly into the business world.

Game Programming and Design takes advantage of a program called Gamemaker to allow students to create their own games all the while learning introductory programming skills and game theory.

Students interested in designing applications for the ever growing Android mobile operating system should consider taking Mobile Application Development which uses the App Inventor program from MIT to allow student to make ready-to-use application with only introductory programming skills.

The Robotics class encourages students to apply their problem solving skills to automated robots using the Lego NXT solution. In addition to creating working robots, this class also teaches students beginning programming skills that can be used in a variety of other fields.