Negative programmer reaction of the Code.org Video

Started by
75 comments, last by cr88192 11 years, 1 month ago

The reason I think these classes should be mandatory and simple is to get people who otherwise would not have tried it engaged. How many people out there have the potential to be excellent engineers but never get into it because they are not exposed to it? That's why I think it doesn't matter how much the students actually learn about programming in these basic classes. It's just a teaser to get those who normally would not have signed up for a programming course a chance to try it out to see if it's actually a good fit for them. In addition, I do not think it's possible to turn out great programmers from an academic institution. The best that I have worked with have a passion for it and would have been great regardless of their education. However they all have to have been exposed to it at some point for it to click for them and for that interest to turn into a passion. That is the opportunity we should be giving to everyone.

But then again, lets say there is a mandatory "Intro to JavaScript Programming" course at an average American high school. You take it after Algebra, and you have to get at least a C average in the course to graduate. Lets say the class consists of 35 kids. That's a lot of kids, but computers are expensive, and everyone at school has to take this class one year or another before graduation. How many do you think are going to have the "click" with programming that would make them want to pursue it? Not all of them, and by that I mean only a few. Nothing at all is wrong with not liking programming, but do you think if Jonathan P. Doe is in a class with a buddy or two who aren't good students and are only taking the class to graduate that they will behave? They will probably not. And when you have a classroom like that nothing gets done, distractions are made, and the class lags behind severely. The teacher might have to teach Randall P. Roe and 7 other kids a different way than Amy P. Soe and 11 other kids. What happens if Jonathan P. Doe is non-stop screaming with so many people that the teacher loses control? What do you do if Sarah P. Boe finishes all of her assignments early and spends the time undermining the teachers efforts? What do you do if all but a few kids are ruining the class for everybody? I'm sorry, but I don't see how that could work. I know a high school computer teacher, and my examples come straight from things they have said go on in their classes. Because they are mandatory and not leveled like the rest of classes, they become classes where no concentration or study is done whatsoever. That's why, IMO, if programming has to be taught, it should be an adjunct to math courses like Advanced Algebra, Calculus, but mostly Discrete/Analytical Mathematics. Even then, I don't believe enough people would even truly like it at all for such a program to be effective.

These are problems in every class and is in no way unique to programming. An introductory programming class should't be any different from a typing class which is also required in most schools now and requires computers. As I said, the primary reason I want it required is to give every student the opportunity to experience it and decide if it's a course they would like to pursue. It very well could be the opportunity they need to turn their lives around.

Advertisement

But then again, lets say there is a mandatory "Intro to JavaScript Programming" course at an average American high school. You take it after Algebra, and you have to get at least a C average in the course to graduate. Lets say the class consists of 35 kids. That's a lot of kids, but computers are expensive, and everyone at school has to take this class one year or another before graduation. How many do you think are going to have the "click" with programming that would make them want to pursue it? Not all of them, and by that I mean only a few. Nothing at all is wrong with not liking programming, but do you think if Jonathan P. Doe is in a class with a buddy or two who aren't good students and are only taking the class to graduate that they will behave? They will probably not. And when you have a classroom like that nothing gets done, distractions are made, and the class lags behind severely. The teacher might have to teach Randall P. Roe and 7 other kids a different way than Amy P. Soe and 11 other kids. What happens if Jonathan P. Doe is non-stop screaming with so many people that the teacher loses control? What do you do if Sarah P. Boe finishes all of her assignments early and spends the time undermining the teachers efforts? What do you do if all but a few kids are ruining the class for everybody? I'm sorry, but I don't see how that could work.

So you are basically asking what a teacher should do in a typical day at work?

I am sorry but I fail to see how any of these problems are related to teaching programming. These are daily problems every teacher has to face in every single classroom in the world.

The answer to your proposed situation is simple: Learn to teach or get out of the classroom.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

I am sorry but I fail to see how any of these problems are related to teaching programming.

Its not just programming, its every mandatory, non-leveled class. That is my point, and if programming is required, it will become yet another mandatory, non-leveled class, and will end up with all of the aforementioned issues, just like typing and MS Office classes already have.

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

Okay?

So?

Gosh you are totally right. What were we thinking? The possibility of a programming class becoming like every other class on the planet totally outweighs the potential for some to have their lives turned around, getting turned on to something they didn’t even know was possible, and overall giving the masses a better skillset required to take back jobs that should never have been given to India in the first place.

Sorry to put it so bluntly but you don’t seem to be getting the rebuttal.

It doesn’t matter.

There is a downside to every good side. It’s a classroom. Teachers do their jobs and deal with it.

The students take from it what they will, true in all classes. I had to sew in school. I took nothing away from it. But some students did.

Meanwhile we had a very loud and disruptive class in which we were to make things with LEGO® Technic™.

I completely blocked out the noise and distractions and blew through the pages of instructions on things to make in days. I found my thing, and it didn’t matter how loud the classroom was. It was literally the loudest classroom I have ever attended. I now have over $1,400 worth of LEGO® Technic™ on my desk at work.

L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Maybe it is a wonderful thing that I am not involved with any type of school board or department of education. We all have opinions, and I respect yours and will further consider mine.

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

There's a few different ways that this "mandatory coding" is being taken by people in this thread. Personally, I think it would make more sense for:
*) a late primary school class, not many a hours a week, on scratch/etc (in my day: BASIC/LOGO/Hypercard/etc) -- those kinds of simple programming environments that can just scratch the surface.
*) High school electives that broadly cover programming theory - logic, bits, bytes, gates, operators, functional decomposition, OO, touching on a few languages (simple asm emulator, python, C, C#, javascript, whatever), what is an IDE/compiler/interpreter/etc. Laying the foundations for university study, which will start with the actual programming 101 subjects.

Rather than:
*) Javascript 101 is a mandatory high school subject.

*Disclaimer: this former idea is the education that I basically did have... except the primary school bits were more like an hour per month, and I had to go out of my way finish the lesson plan quickly to get time to play with these technologies... any class involving computers was very unstructured.



I agree that JoshL's "what ifs" are basically just "what if a teacher has to do their job?". Guess what? Teaching is a damn hard job these days. Those complications exist in every single class and it's the teacher's job to deal with them.
I have a lot of teachers in the family, and disruptive students exist in every class, even the core ones, and even their elective ones...

Half a century ago, the teacher would simply beat them with a stick (or threaten to), but that's not palatable any more... These days, you simply kick them out of the class room to ensure the rest of the class can continue learning while they fail. Again, this occurs in every single class - curriculum is not the problem/solution to poor discipline.

Lets say the class consists of 35 kids. That's a lot of kids, but computers are expensive, and everyone at school has to take this class one year or another before graduation.

Every school in a first world country should already be equipped to teach a computer-centric class to every student.
When I was in school in the 90's, every class room had 1 PC, the library had a dozen, and there were 3 full classrooms with 30+ PCs.
Today, on top of that, every child is given their own personal laptop.
N.B. this is for public schools -- paid private schools have it even better and/or can demand students to bring their own iPad.
PC's are cheap compared to other expenses... If your schools aren't equipped to teach computing subjects, you've got bigger problems...

What happens if Jonathan P. Doe is non-stop screaming with so many people that the teacher loses control?

He gets kicked out of the classroom and his parents warned (who hopefully discipline him). Repeat until the little shit fails or behaves.

What do you do if Sarah P. Boe finishes all of her assignments early and spends the time undermining the teachers efforts?

As above, kick her out. This actually happened to me in my high-school IT class. Straight A's led to too much time to play with Photoshop and trojan horses, and to create IP address maps of the school to harass the teacher... I got kicked out until I behaved. Fair enough.

The teacher might have to teach Randall P. Roe and 7 other kids a different way than Amy P. Soe and 11 other kids. What happens if Jonathan P. Doe is non-stop screaming with so many people that the teacher loses control? What do you do if Sarah P. Boe finishes all of her assignments early and spends the time undermining the teachers efforts? What do you do if all but a few kids are ruining the class for everybody? I'm sorry, but I don't see how that could work. I know a high school computer teacher, and my examples come straight from things they have said go on in their classes. Because they are mandatory and not leveled like the rest of classes, they become classes where no concentration or study is done whatsoever. That's why, IMO, if programming has to be taught, it should be an adjunct to math courses like Advanced Algebra, Calculus, but mostly Discrete/Analytical Mathematics. Even then, I don't believe enough people would even truly like it at all for such a program to be effective.

I'll chime in again, since I am a high school programming teacher. Teachers deal with different level students alll the time.. so it's not completely unusual to see what you are describing. In my case I differentiate my instruction by creating different levels to assignments by having a core set of requirements geared towards the beginner, but additional challenges that are meant for intermediate and advanced students. My goal is to have all students being challenged all the time. I want as little to no downtime as possible for students so they can stretch their abilities as much as possible. For the beginner students I know exactly who they are.. and while I always want to see them stepping up, sometimes it takes a lot of encouragement and celebration of the small victories to build up their confidence.

And for students who act like dicks when they finish early, that's usually because they aren't being challenged enough. As long as you can put them in their place by showing them just how much they don't know yet you'll be fine. Otherwise, pull them aside after class ends and find a way to improve their classroom experience.. sometimes complementing their abilities and come up with a great side project they can work on can go a long way. "Hey Jim, your programming skills are pretty impressive so far and I know you get your assignments done quicker than anybody else. I have a pretty big programming problem that I'm working on and I think you can help..."

Project Euler is my "warmup" heaven since it is filled with little coding challenges to get their brains going.

That being said, I'm going to have to side with the idea that programming should not be mandatory as a graduation requirement, but should nonetheless be introduced at an early age. I think that states should have better information technology and computer science certifications (that is to say, they should actually exist) so that those with relevant skills don't need to take countless accounting, business administration, and other non-relevant courses in order to teach programming. Even for me with four levels of calculus in my CS degree I had to go the math certification route and take an additional five math classes.

A more substantial effort should be made to promote the importance of this particular area of education. It's being neglected largely because the teachers aren't available to teach it. And those who can teach it end up being largely unqualified to teach programming. Really, for a lot of programming teachers it's going to be a love of teaching and a passion for picking up as much as you can about the subject that is going to make a programming teacher great. A lot of the concepts teachers employ these days in any other subject still apply.

A basic teacher lesson will include some type of warmup activity, a short lesson, a period of time where you are asked to solve problems in a guided manner, a period of time where you are left to your own devices as an individual to perform the lesson objectives, and a mandatory review period at the end of the lesson in which students are compelled to produce some type of evidence of their learning for the day (think of it as answering the question "what did you learn?").

For programming I might ask students to write a small chunk of code that produces the sum of every 4th prime number below 1 million, give a lesson that introduces methods, have students work on creating a few method specifications based off of what I ask, then having them complete a project given some spec.. at the end of the class I'll pull them back together and have them all write down on paper a solution to some problem I give that will show they understand methods.

Let me give my own perspective.

When I was 12 years old (first year at a boarding school) we was thought programming via GWBasic. It wasn't one of the core school subject (there was eight of them) and there is no final year exam either.

It was one hour per week kind of class that we must take in the evening, just like sport and boy scout. It was my first time and I was hooked (first time with a computer too). Before that I've only seen computers on the TV (I live in a village, after all).

The rest was history but a lot of things happened along the way. As you can see I still hang here over the years but I never worked on a programming job.

So uh, thing can be done. I don't remember any problem in the class. But then again, it was a boarding school where the best of the previous year big exam were taken in. So we are talking about disciplined kids (at least when it come to studying, bullying is another matter - even if you are straight A student) that good at learning and adapting to things.

Gosh you are totally right. What were we thinking? The possibility of a programming class becoming like every other class on the planet totally outweighs the potential for some to have their lives turned around, getting turned on to something they didn’t even know was possible, and overall giving the masses a better skillset required to take back jobs that should never have been given to India in the first place.

Sad to say that is capitalism in real life. Currently vfx people are having the same problem too. But businesses will always find way to cut cost. And what happened to car manufacturing or cloth or toys will happen to programmers and 3d animators.


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.


I don't know what exactly is mandatory - as I understand it, the Government decides things that must be learned as part of the "National Curriculum", which covers all sorts of things that should be taught, but I don't know the details, or what it says on Creative Writing in general. "Information and communication technologies in education" is part of the National Curriculum, but I don't know how much is taught on programming.

When people say "optional" regarding the US, what does this mean - do high school students have a lot of choice about what subjects to do?

In the UK, choices are made for 14-16 (GCSEs), though this comes with constraints (mainly for the logistics of teaching), so you end up having to pick say, one language, one art, etc (with perhaps a bit of leeway). Some subjects are optional in the sense that schools don't have to teach them (e.g., Latin), or Religious Education is a special case where parents can have their children excluded.

Today, on top of that, every child is given their own personal laptop.
N.B. this is for public schools -- paid private schools have it even better and/or can demand students to bring their own iPad.

Which depresses me even more - even better? They can neither program, type, nor do handwriting with it. The poor kids can't even use a decent touch keyboard like Swype! (Plus the way it's anticompetitive, catering to just one company - rather than "must have a laptop" it's every school saying "must have a Samsung laptop".)

Whilst I wouldn't go as far as saying people should learn in a GUI-less Linux, it does depress me to think we'll have a generation of students well educated at posting to Facebook and playing Angry Birds, with children's education fees going to Apple.

I do agree though that computers are plentiful. And if schools have got money to throw on non-computers from Apple, they're not short of money.

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux

This topic is closed to new replies.

Advertisement