Jump to content

  • Log In with Google      Sign In   
  • Create Account


Negative programmer reaction of the Code.org Video


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
76 replies to this topic

#1 Michael Tanczos   Senior Staff   -  Reputation: 5184

Posted 28 February 2013 - 10:38 PM

If you haven't seen the video, check it out here:  http://www.code.org/

 

I've been reading a lot of negative posts on various tech sites about that video.   Some of the biggest complaints are the selection of people in that video.. particularly that some of them most likely don't actually code at all.   I've read suggestions to have more well known computer scientists in the video as a way to pitch CS for "real".

 

My take as a high school programming teacher AND computer science degree holder (from Penn State University) is that people outside of education are completely missing the point.   This advertisement targets the people making decisions about education as much as it does the students it is trying to engage.   One suggestion I read was to put guys like Linus Torvalds in the video.. no offense to Linus, but he is *not* the person to pitch computer science to the masses.   Not because what he has done isn't important, but because he can't connect to regular people on the level that some of the people you see in that video can.   The people holding the purse strings have to realize that this is something actually important.   Guys like Bill Clinton/Gates, Zuckerberg, etc. have the clout to actually convince them.

 

Think about your programming experience in high school.  How many classes did your school have?   What was the credentials of your programming teacher?   Right now it is mostly the biggest schools with a lot of tax resources at their disposal that can afford to include programming classes.  But computer science definitely not a priority in our education system.. but there are forces at work trying to push things in a different direction.  This code.org video is another effort to do exactly that.  

 

In fact, most states (it most likely is all states, but I'm not positive) do not have a computer science certification for teachers.  It falls under either math or business education.. and the degrees that these people get typically require exactly one programming class sometime in their freshman/junior year.   That is the state of things..

 

The point I'm trying to make is that we desperately need *some way* to start engaging the public on the idea that simply focusing ALL of our efforts on math/reading is not going to do much for our youth.   We need to be able to expand their ability to think critically and think logically, and computer science is one such place where problem solving is everything.   More importantly, it gives students an opportunity to solve problems in a way that is enjoyable.

 

The more people you can draw in and give the opportunity to at least explore what programming is about, the more truly talented individuals you are going to see entering the field.


Edited by Michael Tanczos, 28 February 2013 - 10:39 PM.


Sponsor:

#2 JTippetts   Moderators   -  Reputation: 8352

Posted 28 February 2013 - 11:02 PM

I'm pretty much of the same opinion. This video was a marketing thing, pure and simple. You have to have people who can connect with the folks watching it, people with a bit of charm and charisma if you want to market successfully.



#3 BGB   Crossbones+   -  Reputation: 1554

Posted 01 March 2013 - 03:46 AM

I think general people knowing how to write code could be kind of a pros/cons thing though.

I started writing out my thoughts but it largely ended up as a kind of cynical rant about education, which people would probably just end up disliking anyways (like with education being a "cornerstone of society" and so on, even if sometimes it does just seem like it is all there to take ones' time and money for sake of some "the future" which will possibly never really materialize anyways, and a person can learn things much more much more quickly via searching for information on the internet, ...).

another part ended up being mostly about the pros and cons of having more people know how to write software vs the potentially higher profitability where all this is kept in the hands of a select few (where there is the select few who can write code, and everyone else giving them money for it). like, a world where code and coding abilities are readily available is also one where there isn't a whole lot of money to be made from selling software. so, it is a tradeoff between a world where everything is tightly controlled by a select few, or a world where, for the most part, software isn't particularly profitable (for example: a world where programmers have to be licensed to write software and pay a high price for development tools and possibly yearly dues/...; vs a world where compilers and tools are pretty much free, but compilers-and-tools as a viable market segment is pretty much all but dead, ...).

I guess the relative pros and cons depends a fair amount on who the person is in this scenario (it is good to be the one on the receiving end of the money, but not so good for the person on the paying end, ...).

or this is the short version, people are free to disagree if they want...

Edited by cr88192, 01 March 2013 - 03:48 AM.


#4 Milcho   Crossbones+   -  Reputation: 1175

Posted 01 March 2013 - 04:26 AM

I'm all with getting more people into computer science and using it to get people to think more logically...

But I also think that computer science is not for everyone. Programming isn't something everyone can grasp - I've met people, perfectly normal and otherwise competent, who could not wrap their heads around the flow of a program, despite several attempts (from me and others) to explain.

So I don't think that attempting to teach programming to everyone will be helpful. But giving more opportunities to learn programming - yeah, definitely better.



#5 Amadeus H   Members   -  Reputation: 1180

Posted 01 March 2013 - 05:52 AM

Almost a year ago Jeff Atwood gave compelling arguments of why not to learn to code.

Our school offered optional coding classes, which I took and I think was nice. I don't think it needs to be integrated into the standard line of classes though.



#6 L. Spiro   Crossbones+   -  Reputation: 13297

Posted 01 March 2013 - 07:18 AM

I'm all with getting more people into computer science and using it to get people to think more logically...
But I also think that computer science is not for everyone. Programming isn't something everyone can grasp - I've met people, perfectly normal and otherwise competent, who could not wrap their heads around the flow of a program, despite several attempts (from me and others) to explain.
So I don't think that attempting to teach programming to everyone will be helpful. But giving more opportunities to learn programming - yeah, definitely better.

The possibilities are endless if you start young enough.  Children will learn 3 or 4 languages fluently if exposed to them growing up with 0 effort on their part.
Why not make one of them a programming language?

 

The biggest problem with our educational system is that we constantly underestimate how spongy kids are.  While there are exceptions, many of them are only limited by how much information we choose to throw at them.  We decided for whatever reason what is “too much” for them, and in doing so we stunted their growth.  Nothing else.

 

There are very few people I would agree would be unable to grasp it no matter what.  Here is a conversation I had with a coworker when I worked at the Wichita Greyhound Park as a youth:

Her: “Did you know Wan has never been outside Kansas?  Poor guy.”

Me: “Huh?  He is from Vietnam.  He has lived outside of all of America almost all of his life.”

Her: “Vietnam?  Where is that?”

Me: “Um, it is in Asia, across the ocean.”

Her: “Asia.  Oh, that’s in China!”

Me: “Uh-  No, Asia is a continent, like North America, and China and Vietnam are both countries inside that continent, like the United States of America is inside North America.”

Her: “Oh wow Vietnam is a country?  Oh my God is that why they call it the Vietnam War??”

Me: double_facepalm.jpg

 

Obviously some people will never succeed at some things no matter how hard they try, but it certainly doesn’t hurt to give them exposure, and earlier is better.

Otherwise, keep watching your software jobs go to India.

 

 

L. Spiro


It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
I went to my local Subway once to find some guy yelling at the staff. When someone finally came to take my order and asked, “May I help you?”, I replied, “Yeah, I’ll have one asshole to go.”
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#7 Toothpix   Crossbones+   -  Reputation: 810

Posted 01 March 2013 - 07:41 AM

Almost a year ago Jeff Atwood gave compelling arguments of why not to learn to code.

Thank you for this.

 

In my opinion, learning how to use a computer is just like learning how to use many of modern technology's other amenities, such as automobiles, telephones, Xerox machines, etc. Like automobiles, there are different levels of knowledge. There are people that just know how to use the machine, people that know how to crack open the hood and work on their engine and the internal parts of the car, and the actual engineers that design the parts and are working with the physics of the components of the car. If programming a computer (IMO akin to working on the insides of an automobile) is to be taught in American schools (its already taught in India), don't give the kids a fresh install of Windows 8 with Alice or Scratch "visual drag-drop programming," give them gcc on Debian (with, of course, X Window System not available). My logic is that when you just give them a drag-and-drop interface to "coding" something like a 2D graphics (or even 3D, in the case of Alice) with instructions like "rotate" and "move" you are doing it entirely wrong, as they aren't necessarily being interested in computer programming, just the high level problem solving game-ish things. Maybe introduce (like in India, just not that outdated *ahem Turbo C ahem*) them to programming after Algebra I (which should be given much earlier) and teach them those things, but only if they sign up for the class. I don't care how good it sounds, teaching programming to a class with a few people who don't want to learn it WILL ruin the learning process for everybody else. The reason I mentioned disabling X before was that I find that using bash/terminal is much more of a boon to your attention span than using a GUI. A lot of kids these days have this false image of programming, a highly academic and professional occupation, that it is some job filled with "hacking punks who do stuff on a black and white screen to make kool stuff for people for fr33."


C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.


#8 Michael Tanczos   Senior Staff   -  Reputation: 5184

Posted 01 March 2013 - 07:49 AM

I'm all with getting more people into computer science and using it to get people to think more logically...

But I also think that computer science is not for everyone. Programming isn't something everyone can grasp - I've met people, perfectly normal and otherwise competent, who could not wrap their heads around the flow of a program, despite several attempts (from me and others) to explain.

So I don't think that attempting to teach programming to everyone will be helpful. But giving more opportunities to learn programming - yeah, definitely better.

 

I absolutely agree with you.  Computer science and programming isn't for everyone, and I can tell you that students who do take the courses in high school figure that out.   Let's say that out of every group of students 10% of them really get it and can excel.. in some cases it's a numbers game because there are plenty of students who can think with the mindset of a programmer but who may just not get exposure to it.   In this case a class of 20 students will yield 2 students who are talented.   What we need is to expand our computer science class enrollment numbers and mine for the truly talented individuals in each school.

 

And Spiro is right.. students will gain an interest in the things you give them exposure to at a young age.   Many programmers can talk about how as kids they developed an interest in the craft through some project or piece of software they worked with.   Most people graduating don't have positive experiences like that because they simply aren't exposed to them.



#9 Milcho   Crossbones+   -  Reputation: 1175

Posted 01 March 2013 - 07:52 AM

The possibilities are endless if you start young enough.  Children will learn 3 or 4 languages fluently if exposed to them growing up with 0 effort on their part.
Why not make one of them a programming language?

 

I don't think learning to program is the equivalent to learning a natural spoken language. Sure, programming languages have syntax, spelling and sort of grammar rules, but there's far more to learning programming than just learning how to write valid code. In fact, most of my education in getting a CS degree was langauge-agnostic - only in classes that were named "Java ###" or "C++ ###" did we focus on language specifics. (that is to say, there's more to 'programming' than just knowing a programming language)

 

If I can make another comparison, learning to program is kind of like learning to write novels. You can write understandable code or paragraphs, but whether you can achieve something with that in the end (be it a well functioning program, or an engaging and interesting book) is another set of understanding entirely. And just like programming, I don't believe that everyone can write novels.


Edited by Milcho, 01 March 2013 - 07:54 AM.


#10 Amadeus H   Members   -  Reputation: 1180

Posted 01 March 2013 - 08:00 AM

And just like programming, I don't believe that everyone can write novels.

 

In my own opinion, I don't really think it's a question of can, but wants to.



#11 Hodgman   Moderators   -  Reputation: 29510

Posted 01 March 2013 - 08:17 AM

I'm all with getting more people into computer science and using it to get people to think more logically...
But I also think that computer science is not for everyone. Programming isn't something everyone can grasp - I've met people, perfectly normal and otherwise competent, who could not wrap their heads around the flow of a program, despite several attempts (from me and others) to explain.

Would the same be true if those same people had encountered BASIC or LOGO in primary school, like many of us did?

Trying to explain Pythagorean theorem to someone who didn't go to high school is also pretty hard, but that doesn't mean we should teach children math... in fact, the opposite!

I don't see what's wrong with expanding people's minds, especially the minds of young children. In high school, there were plenty of the "oh, I just can't get it" types in my computing class, who won't go on to make a career out of programming, but they still all managed to turn in something for the QBASIC assignment, even if it's just a series of print and if statements that form a questionnaire. Those people had their mind expanded a little bit, and then lost a skill (like how most people forget how to solve a quadratic equation, but appreciate that such a thing exists, and know how to split a bill using a calculator), while a few people in the class were given the opportunity to grow and make a career for themselves.

Most people in your math class aren't going to become mathematicians, most people in the music class won't become musicians, nor in history, historians, nor in English, writers, nor in drama, actors, etc, etc.

 

Also, our schools suck at teaching any kind of logical thinking at all (at least where I'm from), so even simple boolean logic taught in computing is pretty important IMO.


Edited by Hodgman, 01 March 2013 - 08:29 AM.


#12 mdwh   Members   -  Reputation: 854

Posted 01 March 2013 - 08:18 AM

Almost a year ago Jeff Atwood gave compelling arguments of why not to learn to code.
Our school offered optional coding classes, which I took and I think was nice. I don't think it needs to be integrated into the standard line of classes though.

Whilst I don't necessarily think everyone should learn to code, I don't really follow the argument in that blog. I wouldn't suggest a Mayor needs to learn to code, but I also wouldn't complain if he did. So what if it isn't relevant to his job? By that logic, a programmer shouldn't be allowed to learn to play a music instrument in their spare time.

The logic that it shouldn't be taught in schools because you don't need it in most jobs is even worse, by that reasoning, he's argued away the need for many if not most subjects in school.

I think the analogy to learning an instrument works well. Not everyone needs to do it - but (at least in the UK), music is a subject taught to everyone for certain ages. The problem with an optional class is that people might not ever realise they might like it, or the option will clash with other options. So having music lessons gives people the chance. And it's no different to any other subject - art, drama, history, geography, foreign languages - whilst these aren't as core as maths and English, they are still subjects taught to all children in many countries for at least some ages.

It's also about trying to do away with privilege and give children a more equal chance. Many programmers including myself learned to program in our own time at an early age, but we also had the privilege of parents who bought us a computer. Those who don't have that miss out - and if one wonders where the huge gender inequality in programming comes from, I'd blame the toys typically marketed at girls versus boys. (Similarly with instruments, children who have a parent who can teach them, or pay for lessons, as well as for the instrument, have a huge advantage.)

(In the UK, I believe IT is now a common subject, though I don't know how much time is given to learning programming, if any.)

I think that specialisation is fine later on, especially at University level. Indeed, there I find it odd that the US expects people to do a range of subjects. So no one should ever be taught programming at any age at school, but University students doing computer science should have to also do completely irrelevant subjects - that makes no sense to me.

If I can make another comparison, learning to program is kind of like learning to write novels. You can write understandable code or paragraphs, but whether you can achieve something with that in the end (be it a well functioning program, or an engaging and interesting book) is another set of understanding entirely. And just like programming, I don't believe that everyone can write novels.

But (at least in the UK), we do still teach children creative writing, to give them the chance to write stories - all the way from early in primary school, through to English lessons in secondary school.
http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://homepage.ntlworld.com/mark.harman/conquests.html - Conquests, Open Source Civ-like Game for Windows/Linux

#13 L. Spiro   Crossbones+   -  Reputation: 13297

Posted 01 March 2013 - 08:46 AM

I don't think learning to program is the equivalent to learning a natural spoken language. Sure, programming languages have syntax, spelling and sort of grammar rules, but there's far more to learning programming than just learning how to write valid code. In fact, most of my education in getting a CS degree was langauge-agnostic - only in classes that were named "Java ###" or "C++ ###" did we focus on language specifics. (that is to say, there's more to 'programming' than just knowing a programming language)

I chose to relate the 2 out of personal experience, as I am tri-lingual, with Thai and Japanese being my 2nd and 3rd.
There is a lot more to language than just learning the words. It is exactly like learning the keywords to a language, but without grammar your words won’t be interpreted by anyone. A lexer.
Learning grammar is exactly the same as learning syntax—in fact the the thing that defines a language’s syntax is called its “grammar”.

Now you may be able to execute valid sentences, but that still doesn’t mean they are correct or do what you want.
“Come”, “dog”, “horse”, and “mother” are all pronounced the same way in Thai except for the tone, thus you are quite likely to tell your girlfriend she has a nice dog, speaking about her mother.
A very valid executable sentence, but you are still a novice sentence programmer.


Not only that but spoken languages vary in difficulty just as programming languages do.
Thai has very basic grammar and very few words (rather than inventing new words, existing words are combined whenever possible, so instead of “traffic” you have “car-stuck”). It is like learning BASIC or LOGO.

Then there is Japanese, which like C++ only takes 4 years to be decent enough to generally speak your idea, though your code may not be very pretty.
Like C++, around 8 years to learn the nuances and not only speak your mind but with a touch of elegance.
And, like C++, a lifetime to learn every single in-and-out, including all the Kanji, deprecated words such as やにこい (Google Translate won’t help you here), etc.


Indeed, there is a near 100% match between learning programming languages and spoken languages. And just as everyone can speak a spoken language fluently, I can guarantee that everyone could be fluent in at least 1 programming language if our lives revolved around that as much as it revolves around spoken language.
That will never be the case, but you have to agree. If we communicated via code, learned from teachers via code, etc. everyone would be a coder except the handicapped.
It is not above anyone’s ability. They just don’t get exposed to it enough.

That level of extreme exposure is over-the-top and unnecessary, but it illustrates my point.
Kids are sponges. The only thing they can’t learn is what you decide not to teach them.


L. Spiro
It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
I went to my local Subway once to find some guy yelling at the staff. When someone finally came to take my order and asked, “May I help you?”, I replied, “Yeah, I’ll have one asshole to go.”
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#14 swiftcoder   Senior Moderators   -  Reputation: 9860

Posted 01 March 2013 - 08:53 AM

you are doing it entirely wrong, as they aren't necessarily being interested in computer programming, just the high level problem solving game-ish things.

So you actually mean that they are doing it right?

 

Programming is a means to an end - it has no greater purpose than to enable high-level problem solving.


Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]


#15 Milcho   Crossbones+   -  Reputation: 1175

Posted 01 March 2013 - 09:12 AM

Indeed, there is a near 100% match between learning programming languages and spoken languages.

I'm not really going to argue that, but like I said, and what I probably should've pointed out is my main point - there's more (far more in my opinion) to programming than knowing a programming language.

 

But (at least in the UK), we do still teach children creative writing, to give them the chance to write stories

Is that mandatory? I know at least in some schools in the US they have such optional classes, and some things like creative writing are touched upon in general English classes. But yeah, I agree with you, I'm all for exposing more children to programming - I just don't think its a good idea to expect to have all of them become good at it, or take a liking to it. 

 

There's an interesting article that touches on some of the idea that everyone should learn programming here: http://scientopia.org/blogs/goodmath/2012/10/05/everyone-should-program-or-programming-is-hard-both/

 

Would the same be true if those same people had encountered BASIC or LOGO in primary school, like many of us did?

Honestly, I don't know. But then, wouldn't that be the same argument for any subject area? What if instead of BASIC or LOGO you instead had equivalent exposure to music theory and music composing?

 

Here's the thing - I see this quickly turning into a genetics vs upbringing argument. Is everyone the same blank slate when they're born, and thus everyone is capable of learning anything that they're exposed to? (as Spiro puts its "kids are sponges") Or is there some sort of genetic predetermination of what we're good at, and what we're drawn to find interesting?

I'm very much under the opinion that its about a 50/50 mix of those two, and thus, while I'm all for more people learning programming and more programming classes in highschools and the equivalent, I don't expect that everyone should know and learn it, or be able to comprehend it.



#16 way2lazy2care   Members   -  Reputation: 782

Posted 01 March 2013 - 09:33 AM

I'm not so sure. Coding is essentially just learning how to communicate with an entity that only understands the most basic commands. Perhaps it isn't analagous to learning a language so much as it is learning to communicate differently.

 

I used to think some people just couldn't understand coding, but the more I think about it the more I feel they just aren't compelled to do it, not that it's impossible for them. If you look at the things you learn from coding that aren't necessarily coding, having a populace that in general understood how to code would have a huge impact. Look at how your knowledge of coding carries through the rest of your life and the way you think about things outside of it.

 

Even bad coding (read: non-performant/messy coding) still teaches you how to break down statements/commands into their atomic parts and better understand everything.

 

Look at even the insight you can get from Hello World; the simple task of communicating to something that you want it/them to say, "Hello World." To a normal person it seems easy, just ask them/it to say "Hello World." Coding it reveals all the assumptions one might take for granted. It's almost philosophical in a lot of ways:

 

-How do I know I am supposed to do something at all?

-How do I know you are giving me data?

-How do I actually get that data?

-How do I store that data until I do something with it?

-How do I know what you want me to do with that data?

-How do I know when to stop doing things with that data?

 

These are all things that have to be pretty explicit in code, but someone takes totally for granted because we typically communicate with intelligent things.



#17 Olof Hedman   Crossbones+   -  Reputation: 2752

Posted 01 March 2013 - 09:43 AM

There is no point in trying to get everyone to be C++ experts, but I think it's an excellent idea to teach kids a bit more about how a computer works, including simple programming.

With the car analogy, It's really helpful for your driving if you have at least a basic knowledge of how a car works, and some basic physics.
Same thing with computers, the most versatile tool ever invented, that everyone uses.

#18 Hodgman   Moderators   -  Reputation: 29510

Posted 01 March 2013 - 10:04 AM

Honestly, I don't know. But then, wouldn't that be the same argument for any subject area? What if instead of BASIC or LOGO you instead had equivalent exposure to music theory and music composing?

You do. Or at least, learning to play an instrument was mandatory for me in my typical government primary school (it's even a meme for it). In secondary school it was mandatory to learn to read and write musical compositions too...

Also mandatory were writing stories, painting pictures, sculpting, technical drawing, doing math, playing sport, learning nutrition and fitness, performing plays, singing, researching in the library, constructing scientific experiments, speaking another language, history, commerce, geography, biology, sewing, cooking, wood and metal work, and office computer usage -- all at a very basic level, with further study being optional -- despite the fact that most of us suck at most of these things now. It's called a "well rounded education".

Does the US not cover all these bases already?

Edited by Hodgman, 01 March 2013 - 08:43 PM.


#19 szecs   Members   -  Reputation: 2111

Posted 01 March 2013 - 10:09 AM

Coding is one thing, but if you look at many threads on Gamedev, you'll see that most coders can't solve medicore programming problems.

I'm not saying they inherently unable to solve problems, but they can't anyway.

 

I think I'm able to solve medicore problems, but I have been creating things (thus solving problems) all of my life, because that interested me and my family encouraged me. I guess many wannabe programmers are actually interested in the end product, but not really in the creation part.



#20 tstrimple   Prime Members   -  Reputation: 1718

Posted 01 March 2013 - 10:14 AM

With the car analogy, It's really helpful for your driving if you have at least a basic knowledge of how a car works, and some basic physics.
Same thing with computers, the most versatile tool ever invented, that everyone uses.

 

Not really. If you have to know how a product works internally to be able to successfully operate it, then there has been a failure in product design and it will not be successful to the mass market. Consumer products need to be black boxes for the vast majority of people using them. None of the non-programmers I know would benefit in any way from knowing the basics of how to write code as far as general computer use goes.

 

I agree that every student in the US should be required to take a programming course however. My reasoning it just a little different. If you expose all students to some form of programming, it will click for a certain percentage of them. They will get it, and enjoy feeding the computer instructions. Those kids will then be more likely to consider a computer science or engineering education further which we desperately need in this country. 


Edited by tstrimple, 01 March 2013 - 10:25 AM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS