Coding is Critical Thinking

Coding is Critical Thinking

A software engineer designs, develops, and tests software for home, school, and business use. But software engineers need to be more than just code writers. They also need to be creative, curious, collaborative, and life-long problem-solvers. That's why I enjoy teaching computer science so much.

In my Computer Science Language class, students learn to use Java, an object-oriented programming language. Object-oriented programming allows me to help students develop their creativity and curiosity in a way that other languages can't. When you write a program procedurally, you focus on what action comes next. But when you work with objects, you get to think about each "object" involved in the solution and the attributes and behaviors associated with that object. This makes programs easier to break down into pieces that can be used in a collaborative setting.

For example, in our upcoming Asphalt Art Project, students will all start with a Painter class. This class gives them different behaviors, such as moving, painting a specific color, or even scraping off paint. It also has attributes, such as position, amount of paint, and direction. From this shared class, each student can create their own painter objects with more defined behaviors and actions. Students can then start to build subclasses and objects from those to solve problems in their project that are uniquely theirs. In the end, each student will have a mural that they programmed to be painted on the screen with their unique objects, classes, and creative expression.

- Andrew Asikainen
  Faculty, Mathematics (US)
  Computer Science Integration Specialist