New Year Goal Setting, Programming, and Frederick Douglass

Vijay Violet
3 min readJan 14, 2023
A Tic-Tac-Toe game example

New year goal setting is a common idea. Taking steps necessary to achieve that goal is a lot less common. This writing is intended for at least these three delightful pairs I met on a recent trip: A friend and his grandson, a niece and her daughter, and a nephew and his dad. My hope is that it interests both pairs like them and pairs entirely unlike them!

Sports and games have tangible goals. While many will help illustrate my point, I begin with a simple game: A two-person game of tic-tac-toe. The game needs just a sheet of paper and pencils. Find a partner and play! If you have never heard of this game or don’t know how to play, here is a 40-second video that tells you all you need to know.

The game uses a 3-by-3 grid. There are a total of 9 squares (3 times 3) in the game. Two players alternate taking turns and fill in a square. One player marks their chosen square always with an X. The other player always marks their square with an O. The goal of the game for either player is to get three X’s or O’s in a row, left to right, top to bottom, or diagonally.

Draw a grid and play. The player who goes first has a choice of 9 squares. The second player has a choice of only 8 squares because one is already taken. Now the first player has a choice of only 7 squares since two are taken, and so on. Play the game a few times, changing who starts first. Every game should start with a fresh all-blank 3-by-3 grid. Did you reach the goal first in some games? Did the other player succeed in some games? Were there games where neither of you were successful?

Here is the central question for you to ponder in the tic-tac-toe game. From among the squares that are not taken, which square should you take when it is your turn, so that you can eventually achieve your goal? In other words, what is your strategy? We can think of a strategy as a sequence of instructions. For example, see if you can complete these three instructions. Which instruction would you prioritize?

If the other player has two X’s lined up, pick what square?

If two of your O’s are lined up, pick what square?

If no one has two lined up, pick what square?

Follow your own instructions and play a few games to see how well you do. Being able to identify and articulate a sound strategy is the intellectual task of developing a computer program. Programming begins with a goal and contains steps to reach that goal. So do many other activities. Home cooking has goals and steps. Running an errand needs a goal and steps. The difference is that programming instructions have to be simple and precise enough for an unintelligent machine (computer) to interpret.

Learning to program, cook, or run can be a new year goal. Or the goal can be an implausible one, like the one Frederick Douglass set about at the onset of a new year in 1800s in America: Escape from slavery! We cannot fathom the steps that goal would take him. Perhaps our goal can be just to try to understand by reading one of the greatest books ever written, his autobiography: Narrative of the Life of Frederick Douglass: An American Slave.

Happy new year. Happy Pongal to my Indian readers. And a happy MLK Day of service!

— — — — — — — — — — — — — — — — — — — — — —

If you wish to be included in the mailing list to receive VijayViolet writings as they are published, please email with Subscribe in the subject line. To unsubscribe, write mail with Unsubscribe in the subject line. There will be no unwanted mails. Your email will not be distributed.



Vijay Violet

I am an American. I care about the planet, its people and animals. I care about the oppressed and marginalized. And I care about the poor, both working and not.