typodupeerror

Ubiquitous Computing Gadget To Teach Coding107

An anonymous reader writes "A distance learning university in the UK has revamped its IT curriculum to attract more students — the biggest change is that budding coders will get a chunk of hardware which plugs into a computer via USB and can be programmed using a language called Sense — based on MIT's Scratch 'drag and drop' programming language. The university hopes this gadget-based approach will encourage fewer students to give up on their studies."
This discussion has been archived. No new comments can be posted.

Ubiquitous Computing Gadget To Teach Coding

• drag and drop? (Score:2)

i dunno if a simplistic approach is really the best way to keep uni students in the game. As soon as things get tougher they're going to head for the hills
• Re: (Score:3)

Came to say basically the same thing. If the student's think 'drag and drop' programming is what they will be doing they are going to piss their pants when they have to program in a real language with real code.

• Re: (Score:1)

I've always thought something like this(link below) was a good way to keep students engaged, make it fun, and give students a better idea of what programming was really about. The programming is OO so most of the hard work is done by the environment, students just get a simple list of methods to use. And you could have a giant tank robot battle to the death at the end of the semester. was always told it was too complicated for new programmers.

ps. i have no affiliation with the project other than usin
• Re: (Score:2)

I really dont see how coding is so difficult. It is basically like normal life... you make decisions based on rules (ethics), and the options presented before you.
Which option helps you accomplish your goal faster, easier, safer and correctly?
Same thing with coding, simplistic if/than/else/switch type decisions based on the output of functions you developed in a data input/output or mathematical computation.

Perhaps coding in 3d is difficult if you can not "see" or perceive the output of your computatio
• Re: (Score:1)

Perhaps coding in 3d is difficult if you can not "see" or perceive the output of your computation?

queue 1995 hackers epic climax scene

• Re: (Score:2)

Thinking, it isnt as tough as you would think...

The thing is your brain is actually doing several billion things at once. You are only conscious of about 15-20 of those things. When you reach for a glass of water you do it slowly and gently and when you swing your arm to hit something you do it with a lot of force. You didn't "think" about how hard or soft you were going to use your arm. A good coder has to anticipate thousands of possible decisions in creating a single simple app.

• Re: (Score:2)

I agree. I'm not much of a visual learner myself, so maybe I just can't appreciate it... I feel like an asshole for saying it, but Scratch looks to me as if it is quite literally child's play, and totally out of place in a university. I would be more inclined to simply teach students to draw their own diagrams when planning out their design, but maybe that's supposed to be some of what this software does.

I just don't know. Anyone can be tripped up by a new concept just because of that novelty; someone curre

• Re: (Score:2)

What would you rather have them do? Start writing in assembly? :)

Scratch is a terrific ice breaker. You can build and test simple concepts without having to worry about syntax. Yet it still teaches people how code is generally structured and read. I think people who've been programming for even a short span of time can forget that to the uninitiated a page of code looks like rainbow-alphabet-puke. Scratch teaches *concepts*, like how one bit of code can nest or plug-in to another. So when people start a rea

• Re: (Score:2)

When I took programming courses in high school syntax errors were part of the learning process. Intermixing logical statements and watching things go wrong was also part of that process.

You do not learn to write by cutting and pasting paragraphs from a novel.
• Re: (Score:2)

I sometimes wonder if it's the bad naming that causes so much confusion with pointers. They are just memory addresses. What if they were called "addresses" instead of "pointers?" Sure you may think "what's in the name?" BUT! Programming, as a mental task, is a constant repurposing of concepts (especially when people are too lazy to give variables full names). Ie, "i is one thing, l is another, etc." So having another misdirection every time you use an address variable adds another mental task. It's

• Re: (Score:2)

I sometimes wonder if it's the bad naming that causes so much confusion with pointers. They are just memory addresses. What if they were called "addresses" instead of "pointers?"

When you have a printed mailing label, is the label an "address", or is the "address" that which is printed on the label?

• Re: (Score:2)

This distinction exists for other variable types. I.e., *is* variable "i" declared as an "int" an integer 5 or does it hold an integer 5? You get around around it by saying that "i" *is* an integer while "5" is a constant integer. The same would apply to address variables (as opposed to address constants or "actual" addresses).
• Re: (Score:2)

It's not so much how you put the code together as understanding the way the different components work together. Scratch doesn't hide the details very much - it just provides a graphical representation. Any experienced programmer knows that it doesn't really matter if you use Python, Perl, Java, or C so much as knowing how algorithms work. All that other crud is dealing with your language's syntax and limitations and how the code will be executed.

I've previously made a tool similar to Scratch for writing she

• Re: (Score:1)

Having just finished a UK uni, I can confirm this. We were taught mostly Java, but were expected to be able to learn C/C++/other on our own in 3rd year. Very few of my fellow students are capable of programming at all, and many of them have better marks than me. Sad.
• Very interested to see what people do with this... (Score:2)

I've played with Scratch and it seems useful for introducing some programming concepts, but try to do anything meaningful (i.e. large) with it and the drawbacks of this approach to programming become apparent. However, if they ever release version 2.0 which apparently may support "user defined blocks", a.k.a. functions, that would be a great help.
• Re: (Score:2)

However, if they ever release version 2.0 which apparently may support "user defined blocks", a.k.a. functions, that would be a great help.

Oh that is _so_ not what we need!

Contained as a "learning language" where you can go so far and then basically have to go use a real language... it's great.

Start adding stuff to make it useful on real projects though, and you'll see it used in real projects. "Easy to learn, visual" and "good for long term maintainability" tend not to belong together.

• Re:Very interested to see what people do with this (Score:5, Informative)

on Monday June 13, 2011 @01:23PM (#36427142)

Start adding stuff to make it useful on real projects though, and you'll see it used in real projects. "Easy to learn, visual" and "good for long term maintainability" tend not to belong together.

1990s called, they want their Visual Basic back ;-)

VB plus Access was a world class application demo tool. Fast n easy. The problem was 'ship it' was what usually came out of the demo targets mouths...

• Re: (Score:2)

1983 called, they want their Turbo Pascal back. ;-)

• Re: (Score:1)

by Anonymous Coward

Learnt that lesson the hard way... big time! Except substitute access with excel.

Now any time I'm asked to do a demo or prototype version of something.. I make it very clear that it's not production ready.

"This demo can handle one entry. The real version will handle as many as you want".

And show only the part that is novel (that is, the reason for the demo) and all the other stuff "will be implemented in the real version". Even if it is trivial to implement... don't do it!

• Re: (Score:3)

YES! YES!

Someone mod this up before I have a stroke!

This is _exactly_ what happens!

• Why does it need to plug into a computer? (Score:2)

Why not make it something self sufficient, something primitive and programmable!

• Re: (Score:2)

Once programmed, Arduino is self-sufficient.

• Re: (Score:2)

I don't know why they didn't just use Lego Mindstorm.
• Re: (Score:2)

Good point. ARM cpus are getting so cheap and powerful you can make a desktop system for next to nothing.

• What is the point of the hardware? (Score:2)

What purpose does the hardware serve? Why do we need to plug something into a USB port to write programs?
• Re: (Score:2)

Looking at the article, the hardware is a collection of I/O ports
minijack
3pin servo connector
slider
speaker
button
etc....

USB is just the computer interface. Dummy programming via dope & drop, upload to board, watch your little toy do something.

• Jobs? (Score:2)

The university hopes this gadget-based approach will encourage fewer students to give up on their studies.

What I don't understand is why an IT curriculum has this "theory of programming" and "computer science-y" stuff. I understand its in the UK, but over here in the US, CS = theory and programming, and IT = working for da man in the IT department doing database design and rebooting windows machines, at most hitting a little legacy cobol. If the little gadget had a postgresql or mysql install on it, or maybe 4 or 5 virtual ro

• We have tech school that do that but apprenticeshi (Score:2)

IT needs apprenticeships not work free Internship where at some jobs you end working hard for free or doing stuff like being a Coffee boy or copy boy.

apprenticeships + class room is better then the theory loaded + filler class that most 2-4 years curriculum has. May it a 2 year mixed apprenticeships + class room setup with on going class after that as well.

Hands on is needed and books and cert tests are at times far off from the real work place. The tech schools are more hands on them the big school curricu

• Re: (Score:2)

The university hopes this gadget-based approach will encourage fewer students to give up on their studies.

What I don't understand is why an IT curriculum has this "theory of programming" and "computer science-y" stuff. I understand its in the UK, but over here in the US, CS = theory and programming, and IT = working for da man in the IT department doing database design and rebooting windows machines, at most hitting a little legacy cobol.

I can answer that. They're probably referring to what many schools in the US call a degree in Information Systems. IS degrees from some places are indeed glorified IT training programs. In fact the article says:

The new computing degrees have an emphasis on vocational and work-based learning

On the other hand, I majored in IS (In the US) yet my classes weren't strictly theory or "applied computing". It was a mixture. I still had to take the core programming courses (Data Structures & Algorithms, Compiler Design, Operating Systems Programming, etc.) in addition to the IT-type courses

• Re: (Score:2)

"On the other hand, I majored in IS (In the US) yet my classes weren't strictly theory or "applied computing". It was a mixture. I still had to take the core programming courses (Data Structures & Algorithms, Compiler Design, Operating Systems Programming, etc.) in addition to the IT-type courses (Database Design aka SQL, Computer Networking, "Systems Analysis & Design", etc.)"

Here, too, though I was focused on security, so less base programming and more finding security holes and forensics, plus ne

• Re: (Score:2)

Interesting. At the school I went to it went more like this:

CIT - mostly website stuff & some UI stuff
CST - Broken up into different "options" including Client-Server, Database, Technical Writing (mostly docs), IS (websites), DataCommunications (unix, security & low level serial, IPC, etc i/o)
• Re: (Score:2)

I am surprised that you assess that database design requires less knowledge, theory etc. than programming.

I guess doing BAD database design requires less knowledge, but database design is really a lot about modelling the domain in a pragmatic yet suitably abstracted and extensible way, mixing in some tricky performance considerations. That's pretty knowledge-intensive to do right.

• Re: (Score:2)

Because most programmers need to be database designers as well.
• Mixed feelings (Score:3)

on Monday June 13, 2011 @01:05PM (#36426942)

Personally I think if you don't have the kind of interest in computers that drives you to "figure it out" and get past the "can't do a damn thing" stage, you are probably gonna make a crumby programmer. My intro to programming was on a TRS-80 (actually a dragon32.. which is essentially a TRS-80 clone) and I spent many months messing around with it. Most of the programmers I know who have found success generally have the same story.

But then times change. Maybe this is what we need now. A different set of skills and general mindset. Maybe the things that attracted me to programming are no longer as relevant.

Probably can't hurt at least.

• Re: (Score:2)

1956 called. Wants its reason for splitting up "electrical engineering" and "computer science" curricula back.

• Re: (Score:1)

Holy shit! Did you warn them about 9/11?
• Re: (Score:2)

They were too busy talking about Roswell. I couldn't get it through to them that Afghanistan would one day be powerful enough to topple three skyscrapers in downtown NYC and put a hole in the Pentagon, or that we'd have a president too stupid to catch the rich monk who'd organized it. Then there was this "vorp...vorp...vorp" noise and the wormhole closed.

• Re: (Score:1)

Well, we're trying to produce a facsimile of your intro to programming at ClubCompy [clubcompy.com]. The point of the site is to create a simple computer simulation coupled with a BASIC-like language that kids can pick up easily. And we are working on a monthly newsletter that will be a companion on the site. If you sign up for an account, you can even SAVE and LOAD your programs.

You can see an example of what it's capable of doing at the Real-World Benchmark [clubcompy.com], which gives some sample programs you can type in with the ki

• Re: (Score:2)

Wonderful, thank you!!!

• Re: (Score:2)

I taught computer science in high school. Unfortunately, we get a lot of people trying to bypass learning programming. There is this whole driver in the educational system that different people just learn differently and that you should be able to teach everyone, everything... you just need to find the right way to teach them.

That is to say... the attitude is to not say math is hard. It is only hard because math was always taught in a numerical way. You need to find a way to teach math to audible learne

• Re: (Score:2)

I taught myself back in the 80s. All I had was access to a VIC-20 display unit at a K-Mart store and a library card. The demo program I typed in out of the book did not run and it took me 5 hours to figure out there was a difference between ";" and ":" as well as "0" and "O" or "1 and "I". So it has been a while since I have thought like a beginner.

I took some classes last year and "introduction to programming" was one of them. What surprised me was most peoples lack of ability to sequence anything. They w

• Re: (Score:2)

Yep.

I'd say the hardest thing to teach kids is the notion of a variable. Some get it and then programming just flows naturally. Others just don't get it.

I also taught various math classes and you face the same problems there in algebra and other classes.

In math class it can be a bit easier for the kids to get by as they can just memorize the steps and the formulas. If some fantasy world of mine, most of these kids would not have passed the course. Yet we have the educational system we have... and they p

• Re: (Score:2)

No, you're right. Making it easier cripples the next generation of coders. If you don't have enough love of the craft to puzzle your way through a trial by fire, you probably shouldn't be doing it. More to the point - the fundamentals are hard, but once learned you understand why it doesn't make sense to use bubblesort on a million item list, and why iterating a 2-d array in C++ is vastly faster row by row than column by column. When you survive those tests you come out with computing wisdom and the abi
• Scratch and Sense programming? Seriously? (Score:4, Insightful)

on Monday June 13, 2011 @01:08PM (#36426976) Homepage Journal

Programming is too hard with all that darn syntax and obscure words and stuff. We have to make this for the common man. So now, programming will all be done via Scratch and Sense.

Sure, need a loop? Drag over a loop. Need and if/then/else? it's on that toolbar over there. Need to consume a web service? Look in the Mashable toolbar.

Oh, need to parse a string of text to see if the input matches your criteria? No, that's called regex, you'll need to find a real programmer to help you with that.

Need to test your security/performance/useability? Sorry, go see that real programmer again.

• Re: (Score:2)

Yeah, they really seem to be taking an ass-backwards approach here. Considering the problem they're trying to solve is that there are too many jobs and too few qualified candidates, focusing their efforts on people who think that the hardest part of programming is syntax makes absolutely no sense at all.

• Re: (Score:1)

Having studied computing with the OU I must both agree and differ with you.

This "device" is just one unit of a three year degree and will be designed to guide how to control and monitor with a simple to program unit. This will be at most six months of a three year degree.

The "regex" side will have been taught in an earlier module, one specific to programming and how to write good software.

My OU degree served me well in teaching me the field of computing and having studied at a physical university proved to

• Re: (Score:1)

Yeah, they really seem to have forgotten that someone can't write code unless they know how to think critically, solve logical problems, and pay extra, extra attention to detail. If someone can not learn these things, then they are not fit to be programmers, plain and simple.
• Re: (Score:2)

Unfortunately, your entire comment is based on a straw man argument that all programming will be done this way. Since that's not what's being proposed, your entire comment is misaimed.

• Why? (Score:1)

Why try to attract/retain kids in any major? Some jobs are just not for some people. Something tells me a different coding language/piece of hardware isn't going to retain kids that decide they don't like IT.
• Re: (Score:2)

Why try to attract/retain kids in any major? Some jobs are just not for some people. Something tells me a different coding language/piece of hardware isn't going to retain kids that decide they don't like IT.

You can smell a top down management solution a mile away. some exec-VP has a goal of increasing enrollment in his empire, and the easiest way for his minions to help is to scavenge out of other majors at that organization. Select the "cool looking hardware" for the photo op, then figure out what to do with it, then figure out if anyone can get employed afterwards.

Bottom up solution would look a little different...

• How does this address the problem? (Score:1)

The problem is not enough programming students so the trick up their sleeve is a ubiquitous (what exactly is meant by that?), visually programmed computing device? Makes sense if they were dropping out because they didn't have a chunk of hardware they can use in the school lab then take home, but I doubt that's it.

And I don't know about the visual programming language, I imagine they'll start programming in a text language eventually so you'd just delay them quitting if that's the cause.

This device just se

• 2.6 million students? (Score:2)

This year IT students make up 10 per cent of the university's student intake with some 263,000 studying the subject.

Huh? The OU has 2.6 million students? 4% of the UK's population?

the university has some 25,000 students who have "paused" their IT studies.

The OU is a huge institution, but the 263,000 is the total number of students of all disciplines. This means that there are around 25,000 total IT students, and roughly the same number of "paused" ones.

Somebody mean spirited might conclude that while distance learning might work for Psychology and even Philosophy, it's not suitable for highly technical disciplines such as CS...

-- jch

• Re: (Score:2)

Huh? The OU has 2.6 million students? 4% of the UK's population?

Huh? Ever heard of "the rest of the world"?

Somebody mean spirited might conclude that while distance learning might work for Psychology and even Philosophy, it's not suitable for highly technical disciplines such as CS...

Somebody who isn't mean-spirited might conclude that CS ought to be ideally suited to distance learning. Please explain why it isn't.

But I am mean-spirited, so I'm going to point out that it's an IS degree, not CS, and if you

• Re: (Score:2)

Huh? The OU has 2.6 million students? 4% of the UK's population?

Huh? Ever heard of "the rest of the world"?

Our 250,000 students...

-- jch

• Wrong Help (Score:1)

I didn't give up on college because I didn't want to code. I gave up because for some reason the teachers thought knowing that the old woman that was in the navy invented COBOL was somehow important. Tests had nothing to do with ability to code. .. Here is 100 lines of code, whats wrong with it. Oh there is a semi colon missing somewhere. Yea that's a really good test.
• Not learning Programming. (Score:1)

This is not learning programming, this is the dumbing down of IT staff. Programming is learn how something works, why it works. Using the building block of knowledge to produce code that does something. Using the knowledge to fix issues, to make modifications, to add functionality, to make it more efficient. I have had to learn over 20 programming languages over the 35 years of programming in my career. I have programmed functions that had never been done before. This is not programming, it is cookie cutte
• I introduced ~75 elementary school kids to scratch (Score:2)

after it was recommended to me on /. The results were great. The kids really enjoyed it and the presentation where I introduced it was well attended and generated a lot of enthusiasm. Many of the kids went on to download scratch and use it at home.

I hope I can get some of these boards to do a follow-on presentation. they seem to be much better than the other scratch boards that I have seen.

• Re: (Score:1)

I introduced ~75 elementary school kids to scratch. ... The kids really enjoyed it...

Key word being kids. Kids don't attend the university. (Well, in theory, anyway...)

The point being, scratch may be great for kids who don't know how to type or are just learning the core principles of logic (if, while, and, or, etc.). I would think a university should be targeting a more mature student.

Plus, if someone has started an IT degree without ever having written a program or taught themselves a programming language, I believe they're there for the wrong reasons and it's just as well they was

• Labview? (Score:2)

If you want to make ubiquitous computing evaluating sensor data in a way which is trivial enough for beginners in programming easy then use a dataflow language, like labview; I dont like the latter but i things like "LED on if temperature higher than" are really easy to program and modify.

Dataflow language may be not my personal favorite, but they do their job.

• Why would anyone take a technical course at OU? (Score:2)

The OU -- the institution that charges non-UK residents approximately twice the tuition and then sends region 2 encoded DVDs to US residents.

Apart from the cluelessness of sending a region-2 encoded disk to the USA, there is the added question of why the disks are region-encoded at all.

I can accept the issue of double the cost for non-UK residents (it's market pricing, rather than cost-based), but they really should encourage those non-UK residents to take more courses, not put them off with incompatible DV

• Re: (Score:2)

Why are you distance learning with a UK university, if you are from the UK they they would expect you to have a Region 2 player,no matter where you currently live?

A US University would almost certainly use American English and terminology and Region 1 encoded material in all cases ... so why do you expect a UK university to be different?

• build a system that even a fool can use... (Score:1)

... and only fools will use it. What we really need are more programmers that can't handle programming languages. Hell, most of the people I've dealt with over the years clearly majored in beer.
• Encourage fewer students to give up (Score:2)

They hope the new approach "will encourage fewer students to give up on their studies". So it will still encourage students to give up, only fewer than the old method?
• Re: (Score:2)

They hope the new approach "will encourage fewer students to give up on their studies". So it will still encourage students to give up, only fewer than the old method?

No, it will encourage them to continue study in a field for which they have no aptitude and no serious interest

• Re: (Score:2)

My remark was about the use and meaning of the verb "to encourage" in the English language (the construction of the sentence seems to be wrong somehow), but apart from that, your statement is absolutely true.

Not enough people learning to be a dentist? Change the curriculum so they don't actually have to look into people's mouths during their training.

• Its actully putting me off... (Score:2)

When they first announced this course along with computing degree revamp around a year ago there was a lot of discussion amongst people that who had been planning on doing the course it replaces. A lot of people understandably didn't like how simplistic they were making it seem at the time.

The course is required to complete any of the named computing degrees offered by the Open University, however the featured device and other course material seems to be aimed at a 'this is a computer and it has flashing l

• They didn't go far enough. (Score:3)

on Tuesday June 14, 2011 @06:54AM (#36434094) Homepage

They didn't go far enough. They could ensure even better success rates by dropping the requirements for courses, and issue B.Sc to anyone that manages to find the registration, M.Sc for all dummies that managed to spell their names correctly the first time, Ph.D for all that manage to fill out the registration form correctly on first try.

Be serious, any IT/CS degrees offered need to consist of:

1.) practical programming experience (hard to teach, so it should be more in the sense of encouraging students to do it for the fun of it. No programming course will be able to bring the student past basic literacy in environment X, but the fluency needed for professional work is practically never learned in a classroom.) And please stop telling students that enlist for CS that they don't need any pre-knowledge, e.g. yeah, our classes will even teach you how to power on a PC.

2.) Theoretical CS knowledge. While many people take this as very unsexy, the math and CS theory are the base of all that stuff we do. How can you develop/design anything if you have no basic concept of algorithms and datastructures? (O-notion, classification of algorithms, ...) Same applies to math (I'd hope that every CS at the BS level can explain what the problems are with floats, and why it's critical to sort an array of floats before adding them.) => you need it basic knowledge, or all the fun parts of our profession (designing systems, be it databases, pattern matching, clever data mining) are not really possible.

3.) Some generic classes for a certain level of professional behavior, I mean, it's really fantastic if somebody is able to write an email that is mostly grammar-correct. Depending upon your environment secondary schools might provide that generic knowledge or not. Here around, it's difficult because there is no standardized exit exam at the secondary level, so for example CS maths include more or less the complete secondary school content in 1-2 semesters. (Which leads to a situation where students that know the stuff, but still want to sit in to see if they miss some basics are nicely asked to use headphones while playing games/surfing/...)

Thumbing down education standards won't help anybody that needs to work the profession, AFAIK, drag and drop programming has not yet arrived in the work place. And it's only of limited fun if you need to teach the new VBA "developer" the concept of loops. (Not the syntax of loops in VB. The CONCEPT).

Related LinksTop of the: day, week, month.

"Hey Ivan, check your six." -- Sidewinder missile jacket patch, showing a Sidewinder driving up the tail of a Russian Su-27

Working...