Developing the ability to take an algorithmic approach to problem solving. Knowledge of basic programming building blocks. Knowledge of the basic concepts of object-oriented programming. Ability to independently develop a computer program in the Java programming language. Developing the ability to produce a finished project using the chosen programming language.

