• FEATURED
• FEATURED
• FEATURED
• FEATURED
• FEATURED

View more

View more

L. Spiro

### #65Toothpix  Members

Posted 03 March 2013 - 07:08 PM

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.

### #66Hodgman  Moderators

Posted 03 March 2013 - 08:34 PM

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.

Edited by Hodgman, 03 March 2013 - 08:45 PM.

### #67Michael Tanczos  Staff Emeritus

Posted 03 March 2013 - 09:04 PM

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.

Edited by Michael Tanczos, 03 March 2013 - 09:09 PM.

### #68FableFox  Members

Posted 03 March 2013 - 10:33 PM

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.

Fable Fox is Stronger <--- Fable Fox is Stronger Project

### #69FableFox  Members

Posted 03 March 2013 - 10:37 PM

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.

Fable Fox is Stronger <--- Fable Fox is Stronger Project

### #70mdwh  Members

Posted 04 March 2013 - 07:18 AM

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.

Edited by mdwh, 04 March 2013 - 07:25 AM.

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

Posted 04 March 2013 - 07:45 PM

I will admit I have not read the entire thread. Though just about my whole family is or has been a teacher. I have talked to most of them yesterday and tonight getting their opinion. I found that EVERY single one of them said they would be ALL FOR a Computer Science or programming course being required. They each said they believed it would help with problem solving and more. I'm the only one in my family who is even into programming and Computer Science. So they don't know a lot about it. They just understand it does require problem solvin and they felt that requiring students would only help. My mom, who is recognized by the state of Texas as being a very good educator for her grade level, said she can't believe it is not required yet and says it makes her mad that classes like that aren't required!

I just wanted to put that in...

### #72ChaosEngine  Members

Posted 04 March 2013 - 08:39 PM

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.

You can do all of the above with an ipad. Admittedly the typing won't be great (true for any tablet) but add a bluetooth keyboard and you're sweet.

I use my ipad for taking handwritten notes at work every day.

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.

I don't think Hodgman meant iPad (as in the Apple product) specifically and more tablet in general (could be wrong there, but that's what some schools are opting for in NZ).

And being realistic here, we're not expecting kids in these classes to produce a AAA game or an enterprise app. We're talking about teaching them an understanding of how computers obey one command after another.

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight

### #73swiftcoder  Senior Moderators

Posted 04 March 2013 - 08:53 PM

And being realistic here, we're not expecting kids in these classes to produce a AAA game or an enterprise app. We're talking about teaching them an understanding of how computers obey one command after another.

QFE.

It's exposing everyone to the basics.

Tristam MacDonald - Software Engineer @ Amazon - [swiftcoding] [GitHub]

### #74kuramayoko10  Members

Posted 04 March 2013 - 09:14 PM

This thread is kind long and I am getting into it kind late, but I want to add something that I did not yet identified in my overview of the thread.

Currently we are experiencing a big rush of computers and embedded systems in our lives. The right word I am aiming here is ubiquitous computing.

I think most of you agree that the future we are looking for is something where the systems are so natural in our lives we won't event notice it.

Okay there is maybe a SciFi utopic model for this kind of thing, but analysing our current life model I would like to point out the following:

- A regular person (in the sense of someone without much computer skills/knowledge) often is overwhelmed by the amount of information computers and systems present

- If the regular person understood the basics of how a computer work, maybe it would not scare him/her so much. A little bit of the "magic" would go away and leave space to reasoning and logic (which is good)

- A kid has a great potential for learning and less problems handling with computers

- So a kid is totally capable of learning the basic backend of computers and systems, and capable of achieving incredible things with it (I already pointed out in an older thread the potential of 9-13 yo kids hacking and programming incredible stuff)

Therefore, if we start implementing a course on computer systems / programming of some sort for our kids, this transition to ubiquituous programming will be a little easier and maybe we can find out some hidden geniuses out there too.

I think that the good things achieved by more people familiar with programming/systems organization overcomes the bad stuff.

Edited by kuramayoko10, 04 March 2013 - 09:17 PM.

Programming is an art. Game programming is a masterpiece!

### #75Hodgman  Moderators

Posted 04 March 2013 - 09:24 PM

I don't think Hodgman meant iPad (as in the Apple product) specifically and more tablet in general (could be wrong there, but that's what some schools are opting for in NZ).

In the public school system, every student is given an identical/standard laptop for free, which is pre-loaded with a bunch of educational software that the teachers can rely on every student being able to access.

In the private school system though, they do what they want. Yes, I have heard of parents being told that little Johnny has to bring an Apple iPad to school.

### #76FableFox  Members

Posted 05 March 2013 - 12:17 AM

I think the reason for ipad was that

a) iTunes university

which makes management easy. Not to mention ipad have built in porn filtering(?), locked out from installing sideloaded software, and much much more. This in itself save a lot of money from support and other problems.

And a lot of educational software (we are talking about database level) only support ipad because of not much fragmentation, so a lot of university only support ipad for certain function - at least when it comes to mobile.

Oracle, AFAIK, only supported ipad for certain line of their software. Or was that one of their partner? Eitherway, fragmentation is not only a problem in game dev, but other dev too when it come to myriad of android version, and flavours, and hardware itself. Because of this certain software (including educational support) only available for ipad, hence, ipad is popular in education.

Edited by FableFox, 05 March 2013 - 12:20 AM.

Fable Fox is Stronger <--- Fable Fox is Stronger Project

### #77BGB  Members

Posted 05 March 2013 - 01:43 AM

And being realistic here, we're not expecting kids in these classes to produce a AAA game or an enterprise app. We're talking about teaching them an understanding of how computers obey one command after another.

QFE.

It's exposing everyone to the basics.

yep. seems like a goal.

not much to add here, but will note that it is interesting how much this thread manages to go against my meta-cultural expectations. IOW: my "gut sense" / "intuition" implies that people would have been debating a rather different set of points about this topic. (not necessarily that this is good or bad though, but does seem mildly curious).

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.