I’ve dealt with a mix of many different types of technologies in the process of building up this site: firebug, ssh/sftp, perl, HTML, DOM, css, javascript, Drupal, XeLaTeX, PHP, MySQL, akismet, and most recently jquery. Of course, the technology itself isn’t really that important compared to a solid understanding of core programming concepts (especially in procedure and functional languages) and basic networking concepts such as IP and nameservers. Lucky for me, I’ve had 4 years of college learning this stuff and 6 years of professional web development experience. But what if I knew nothing about computers and I wanted to build a site about learning Japanese on the internet? I would be stuck with some platform such as wikibooks or wordpress.com where I would lose a lot of control both in terms of my data and how it’s presented.
Considering how important the internet is becoming to our daily lives, don’t you think it’s ridiculous that I have to pay every year for my domain name and mostly likely for hosting if it wasn’t for ibiblio.org just to have my own website? I also think programming skills are becoming just as important as basic math and writing skills and should be part of every kid’s curriculum. What do you think?
I think programming Is on its way to become a second language of the educated. Much like how people would learn latin and greek, knowing basic programing skills could easily play a similar roll.
Hmm… how many people learn latin and greek? I think programming skills are a lot more practical.
I’m French and I learnt latin and greek at school (latin was a compulsory subject), which I don’t regret at all because it helped me understand and write properly my own language easier (thanks to etymology only, I’m not sure learning how to conjugate verbs helps a lot)!
For example, the word program comes from greek programma (which means written notice) and thus we have write it with two m in French.
Yet, I agree with your post, programming should be demystified, but I’m afraid the trend is more toward WYSIWYG editors, much easier to use.
> Hmmโฆ how many people learn latin and greek?
Kids these days, sheesh.
Until fairly recently, it was generally expected throughout the Western world that educated people at least knew a bit of Latin. A couple of years of it used to be a standard part of the high-school curriculum, and then it sort of got shoved out to prep schools and college … and these days everybody takes a modern foreign language instead (usually English, unless that’s your native language).
Not that modern foreign languages aren’t worthwhile too, but I do think something has been lost when so many schools no longer even *offer* dead languages. I would have been *excided* for the opportunity to take Latin in high school, but instead I ended up with three years of high-school Spanish classes, which taught me approximately nothing. I learned more in my first three weeks of Greek than in all three years of high-school Spanish. Granted, part of that is because of the inherent differences between high school and college, but I’m pretty sure the differences between the languages is also relevant. Spanish, in my opinion, is too similar to English to be worth your time (as an English-speaker) unless you have plans to travel in the Spanish-speaking world. Why do we teach Spanish in *every* *single* *school*? Just because Mexico is the nearest foreign-language country? Meh. At over a thousand miles, it’s not close *enough* for that to matter. Sure, you *theoretically* could drive there, but nobody ever does. It’s a plane trip, just like any other foreign country. We should teach a wider variety of languages. Every high school in America should offer at least one language that the next school district down the road doesn’t offer.
But yeah, I agree about the importance of basic programming skills. Not everyone is going to be an application developer, obviously, but the ability to write simple little custom things for your own use is extremely helpful.
Ah, really?
I’m still a “kid,” but my school–and a lot of schools that my friends are in–offer at least Latin. Personally, I’m taking Attic Greek, but Hebrew and Latin are also offered as the classical language options. For the modern language requirement, I’m taking Japanese, but yes, Spanish and French are also offered. It seems that in every school in the United States, Spanish /has/ to be offered, probably because of the amount of Spanish speakers here and the similarities between English and Spanish that might aid learners. I’m lucky to have multiple language options in my school and classical language requirements, although not all American schools enforce this rule. (But I’m pretty sure that a lot of American [high] schools offer at least Latin with Spanish.)
> It seems that in every school in the United States,
> Spanish /has/ to be offered, probably because of
> the amount of Spanish speakers here
That logic probably makes sense in the southwest, but here in rural Ohio Spanish is only just barely more widely spoken than Sanskrit, and yet nonetheless every school here offers Spanish. Every *single* school district, no exceptions. Many of them also offer French. If you want to take any *other* foreign language, you have to go to college, or a private school.
I’m not saying Spanish is bad and we shouldn’t offer it. I’m saying we should have more variety. I’m saying it’s bad that every school offers the *same* languages. Spanish is (for an English speaker) such an *easy* language. It’s unfortunate that there aren’t some more difficult options available to the students who are actually so inclined.
> Iโm lucky to have multiple language options in my
> school and classical language requirements
Very lucky, I’d say. I don’t know of a single public school district around here that would match that these days.
We *teach* Spanish in so many *schools* because *it* is the most demanded class. Why that is is *an* entirely different conversation, but that’s the unfortunate *truth*. My high school *offered* Spanish, French, Mandarin, and Japanese.
True I had to teach myself visual basic over the past couple of months so I wouldn’t have to enter 3000 access records into excel and build separate workbooks for them. Now I just press a button and it creates a chart just for the queried enzyme ๐
That’s awesome, this is real empowerment for non-programmer users. (Assuming you’re not a programmer) What was your experience like? Frustrating, mysterious, “just get it done” or insist on understanding the concepts involved? Anything you wish would have been different in the language/environment?
(This is *so* off-topic I know but Tae started it ๐ ) Also to the main point of the post, yes programming is a good skill to have but what we do nowadays is not really programming, more like getting the computer to almost do what we want using a set of ridiculously crappy abstractions thought up by someone else who didn’t precisely predict our particular problem.
Also, my original point is that I wouldn’t have been able to build this site had I not happen to have a technical background. How many educators are out there with knowledge and innovative ideas that are hampered by lack of technical skills and the budget to hire professional programmers?
I don’t think it’s fair to say that. Most educators have knowledge that comes from the field they put years of studying into. If they knew enough programming to make software for their ideas then they’d probably be professional programmers, but then they wouldn’t have the background needed to have the idea in the first place. So you’re stuck on either side, really. As a programmer surely you’re aware of the amount of time it takes to not only learn enough to make software, but also the amount of time it takes to make the software itself. Does an educator have that kind of time?
> If they knew enough programming to
> make software for their ideas then theyโd
> probably be professional programmers
In general I disagree with that assessment.
Granted, if the “idea” in question is a full-fledged large application development project, then you’d be right.
But many ideas can be implemented *mostly* with existing off-the-shelf software and require only a little bit of custom code or programming — a macro here, a web form there, pull a bit of data from a relational database and massage it slightly, that sort of thing. You don’t have to be a kernel hacker, just enough of a generalist (“renaissance man”) to learn the basics of something outside your main field.
Furthermore, *most* of the people who have basic programming skills *aren’t* professional programmers, especially if by programmer you mean a full-bore application developer. It’s practically impossible to be a professional network administrator without at least basic programming knowledge, and for the last fifty years or so it has also been important for mathematicians, to the point where most high-school math teachers can do at least basic programming.
I don’t think it’s much of a stretch to suppose that other fields may be added to this list, especially since programming has also gotten so much easier in the last thirty years, as third-generation languages like C gradually give way to VHLLs like Perl and Ruby, which are easier to learn and easier to use, while simultaneously more and more internet-based facilities (like the CPAN) have become available that provide easy access to vast quantities of already-written ready-to-use libraries. These days *most* of your program is already written, you just sort of put the pieces together and write a little glue code to handle the logic that’s particular to your application. You don’t have to be a professional programmer to do that.
Amongst my friends not in the field (asian studies, construction worker, security guard and poet/novelist, mathmatician) … They have both recently learned basic programming skills (at least enough to know what I mean when I talk about variables or loops). Asian studies took a c++ course but she also made a website when she was younger (angelfire lol). Construction worker is going into medicine to be a paramedic, he is learning python in school. Security guard, learned VB through making excel macros to automate work in his last job. Poet/novelist learned some scripting language playing a game where you ‘program’ dueling robots. And mathmatician is my brother, he knows some html, some vb some basic and knows the general flow of programming (took it in highschool).
Also I might point out that my highschool offered 2 or 3 programming courses and no latin/greek. It had french throughout and I believe 2years of German offered (historically because my school was a tech school and German was the linga franca while the school was built).
So, I think we are getting there. ๐ It’d be nice if everyone used linux since they’d have something more open to play with (code would become more everyday). Also if they were taught basic programming … just for the vast number of commits there would be hehe.
Haha, perhaps. I use a Linux operating system, but it’s an Ubuntu version, so I really don’t have to code much. The most programming I ever did was simple HTML and CSS when I got into a website-making craze in middle school. (I would make lots of websites on various topics and then pester my friends to visit the site and comment, heh.)
Get out and talk to folk–the overwhelming majority of Americans have never needed to do any programming, and the overwhelming majority of them will never need to.
It should definitely be offered in all high schools, but making it mandatory would be wasted on the vast majority. However, every child should take a year of logic and reasoning. Everyone can use that the rest of their lives, no matter what they do.
And yet, I get requests all the time from family asking for help for using their computer including old (which can’t be helped) but also from the young.
Your family asks for programming help, Tae?
No, but building recursive function for the Fibonacci sequence or other typical CS assignment isn’t really the point. It’s about learning how computers, the OS, and programs including viruses and malware work in general. The important part is getting a general understanding of how the computer works from the hardware, software, and networking.
That’s different–your original point was specifically about programming. Frankly, I wouldn’t even teach basic computer skills in school. They can be learned at home. I mean, what other area of school should be devoted to teaching subjects that will be completely obsolete by the time you graduate? Basic computing today will be almost useless 12 years from now. OS systems will be radically different, the internet will be as different as today’s is from 1997, and so on.
TCP/IP has not changed practically since the beginning of the internet. Neither has HTTP, or mail to any significant degree. We also still use filesystems with the same paradigm going back all the way to probably before the 70s.
You’re right. My original point is not that people need to know how to program or do basic IT functions. My original point is that many people don’t know the potential of what they can achieve in other aspects of their lives if they knew how to fully utilize and take control of these cheap and incredibly powerful computing machines that can talk to each other instantly around the globe.
Tae, I agree, but I’d add that it’s our responsibility (the programmers) to enable them to do that. One poster above managed to automate something with VBA because the language was accessible. You “can” also do it in C++ but… ๐
Whatever is out there, and easy to use, is actually being used. Google, twitter, facebook, blogs are all used by people without a trace of technical knowledge. It’s our job to constantly widen the scope of what is “easy to use”.
I can’t really program (I made a few TI-Basic things on my TI-83 back in the day, but that’s all), but you don’t really need to know how to “program” to use a computer. I couldn’t program my way out of a paper bag but I don’t have any trouble using my computer and tweaking it if necessary. Knowing how to properly use Google to fix your computer problems is the key, I think.
Back when I was a child, I remember doing a manadatory programming unit in primary/elementary school! Like seriously. Well, kinda.
This was in Australia, and it was just that old “logowriter” program so I’m sure many of you would scoff at me even drawing any comparison to real programming. Yeah, commands were limited to logic and directions and drawing, but its the foundations and enough to give people an idea of how a real language can extend this into complex, useful programs. The unit even gave the history of the program so we were aware of how specific it was and how real languages would compare (for the majority who were not studying BASIC in their own free time).
Hmm, I studied QuickBasic in Elementary School and moved onto Visual Basic and then my last year of middle school I moved on to C/C++. During that time I learned basic html. I guess teaching programming in schools might be good, but I see some people at my university just struggling with programming but I had years experience so I just kinda sat back and did my thing and got my A in the class.
I spent hours everyday studying C++. I used this book:
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html