Basic Computer knowledge question

I don’t really have a problem with “the Internet’s down” versus “The LAN’s up, our router’s up, but the router on the far side of our pipe isn’t up.” Either is relatively trivial to troubleshoot, and get the idea across. I do agree with the poster upthread who did say that people ought to be aware of filesystems, so that they don’t say they saved it “in Word” or “I don’t know”. Sometimes apps save stuff in really weird and random places, and you have to do some fairly involved searching to find things that people saved without consciously putting it somewhere.

I think programming’s a worthless endeavor for probably 99% of people. The only thing it would really benefit them in is that they would learn the mental rigor, discipline and thinking patterns that good programming requires. Stuff like decomposing a problem, and being able to think of a problem and a solution at multiple levels- from the abstract (“What does this program do?” to the detail (“Should I use class A or class B to represent this?”). There are probably better ways to accomplish this for non-technical people though.

What I found most helpful as a technology guy was actually knowing what the various parts of a computer are- OS, file system, network stuff, and applications, and what each part does, and how they interact. I suspect had most people understood that, the outrage at Microsoft back in the 1990s would have been much greater, as they tried to integrate applications into the OS in an effort to kill competitors and capture markets.

To everyone who has said something similar to this in this thread: Do you believe the same about algebra / trigonometry / calculus? I’m curious because I hear this sort of sentiment about those subjects as well.

I think that even though it’s possible to teach algorithmic thinking without programming (or even without any electric devices of any kind), that learning basic programming is the best way to do it. Once you understand basic algorithmic thinking you have an easier time understanding many other subjects. For example, it’s difficult to appreciate how evolution works unless you understand how a genetic algorithm works. Rote memorization of the steps to multiply integers with pencil and paper doesn’t give you any real understanding of why the process works. Anyone who will ever have to give or receive detailed directions on how to do something complicated will, in my opinion, benefit from the experience of having to explain to a computer how to string together basic tasks into more useful complicated ones in a precise, unambiguous way.

Honestly, I’d rather high school students be taught introductory programming than calculus or trigonometry. I’d say it’s a toss-up with algebra. Certainly it’s more important than most English / literature courses, any gym course I’ve ever heard of, and music / band.

Not to be an ass, but did you read the next sentence after the one you quoted? We’re saying the same thing about how programming forces you to think somewhat differently and more rigorously, except that I don’t think programming is the way to go about teaching people those kinds of thinking patterns.

It’s an inherently abstract exercise- you’re not building anything you can see, touch or otherwise deal with- it’s literally words on a page that represent something else equally intangible.

That’s something that a lot of people find difficult. I’m an IT professional and have been a developer in the past, and I find myself drawing diagrams and/or visualizing things in my head to get a better handle on things. I can only imagine that someone without all the training and education that I’ve had would find it much more difficult.

Even stuff like LOGO/Turtle Graphics is a bit abstract for many people, and that’s about as simple as programming can get.

I suspect that the best way to teach that sort of thinking might be through cleverly constructed games, actually. Ones where the victory conditions require someone to think in that sort of abstract way and implement an algorithm, and/or decompose a problem and solve it in detail.

And… trigonometry is fairly useful in the real world, as is calculus. But there is a lot of advanced algebra that I learned in my last couple of years of high school, and have never revisited until studying for the GMAT some 12 years later. And that’s including the 18 hours of college math that I took for my computer science degree! Most of that algebra could be cut out, I suspect.

This wouldn’t be at the top of my list, but since I don’t think anyone has mentioned it - I wish that while people were young and impressionable they had it drilled into their minds how useful it can be for information to be well structured. Admittedly that’s a nebulous concept but I think so much white collar office work would be improved if it was intuitive for people to think that way.

Example - “What’s **wrong **with storing all my invoices in thousands of Word documents in hundreds of different folders? I can look up any given invoice in 2 minutes time because I know how I organized them.”

My beef is with the 2nd sentence in my hypothetical. I want everybody’s mindset to be, “well the invoices aren’t discrete units, they’ve got all kinds of information in them and if it was structured somehow, like in a database, it would take 10 seconds to analyze the company’s financial performance in 20 different ways that would each take a week to do if we had to open thousands of word documents and compile the information by hand.”

Having the first clue how to actually work with all that data isn’t the average person’s job. In my example it’s probably some software engineer at Intuit’s job. All I want from the average office worker is for it to intuitively make sense that it’s a good and worthwhile thing to organize and structure information.

Smart phones and tablets are consumer, not production devices. Knowing how to use them is scant preparation for productive computer skills.

Edit: Tablets can be productive, but rarely are used extensively for this purpose.

Honestly, at this point I’d be happy if my coworkers could grasp the fact that sometimes videos don’t work because of those dozen prompts to update java/flash etc they’ve ignored and that they can cure their “slow” computer by deleting temporary files.

And oh! Accept that they’re typing in their f’n passwords wrong, not “there’s something wrong with program X.” I can’t tell you how many times we’ve magically fixed password problems by getting people (who for some reason never ever want to) to copy and paste usernames and passwords in rather than type them out.

Anyone who has debugged an outage knows that “the internet is down” doesn’t mean that. People seem to want to blame stuff they have no control over. When I was a TA a long time ago the kiddies would often blame the compiler for their program not working, and were surprised when I showed them their obvious error.

Filesystems are an excellent example. I have several times tried to get it through the head of my own dear wife that you don’t open every file in Word, even though she spends most of her time in it.

I agree, and when my daughter took CS 101 at a good university there was no programming involved. But if you teach it, teach it right. My CS professor friends used to dread getting the kids who thought they knew all there was to know about programming because they wrote BASIC code in high school. Now that is way above most HS students, I suppose. Hell, my son-in-law’s father taught the computer class at the local high school, and if he knew how to program I’d be shocked.

It may be too complicated now. I started on a machine with no assembler and no OS, so I learned the internals in high school.

A good list, but:

Why gmail? There are other email programs. Does gmail offer something unique?

I’ve never heard of a Deep Web search engine.

I’ve taught elementary school kids (smart ones) recursion and search strategies through the use of simple games. It is easy to teach algorithms without programming. Do it on a computer, but don’t call it programming. That is, unless you want to go back to the '60s. I don’t want to summon Dijkstra and Wirth from the afterlife to set people right again. I lived through that once.

As for GAs, somehow people managed to understand evolution for 100 years before GAs were invented. In fact, GAs would be a terrible way to teach evolution because GAs have goals and evolution does not. Evolution only prunes for success in reproduction (or in having one’s genes propagate to the next generation.) GAs are just one class of search space heuristics, like simulated annealing and many, many others.

We’ve been through similar arguments in the UK recently, with knowledge of specific programs being downgraded in the curriculum for coding.

IMO, school education isn’t so much about equipping people with the specific skills required for jobs at the time they’re still in, or about to leave, school, it’s about teaching them to learn how to learn for the rest of their lives. In this case, it means a bit more of an understanding of how computers and their languages work, and a more general sense of how they’re applied. You can’t do that without basic language and numeracy skills, and you also need to understand the underlying “real world” ideas and behaviours that computer programs are explicitly mimicking: why is it called a spreadsheet/browser/folder/desktop?

Above all, they need to understand that neither Microsoft nor Apple nor Linux is the be-all and end-all, and to have the skills to enable them to evaluate different programs doing similar jobs, to understand strengths and weaknesses, and why particular features are or aren’t worthwhile. So I certainly wouldn’t tie them down to just a basic knowledge of MS Office.

To the first question, I would answer: “Thirty years, at least;” to the second, my answer would be: “What?”

I’m with von Neumann. I’d want to make sure someone can do it by hand before giving them mechanical means. That applied to the sliderules I learned on also. If you can do math in your head, you can tell if the deal someone is trying to sell you is plausible or not. If you want to see consternation, tell a car salesman that the deal he is trying to give you is crap after doing the math in your head. Great fun.
After kids can do multiplication and division, then let them have calculators.

For me, the key thing is to impart kids (and anyone new to computing) with the confidence and knowledge to transfer their skills from whatever system they learn on to the next system they use. Most of us who are comfortable with computers can figure out a new operating system or application quite quickly, because we can guess how to do stuff based on experience.

I provide tech support for an elderly relative, and the concept of “I don’t know how to do this, but give me a minute, I’ll have a play around and work it out” is baffling to her.

Sum a row of values in a spreadsheet.

Pick reasonable fonts.

Never open any attachments in email, ever. They’re either malicious or just a waste of your time.

Never answer the phone.

Remember Sammy Jankis.

In addition to knowing how to use computer applications, it helps to know how to set up a computer system. From an empty harddrive, install an OS. From there add multiple applications that do the same thing ie a few web browsers or office suites. Do the browser add-ins. Add and optimize anti-virus. Do detailed web searches using various engines. Upgrade the installed programs. Download multiple file types from websites. Set up a small network. Then wipe the hard drive and do it again with a different operating system. Except for the original OS and program installations, most of these need to be done in one fashion or another when a new system or component is gotten.

Sometimes I think that teaching kids computer skills is pointless. Everything changes too fast.

When I was in 7th grade, we loaded 5-and-a-quarter inch disks and booted MS Dos. That same year, my brother got to send an e-mail from school to my father. He was the only kid in his class who knew anyone’s email address.

In 9th grade we used Netscape Navigator and Alta Vista. In 11th grade it was IE and Yahoo. Freshman year of college, it was Mozilla and Google. Today I’m typing this on a Kindle.

When I was in college, they taught us C++, and a little bit of JAVA. To get my current job, I needed to teach myself PHP and Ruby. In college there was one elective class on networks. A small portion of it focused on the internet.

My advice to any kid,who wants to be a computer professional is to not bother with anything they teach in school. School is run by Neanderthals. Get books, watch Youtube videos, work through online tutorials. Teach yourself.

That list ranges from stuff people will almost never have to do (install from scratch) to stuff modern programs do for you (update themselves.) In most cases people reload an OS when they can’t figure out what the real problem is - I’ve never had to do it, and I’ve had some doozies.
And none of these things tells you what goes on under the hood, a basic knowledge of which is far more important than a list of instructions that a user doesn’t really understand.
Back in the old days setting up a usb wifi accessory required downloading drivers and setting dip switches. Now you click a button. But understanding the difference between a modem and a router is still useful.

I don’t think I’ve ever owned a computer for which I didn’t need to format a hard drive and install the OS at least once.

• Sooner or later you want a bigger hard drive; what looked like the digital equivalent of the Pacific Ocean starts looking like a goldfish bowl after 5 years. Even if you have a bootable backup with the backup software set up to just reverse-backup your backup to the new empty HD, I think that counts as an installation. It certainly requires formatting unless you bought one preformatted.

• Usually the computer’s HD isn’t going to be partitioned. Some of us like partitions for various reasons. Admittedly nowadays I have sw that allows for changing the partition map of a drive without erasing the existing volume info, but if it’s a new purchase I’d probably still just reformat and start from scratch. The fancy non-destructive partitioning software is slower.

• Or you buy a used computer and you don’t particularly want whatever digital T^$@#!#@ leave-behinds are lurking from the previous owner.

• Or your HD fails, which is why we make backups. Now you gotta buy a new drive, format it, and restore from backup, yes?

• Or sometimes you skip an OS version or two because you liked the old environment; then eventually you decide to catch up with the modern world and the gap is so wide between the OS you’ve got and the OS you’re upgrading to that it doesn’t really make sense to do an archive-and-install.

We’re talking about stuff everyone should know. Since my HD got above 20 MB, I’ve never needed to upgrade to a new one (and those were not upgradeable). I don’t collect lots of movies and stuff, and the older folks I support have always had plenty of room. (At work I have three terabyte disks and need two more, but that’s a different story.)
Ditto for partitions. If you’re installing Linux in a dual-boot system you need to partition, but it is not something an average user is going to do, and is just going to confuse them. It is hard enough for them to understand the structure of the filesystem.
Your average user is probably going to get someone to format the new drive for them.
Now, knowing how to move stuff between systems is a useful talent. But if you buy a new machine you’re not going to reformat, are you?
So, all the stuff on your list is useful, but well beyond the average user. Back in MS-DOS days it was hard enough to keep my father-in-law from reformatting his hard drive by mistake.

My list:
[ul]
[li]How to make a pdf[/li][li]How to make a screenshot[/li][li]How to send a file to your tablet/phone[/li][li]How to do basic connectivity troubleshooting[/li][li]How to use the search function[/li][li]How to do cut/copy/paste and know what Ctrl-F/find and replace can do for you[/li][li]Have a basic understanding of user accounts[/li][li]Know when to seek help [/li][li]Have had exposure to more than 2 OS’s (not just your phone and your desktop)[/li][li]Know where to find a command-line[/li][/ul]