Hacker News new | ask | show | jobs
by parfe 3583 days ago
If excel isn't the first item on your list for teaching programming you're already out of touch.

Let's pretend you're a high schooler volunteering at a charity.

"Donors who attended our last five fundraisers?"

"Email list for our whale donors from this fiscal year?" (>100, 1000, 100000+ whatever)

"Who are our best fundraisers?"

"Was the dinner last week a success?"

What are the odds the student who can answer these questions is helped by a teacher who ticks off any of the five principals in the submission? Logo? People aren't drawing basic geometric shapes. "Cognitive load" referencing types? I'm not even sure how to address this. Any beginner expects 1/2 to display 0.5. That entire paragraph is nonsense. Be honest Ok, learn how to excel in your field with programming/excel/sql/etc as tools to succeed at your job. "Computer Science" isn't programming and it isn't a job. Never confuse any of those. #5 is just generic filler for being a not-bad teacher.

5 comments

One doesn't need Excel to answer those questions. It has convenient GUI features, but it can also be efficiently done in a variety of languages made for processing of data (or even simple command-line pipelines), many better for the task. That's also a good application for teaching about SQL and databases. These yield broader skills that can be applied more generally.

In any case: I hope schools don't start with Excel, since that cements students in relying on proprietary software and Microsoft's suite of software. If they teach it as a generic spreadsheet program---e.g., the same things can be done with LibreOffice---that's another thing.

You expect your average high school student volunteer to be comfortable with command-line pipelines or be briefed in that vs. just using excel??? The conceptual overhead for a beginner vs. the payoff is just not there.
Command-line was just an example. In some instances, a seemingly difficult problem can be solved trivially with standard tools found on most Unix-like operating systems like GNU/Linux.

But if we're talking about programming, then we're not talking about putting some formulas in Excel---that's what I'd expect of far less technical positions, ranging from accounting, to data entry, to your average person looking to understand some simple data a little bit better. Someone trained to use Excel is stuck with morphing problems into Excel's domain rather than being able to apply general building blocks to other problems.

You can do some pretty complicated stuff in Excel that requires strong technical skill; I'm not implying otherwise.

> a seemingly difficult problem can be solved trivially with standard tools found on most Unix-like operating systems like GNU/Linux

You forget how difficult is getting to the point where you can "trivially" solve problems at the command line. For one you need to be aware of the tools' existence and then understand their functions and how they cooperate and fit in together.

That is the job of the teacher.

My argument is that time can be better spent teaching general skills than teaching students how to be locked into a single proprietary program and try to force certain topics into its domain so that they can use the tool familiar with them (Excel) to solve the problem.

It should be the job of the environment. While i agree about learning general skills, Let's face it that Unix commands just aren't discoverable outside of the curated list by a teacher or other resource.
I never understood Excel or any other spreadsheet's database features (as in "why such a convoluted thing?") but we did have set theory in high school. There must be better environments for such data processing tasks. If there isn't, one ought to be devised. (There used to be DabbleDB for some time, but that's gone now.)
Excel is a tool, not a programming language. Nobody teaches Excel (or nobody should) in an introductory programming course. It might be Java, or Python, or C++ or what have you, but you're starting someone off programing with an actual programming language. As a tool, Excel is useful, but limited to what the tool was made for. With a programming language, you can make any sort of tool you need.
My school already has two year-long courses where students can learn Excel and even Microsoft Access.

They take my course to learn programming so we don't waste time on applications, valuable as they are.

Also, I don't think kids should be learning commercial products in school. That should be on the job training. Companies like Microsoft are leveraging education to sell and market their products.
God yes. We got taught how to use MS Works Spreadsheet in middle school through some sort of exercise sequence that each student worked through independently. The first bit of programming I ever did on my own was to make a spreadsheet that automatically calculated scores (with an unnecessarily complicated scoring system and a leaderboard) for a March Madness pool I was running. It wound up using a 900 byte formula that had to get split across four cells.
Your third to last sentence is precisely the point: we aim to teach computer science, not programming, not calculation. That was a very conscious choice when developing our curriculum - and it will probably come as little surprise that Excel is therefore not what we started with.