Spreadsheets are a very good tool to introduce people to programming. Much more so than many other applications that try to get people started. a major problem with other popular beginner programming tools like Scratch or Logo is that they don’t really provide much usefulness in the real world. People learn basics of programming but don’t use them outside their lessons because they can’t find a good use for the skills they have learned.
For somebody to really understand the importance of programming, they must first grasp just how much easier it can make their lives. A spreadsheet can easily show how tasks can be simplified when they get a computer to do the work for them. Take a simple task of adding up a bunch of numbers. With a spreadsheet the user can very easily enter a bunch of numbers and get the computer to calculate the total of those numbers. This is a very basic task, but it shows the user the ease at which a computer can be made to do their bidding. If they change a number or want to insert an extra value to be added, then this is a simple operation, and they don’t have to add the numbers again, the computer will do it for them.
But is adding up numbers using a spreadsheet programming? In my interpretation it is. The user is giving the computer a command to perform a specific task, and letting the computer do the work. The computer will then continue to recalculate the numbers whenever the values change.
The other great thing about using a spreadsheet is the instantaneous feedback. The user can quickly and easily change the numbers and see how the result changes. The user can try out new functions and see the results. No need for compiling code or even having to press a key to make it run. Everything just happens in an instant.
Spreadsheets also offer charting features which give the user another way of visualizing the data. The user can easily create many different kinds of charts, and again the charts are updated in real time as the user changes the data.
The user can eventually move onto more complex spreadsheets where writing programs based on the data in the spreadsheet can be done with “real programming languages”. The programming languages and functionality depend on the spreadsheet software used, but Excel, LibreOffice (OpenOffice), and even Google Sheets provide support for writing custom programs that can be used to work with the data in the spreadsheet.
Spreadsheets are a great stepping stone to get people started in programming. I remember finding many good uses for spreadsheets in my highschool classes to make my work easier to complete or sometimes just to make a chart to display some data. The chart could have been drawn by hand, but using a spreadsheet makes the jobs lot easier, and it sure is a lot easier to correct mistakes on a spreadsheet than it is to redraw your chart after you realized you mixed up some values. Even if the user never moves onto more complex spreadsheets with custom functions, they have learned some useful skills that can be applied in many settings, and will have a new tool they can use to make their lives easier.