This course is an exploration of computer programming and software development using the Java programming language. Students are introduced to basic procedural programming including primitive data types, scalar and array variables, loops, conditional expressions, methods and parameters, and file handling. Students will create programs incorporating graphics and graphical user interfaces. In addition, pseudo-code is used to create programs implementing searching and sorting algorithms. Object oriented programming using Java classes will be introduced.