Tuesday, March 20, 2018

Should We Do More With Spreadsheets in CS Education?

The Microsoft Research podcast has some very interesting interviews. One of them is How Programming Languages Quietly Run the World with Dr. Ben Zorn There are many fascinating things in this interview. Internet of things, security, software verification, and this interesting line:

So, by numbers, spreadsheets actually are the most important programming language in the world.

You really should listen to the whole podcast or read the transcript get get all of the value from it. I was fascinated, especially by the Internet of Things and security discussion. But the talk of spreadsheets is what I want to think about today.

I think many of us who teach computer science under estimate the importance and value of spreadsheets. They are ubiquitous today and are at the core of many things in business, industry, and even in our daily lives. At my school we teach them for a few days in our freshmen course. We don’t get very deep into them though. About the most computer science like thing we cover is if statements and conditional formatting. It’s a start but we are really only scratching the surface of what spreadsheets can do.

Given how many more of our students will be using spreadsheets later in life compared to how many of them will be serious programmers (using things other than spreadsheets anyway) should we be teaching them more? Or teaching them how computer science and programming are useful in spreadsheets?

I don’t know where this all fits in, or should fit in, to computer science curriculum. Should it be something that is taught by other departments with domain specific examples and issues? That would probably be nice as it would seem more relevant to more students. Teaching things in the abstract seldom “grabs” as many students as teaching in context does. But are teachers in those domains prepared to teach these things? At the university level, probably, especially with adjuncts with industry experience. At the high school and younger levels I am less confident.

So I have some thinking to do. I hope you’ll do some thinking about this and leave some thoughts in the comments. Let’s work on this idea together.


Garth said...

One of my graduates who is now a CS junior at Montana State University is taking a Data Structures course that is focused around Excel and VBA. He is fascinated by the power behind the combination. I have not taught VBA in years but I remember thinking of what I could do with it. Maybe it is something CS teachers need to consider more seriously.

Garth said...

I just did a spreadsheet activity with my senior Stats class. OMG. They are doomed.

Alfred C Thompson II said...

Garth, did they ask if they could use calculators? I've had students ask that on Excel activities and tests.

Anonymous said...

For a summer class to prepare incoming freshmen for college computer science classes, we created some lessons about computer science and epidemiology, using both spreadsheets and simple Java programs. We heard from students that the spreadsheet skills helped them during the year when they had to do labs in physics classes. Most students who took the summer course were engineering majors, so I imagine the spreadsheets remained relevant, while MATLAB eclipsed Java in their coursework.

Our team created the activities on Desmos in case anyone wants to play with or adapt them:

Episode 01: Outbreak!

Episode 02: Guac and Pathogens

Garth said...

Oh yes. Some wanted to do the equations on their calculators and then put the answer on the spreadsheet.

Auro said...

When I taught middle school Computers (sort of CS), I had a fairly extensive section on spreadsheets, and I think it was one of the most useful units.
I am about to do a robotics activity based on http://www.legoengineering.com/ev3-projectile-launcher/ with one of my classes, and this is the first time we will use spreadsheets. I'm super excited!

kath said...

At my last programming gig, a couple of years ago, we used excel to track EVERYTHING. Very little in the way of calculations, but we used them to keep track of work to be done, when when work was done etc.

I spend all day with Excel open.