Ask Slashdot: Do We Need Better Computer Programming Courses For Visual Learners? (bbc.co.uk) 159
Two-thirds of technology firms are experiencing a shortage of skilled workers, reports the BBC (citing a recent report from recruitment firm Harvey Nash).
But what's the solution? In an article shared by Chrisq, the BBC's business technology reporter field-tested some computer programming training: I attended Teach the Nation to Code, a free one-day Python coding workshop run by UK training firm, QA... But when it works, there's not much pay-off — just some lines on a screen. I also took classes with Cypher Coders and Creator Academy to teach me Scratch — a coding language for children with a simple visual interface... [I] found the step change from learning Scratch to Python similarly jarring in the children's toys — you suddenly go from colourful blocks to an empty screen with no handholding. What could help bridge this gap from fun games for kids, to more professional level complex coding?
Garry Law, founder of Australian coding training firm, Creator Academy, says IT education needs to be better. "We need to teach kids coding with visual, auditory and kinesthetic learning styles, and we need to adapt this learning method for adults, to attract more people to science, technology, engineering and mathematics (STEM)," he says....
Cost is also a big problem. According to Anna Brailsford, chief executive of social enterprise Code First: Girls, it typically costs £10,000 to learn coding and often there isn't a clear link between what is taught and the jobs available.
Long-time Slashdot reader AmiMoJo remembers that "the way I got started was by borrowing books from the library that contained example programs." Back then there were loads of books that were nothing but little BASIC apps for various machines. That got me started with a program that worked and often did something quite interesting or useful, like a graphical effect. Then I could tinker with it and learn that way.
But is that enough of a reward to attract new programmers — or should beginning courses target more learning styles? Share your own thoughts and experiences in the comments.
Do we need better computer programming courses for visual learners?
But what's the solution? In an article shared by Chrisq, the BBC's business technology reporter field-tested some computer programming training: I attended Teach the Nation to Code, a free one-day Python coding workshop run by UK training firm, QA... But when it works, there's not much pay-off — just some lines on a screen. I also took classes with Cypher Coders and Creator Academy to teach me Scratch — a coding language for children with a simple visual interface... [I] found the step change from learning Scratch to Python similarly jarring in the children's toys — you suddenly go from colourful blocks to an empty screen with no handholding. What could help bridge this gap from fun games for kids, to more professional level complex coding?
Garry Law, founder of Australian coding training firm, Creator Academy, says IT education needs to be better. "We need to teach kids coding with visual, auditory and kinesthetic learning styles, and we need to adapt this learning method for adults, to attract more people to science, technology, engineering and mathematics (STEM)," he says....
Cost is also a big problem. According to Anna Brailsford, chief executive of social enterprise Code First: Girls, it typically costs £10,000 to learn coding and often there isn't a clear link between what is taught and the jobs available.
Long-time Slashdot reader AmiMoJo remembers that "the way I got started was by borrowing books from the library that contained example programs." Back then there were loads of books that were nothing but little BASIC apps for various machines. That got me started with a program that worked and often did something quite interesting or useful, like a graphical effect. Then I could tinker with it and learn that way.
But is that enough of a reward to attract new programmers — or should beginning courses target more learning styles? Share your own thoughts and experiences in the comments.
Do we need better computer programming courses for visual learners?
No (Score:5, Insightful)
Re:No (Score:5, Insightful)
Professional programmers need to be able to read source code, with no pictures, and figure out what it does (in order to fix or enhance it). The same goes for in-house produced documentation (which rarely includes pictures, given the time cost of producing such documentation). Then there is searching the internet for solutions, which generally involves skimming forum posts that have...you guessed it....words but no pictures.
So, if the reason a student can't or won't get good at programming is because the coursework doesn't have enough pictures, then such a student is probably not a good fit for professional programming.
I DO believe that most people can learn most skills, and there is not something magical about computer programming that puts it beyond reach for most students. Maybe the really advanced roles are only suitable for gifted elites, but there are plenty of mid and low-level software development roles that I think anyone can serve if they merely have the drive to learn how.
And that last bit is the key ingredient. You have to like programming. If you don't like it (regardless of the reason), then you will never have the drive to do the requisite study, and you will hate your career, and it's just a matter of time before you jump ship. But if laying code is your thing, then you will naturally be interested and devoted enough to learn what you need from what is available.
And the sad cold fact is: normal people don't like programming. It's tedious, laborious, difficult, and unrewarding for them. Combine that with the mandatory long hours and other forms of programmer abuse to which new programmers are routinely subjected, and you have a recipe for "nope."
Re:No (Score:5, Informative)
They need to be able to read the manual to find out how things work, because there will be new versions and new features. Also, the limitations of human memory mean that even if your memory is at the 90th percentile, you're still consulting API documentation constantly, or else writing complete buggy garbage.
People who think that pictures would help don't really realize the level of abstraction you have to be able to visualize on your own when you're thinking about the words.
Re: (Score:2)
People who think that pictures would help don't really realize the level of abstraction you have to be able to visualize on your own when you're thinking about the words.
And people who think "pictures" do not help, usually have not a very high capability of abstraction.
Re: (Score:2)
In my university lab, we regularly write out parts of our research project work for students as project work or for something a bit larger as a bachelor thesis. So I do have some experience in evaluating their work.
So from personal experience, the students that do not use diagrams or use them very sparsely on average produce more convoluted code that's less encapsulated and a pain in the ass to refactor.
No
Re: (Score:2)
My reasoning is as follows, because most of the code that is produced by "students" isn't that good. If the code is good and fits the specifications, then whatever, I'm going through it line by line and write my own documentation that adheres to our conventions here:
If the diagrams (or documentation in words) are good, the code itself might be shit, but the diagram/documentation can still be useful
Re: (Score:2)
But if your results aren't correct, and the calculation path wasn't written down in mathematical notation, or at least using comments in regular language, there's nothing to go on for someone who grades your exam to evaluate if your way of thinking deserves at least partial credit.
Correct. What makes me angry is that people here claim "there are no different learning styles" - and if you extend that "different thinking styles".
There are plenty of both, and in the end that affects also "communication styles"
Re: (Score:2)
What makes me angry is that people here claim "there are no different learning styles"
Early commenters also provided numerous links to peer-reviewed studies that have successfully falsified the "learning styles" theory. It is a completely defunct theory.
and if you extend that "different thinking styles"
If you do that you're just an idiot without critical thinking skills, who probably doesn't have the compartmentalization capabilities to be a useful programmer.
E.g. the hated "design patterns"
Well, if you hate design patterns any software architecture you do will be complete shit, though you may still be able to be a lower-level programmer.
Same with pictures/graphs/diagrams. Sure, one will find bad ones. But that is no reason not to appreciate the good ones.
That has nothing to do with the co
Re: (Score:2)
Ah, I forgot to make the point I wanted: self reflection. Figuring out how you think and how your mind works, and using/schooling that to your advantage and happiness.
Re: (Score:2)
People who think that pictures would help don't really realize the level of abstraction you have to be able to visualize on your own when you're thinking about the words.
Exactly.
When programming, I kind of "picture" data structures and program flow in my head, But it's not really visual, not even sure how to describe it.
Re: (Score:2)
As we discuss the problems and solutions in a group, I can see/feel the relationships between different sets of data, but again, it's like a semi-projection or layer on top of the more complete low level understanding.
It's hard to say if it's part of the
Re: (Score:2)
It strikes to me as a result of the old joke about the three most pressing problems of middle class people
Re: (Score:2)
The "visual learner" myth has its purpose, though - it protects the ego of those people having problems with a subject, by deflecting the blame onto things outside of their control, rather than forcing them to admit that they just don't care enough to try harder.
The flipside of this myth is giving people a "fake because" - if we put pictures into it, that can give them the excuse to care more, and try harder. They get to justify their previous failure protecting their ego, and they enjoy their newfound suc
Re: (Score:2)
Apparently, you are
too stupid to tell the difference between thinking and learning?
Also, what the person you're responding to is describing is absolutely not a person who needs somebody to show them pictures to learn, but a person who creates pictures from words by being able to picture the abstractions. That the person mistakenly puts themselves in a labelled category is somewhat besides the point. He probably doesn't realize that it is a tool that anybody benefits from using. Or that not everybody takes the time to do thing
Re: (Score:2)
Most work is "tedious, laborious, difficult, and 'unrewarding'".
Welcome to the results of t-ball trophys.
Re: (Score:3)
So, if the reason a student can't or won't get good at programming is because the coursework doesn't have enough pictures, then such a student is probably not a good fit for professional programming.
When i learned programming, course material and books where full with pictures they even had different types of pictures, e.g. flowcharts
No idea how you learned, though.
Re: (Score:2)
When programming became about chasing silly fashions and trends, the flowchart was the first victim. It was superseded by the structure chart, which wasn't bad, but still less useful. Since then, we've seen endless stupid fads come and go, none better than whatever it replaced. We've never come close to getting anything nearly as useful as the humble flow chart.
They say fashions are cyclical, so if we're lucky they'll come around again.
No idea how you learned, though.
I feel bad for kids learning to program today. It's an absolute me
Re: (Score:2)
I even use resources from the 70's and 80's. You'd be amazed at how good some of those are.
Well, I learned programming around 1982/1983 till 1987 (in school, first year was 1985 that in schools computer science got introduced).
So most of my books were pretty old school. When I went to University 1887, I learned Fortran, JCL and stuff, to run vector programs on a Cyber 205. Later we got a Fujitsu vector processor, but don't remember the model. Same year I got a bit deeper into C (at school I learned C on my
Re: (Score:2)
Source code contains plenty of pictures. ASCII art is a thing and spending a few min
Re: (Score:2)
Visual learning doesn't mean just having pictures in the learning material. Back in the day when BASIC was the primary language kids used, a lot of example programs were graphical effects. Tinkering with those I learned a lot about how things like variables and loops worked. This was when I was about 8-9 years old and had trouble spelling some of the keywords.
These days there are lots of visual programming languages, where you hook up modules and observe the output. It's a valid way of learning for young ch
Re: (Score:2)
The vast majority of the code professional programmers write is code they simply should not be writing in the first place.
If we're ever going to progress beyond the 1960s programming mentality (which was brilliant for the limitations of computers then, but fails today), we need a more standardized, modular approach to programming. Platforms were an attempt to do this, but, really, much of this needs to be integrated into the language. (For all its many faults, the Ruby/Rails combo was an attempt to do the
Re: No (Score:2)
Re: (Score:2)
"Professional programmers need to be able to read source code, with no pictures,"
No. A counter-example was Prograph (now called Marten) which was a diagrammatic, object-oriented, dataflow language. Best language I ever used for bog-standard UI and data processing. It probably could have been extended for OS and realtime if need be.
Re: (Score:2)
The concept that most people want to be just users of an operating system, and want to be able to use it as easily as possible without searching the web for a day or two when something isn't working, totally escapes them.
Let me know when someone makes an operating system that satisfies that criteria. It would be magical and ground-breaking. So far, no one's been able to accomplish it. Between Windows and Kubuntu, though, I find the latter to be much closer than the former (once I stopped using that piece of shit that is KDE-PIM [thanks, Akonadi, for ruining KDE-PIM!]).
Re: No (Score:2)
Re: (Score:2)
Myth denial is cancel-culture speak.
A pivot away from symbolic language programming and APL, in particular, in the 60’s was the death knell for visual learning. It took HTTP for symbolic constructs to regain currency value for simple control-use. Just that has proven the worth of visual constructs in adoption for wider learning, alone.
Re: (Score:3, Insightful)
Than a command line.
You underestimate how pedantic and detail-oriented useful programming is.
You prefer looking at pictures. Do a job that uses pictures.
Re: (Score:2)
Do a job that uses pictures.
Every high level design in programming: is a picture. Sad that you seem to be stuck in LISP or Assembly.
OO programs are displayed in class diagrams, DB tables in ER diagrams.
Usecases in Usecase diagrams etc. p.p.
There are meanwhile easy about 100 diagram types related to IT or programming. You must have spent the recent 30 years under a rock.
Re: (Score:2)
Yeah, OO tends to generate a lot of needless complexity. That's why most of the industry is devoted to selling poorly thought-out solutions to the complexity it created in the first place! We really need to move on.
OOP is like a religion though. If you bought into the hype in the 90's, it's hard to let it go. They can't think about programming in other terms. You can try to show them a better way, a simpler way that will lead to smaller and faster software that's easier to maintain, but it's like teac
Re: (Score:2)
I'd have to agree with you, I was analyzing code a while ago where the OOP programmer wrote functions to add two numbers together. They never used the functionality to change it so they made a function call every time they added two number together. Ridiculous
Re: (Score:2)
Sure, but remember that we are not talking about university students here. We are talking about children in the 6-12 year old range. Still developing reading and writing skills, still learning the basics of maths.
Re: (Score:2)
Logo [wikipedia.org] with turtle graphics, there is even an APP [google.com] for that.
Re:No (Score:4, Funny)
That's great. I can't drive a train myself. I just can't seem to stay on track.
Re: (Score:2)
You are so funny, you should go into comedy
Re:No (Score:4, Interesting)
It's hard to get away from the fact that computer programming involves logic and application of abstract, non-visual, principles such as algorithms. A visual representation is nice, but at a certain point, the idea has to be internalized in an abstract way, and then be applicable to new and different problems. For some people it just clicks and for others it doesn't. And that's okay. Forcing it isn't always a great idea. Perhaps for so-called visual learners UI design would be more up their ally. As a highly abstract thinker, I much prefer working on back-end code that communicates through an API than on a full-fledged GUI front end.
Over the years there have been many attempts at visually programming, including flow charts. I find that for most programmers they quickly tire of this and prefer working straight with code. Flow charts (and UML charts or whatever) get tedious in a hurry. Then I've seen other graphical languages such as the original Lego Mindstorms system, which was quickly surpassed by home-grown C-like languages (nqcc), and now we have ArduBlocks for Arduino.
Obviously we have tools like Visual Basic, but they still involve dropping down into plain-text coed at some point.
A few years ago I taught some 10 year olds some basic robotics using Arduino and the ArduBlock system. It was, as you say, a graphical-interaction method of programming and it did work pretty well with the kids, none of whom had ever programmed anything before. But it was really interesting. After an hour or so, several of the kids wanted to see the generated C++ code, and very quickly they preferred it and could do advanced things more easily than those who stuck with ArduBlocks. This wasn't because ArduBlocks is very limited; it's not, really. But they internalized the abstractions and saw the graphical layer as just being in the way between them and the code. Was fascinating to watch.
Re: (Score:2)
There was this IT guy on r/antiwork who described, in fair detail, how he's working 10 minutes a day for a near-six figure salary.
The basic idea was that we was hired by a law firm who had somewhere around 5000 files a day coming in from several cases they work working on, as evidence. They just saved the files anywhere on their network, and put all their paths into one giant XLS table. They had a guy or two going through that list every day and manually copying the files into an archive (with some extra st
Ugh (Score:5, Interesting)
Look, generations of good programmers created great software without candy-crush awards. The goal should be the satisfaction of getting a program to work along with good design in the code itself. One has to have the aptitude to code and to code well. Trying to teach everyone to code is akin to trying to teach everyone to perform surgery. You'll end up with a whole lot of people who think they know how to do it (and will be very vocal about it) but shouldn't be allowed anywhere near a patient.
Re: (Score:2)
Re: (Score:2)
Generations of good programmers learned BASIC first, often visually as for kids the most interesting commands were ones like LINE and PLOT.
The abstract stuff comes later.
Re: (Score:2)
There is a difference between programming visually (e.g. using an algorithm flowchart) and programming something which will result in a picture.
Flowcharts may be good for very simple things when just starting to learn programming. They are terrible for programming of bigger systems. The primary reason is information density. Well structured text files with good naming are much more information dense and therefore more useful. Text files are easier to browse.
You can see this trend even in electrical engineer
Re: (Score:2)
I think there is an unstated assumption behind "Teaching Kids to Code" and that is it will help them be better at critical and procedural thinking; without letting the Touchy-Feelly Artsy Right-Brain types know they are teaching ichy Left-Brain stuff. I think everybody should learn some programming the same as everyone should learn some drawing and painting.
Re: (Score:2, Troll)
I'm not sure I want anybody "bringing perspective" who isn't able to focus on a few lines of text for long enough to actually understand it.
This is what they did to the web lately -- not an improvement. Like, at all.
I also wouldn't want anyone bringing in "new ideas" without understanding the "old ideas" first. It's not like there isn't room for improvement in the Status Quo -- but... again, look at what they did to the web lately. Any good idea out there is actually a recycled solution from 20 years ago, b
Re: Ugh (Score:2)
See the Windows and Gnome GUIs in recent years for further examples of "improvement" making things worse. Sometimes it's not only ignorance, it's a case of make-work changing things to justify their jobs.
Do we want visual learners in programming? (Score:3)
Most software development is lines of text on screens, and the type of thinking that is required for creating those lines. These days (unlike 30 years ago) it also involves the ability to read and mentally integrate a very large amount of documentation on the interfaces to the rest of the software system.
There are lots of other good fields - some other forms of engineering are much more visually based.
Re: (Score:2)
When you say we need more programmers, what, exactly, do you mean by "programmers" ?
Re: (Score:2)
Re: Do we want visual learners in programming? (Score:2)
No such thing as "visual learners". Just people who can't sit down and think quietly. It's a rare skill, and they're envious of those who can.
You are very wrong. I am a visual learner. I understand something best if I can draw a picture from it.
I'm not envious of people who can go without the picture.
I graduated top of my undergrad class in Engineering so don't give me that "different ability" crap.
I spend a lot of time quietly thinking. Just in pictures.
Re: (Score:2)
https://www.jstor.org/stable/20697325
Need to have some innate interest (Score:2)
Much like learning an instrument, it really needs to call you if you're to maintain practice and progress.
But also like an instrument, everyone needs to be given a chance to see if there's an affinity there.
I don't think everyone is born to code, but some never get the chance to find out.
Re: (Score:3)
I think nearly anyone could learn to play an instrument. And not everyone is interested in playing one for fun, and I think it would be difficult to do it professionally if you hated it. While most people are interested in listening to music, they may not be interesting in playing it.
Learning to program as a means to express creativity in an art or game project is a good solid reason to start. Learning to code because you think it's the only way to make money in the future is a bad idea that ignores the hum
Modernize it (Score:3)
This is why, in the introductory programming classes we've presided we always use something visual with Windows.
For example: start basic programming classes by teaching with a robot (physical or virtual), or by teaching some form of mobile programming, or by teaching how to draw things in Python.
Starting the "Hello World" route was really really exciting in 1983. It blew ME away..
But today's young people grew up with computers, internet and mobile phones.
The last thing they want to learn is how to print "hello world" onto a terminal screen they didn't even know existed.
Introductory classes should start by showing the range of cool stuff than can be done even with basic tools. And then build from there.
We've done it for over a decade with great success.
Stop teaching programming like it's 1980.
Re: (Score:2)
By "Windows" I meant GUIs.. not the operating system.
Re: (Score:2)
I'm not conflating anything.
I'm just saying many people aren't interested in:
print "Hello World"
It's dumb and boring.
If you don't capture a person's interest you're not going to grab their attention. And it's hard to motive them to go through the work.
So modern teaching methods have students produce something visual and modern rather than the old style programming we were taught 100 years ago.
At least to get them hooked.
Re: (Score:2)
If you need more than that to grab somebody's attention, then they aren't really motivated. Even a GUI application will have tons of "boring", real-world code behind the scenes, and the more you delay the inevitable, the longer it will take for people to get it.
If you really want to teach peopl
Re: (Score:2)
You don't need "visual languages" but I do favor a "visual product".
You can teach graphics or simple robotics just as easily as you can teach "hello world".
And "hello world" may require just as much horrible configuration as some more modern result.
In fact, it's often easier just to download an IDE, install it, and open a project file than tell them how to configure whatever language to work on the terminal.
(While admittedly it's easier in Linux than Windows.. many beginners only have Windows)
Re: (Score:3)
The problem with "Hello World" is how surprising simple it is in BASIC, and how surprising complex it already is in Java/C# or "well done" C++ and ugly in C.
In BASIC you only have to explain two things: a) print, prints to the screen, and b) Everything in Quotes like this: " is a string
In Java/C# you have to explain why you need:
i) a main function/method
ii) why does the main method have silly arguments (what are arguments, and what is an array?)
iii) why is there a keyword static and even public?
iv) what is
Re: (Score:2)
I believe your critiques are why Python is favored over Java these days as an intro language.
It's simplicity is almost as good as Pascal.
Re: (Score:2)
Oh, I also would use Python. Or find a good (e.g. FreePascal) Pascal implementation.
The advantage of Pascal was: everything was clearly written out.
The program starts with "program". Functions start with "function", procedures start with "procedure", it is clear what a const is and what a type is.
And it is clear what:
.. 7] of pointer to "record type X";
... is supposed to mean.
myData : array [5
Other languages do not even have arrays with arbitrary indices. If you want to teach basics, Pascal is still the b
Re: (Score:2)
Seymour Papert specifically designed LOGO for visual learning. It makes it easy for you to see when you type a command, something visual happens on the screen. I've taught LOGO to 5 year old kids, and 80 year old seniors, and it makes it much easier for them to grasp some of the basic fundamentals of programming.
Re: (Score:2)
why do you assume I don't understand print "Hello World"
I've been programming for 40 years.
If you read what I wrote, you'd see that I'm referring to how it's perceived by many people who grew up with cellphones and never used the Terminal in their lives. Especially 10-13 year olds.
We're not in 1980 anymore. I know.. because I remember 1980, and Assembly Language programming and all that.
Programming is about much more than the "print" statement. So why focus on that when we start?
Much better teaching progra
Re:Modernize it (Score:4, Interesting)
But you've probably never tried to teach programming to young people.
Well, I have. I couldn't disagree more.
I teach AP CS at a local private school most years. (It's fun for me.) So far, I have a 100% pass rate. I do this by teaching the basics in a very traditional way and offering them small but challenging exercises. It's not until everyone is comfortable with programming that we change gears and focus more on the content that will be on the actual exam. I've never had it take longer than three weeks. Yes, "Hello, World!" is in the mix.
I've actually tried your approach in "fun" environments like at home with interested foster kids and at a summer STEM camp. Starting with turtle graphics in a non-interactive environment is just begging for failure. The "spirographs" are fun, but the 'what is happening' part tends to get lost. A large part of the fun is in the 'surprising' results from a simple script, but that just makes the program seem opaque, like they can't truly understand it.
I also think it causes some confusion with basic concepts like direct sequencing. A lot of kids start to see the program more like a configuration, not a set of instructions and as a result have trouble figuring out where to make changes or additions to their code to change things like color or position or even to add other elements. Almost no one tries to draw anything different. It feels too much like trial and error, it quickly gets tedious, and the results are underwhelming.
Contrast that with electronics camps we've done that also included a programming component. The best one we ever did had an 80's style microcomputer. This was built around a microcontroller (1284p) on a breadboard. They added all the support circuitry. We hoped this would make it feel more like something they could make themselves.
Anyhow, we wrote a BASIC for it. (Old-school, with line numbers and an immediate mode.) With a keyboard and a small monochrome oled display, the kids were able to write programs directly on the device. This was a big hit. Some of the kids wrote games that made use of the oled display and a joystick module (using the GPIO pins), others focused more on the electronics side, writing programs to control lights and motors to do various things.
No GUI, no graphics, and hardly mobile. Just a text mode, some GPIO pins, and a fist-full of components.
Much better teaching programs allow you to start with computer graphics, gui programming, mobile programming that are much more engaging to the young audience.
It's silly to think that kids need something contemporary to be interested or engaged. When adults decide what kids want, it's almost always completely wrong. [fandom.com] Kids see through that nonsense effortlessly. Be honest, treat them respect, and challenge them and you'll be amazed at what they accomplish. Just FYI, starting from nonsense like "kids like mobile", is completely disrespectful.
No. (Score:2)
Re: (Score:2)
I once saw a joke somewhere. Girl meets boy.
Boy: what are you doing?
Girl: oh, I do the cat walk, modelling a bit and I have an instagram account and work as influencer!
Boy: cool! I also learned nothing!
"Learning styles" are not a thing (Score:5, Insightful)
There [psychologicalscience.org] is no [scientificamerican.com] evidence for [sagepub.com] learning styles [apa.org]. There is LOTS of research on this point and it is well confirmed that this is just a myth.
Do we need more approaches to teaching programming? Sure.
One approach that I wish we'd find ways to pursue more - in the past people devised 'soft introductions' via applications that pushed their users to gradually pick up programming concepts - command line shells, spreadsheets, RPN/RPL on HP calculators, word processor macros, HyperCard, etc. There's been rather little innovation in that space in the last twenty-five years. There's been an ever-widening gulf between what interfaces invite regular users to do and anything that resembles programming.
There'd be plenty of other approaches. But starting with "learning styles" as a primary target is just clearly barking up the wrong tree.
Re: "Learning styles" are not a thing (Score:2)
Re: (Score:3, Insightful)
Re: (Score:2)
There is no science behind learning styles.
No idea.
Does not change the fact that learning styles exist.
And no idea why one wants to make a "science behind" it for it. There is no reason.
For example, we don't do leaches anymore
Yes we do.
In this case why load teachers down with something that isn't base in fact.
Teachers know that learning styles are a fact. You seem not to know that.
So: why argue about stuff you know nothing about?
Re: (Score:3)
Visual learning style is a myth. (Score:3)
There is zero evidence for the existence of different learning styles.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
There is :P
a) learning by concept, and deriving examples
b) learning by examples, and deriving the concept
Two main differences. Probably the biggest ones. Some people are good at a), some at b) rarely you find one good at both.
c) learning by doing
d) learning by formal training
Also two big differences
e) learning by watching and mentalizing (e.g. a Sushi Chef)
f) learning by making a Cheat Sheet, and continuously scratching stuff you meanwhile have internalised
g) rot learning - but never grasping what the stuff
Not sure ... (Score:2)
Compare civil or structural engineering to electrical engineering. In civil/structural, most of the concepts map to actual physical entities. There's a beam, a column or a cable under tension. In electrical engineering, often there is nothing to see. A bunch of wires or traces on a board or chip. But what is going on has to be modeled in the abstract using vectors, phasors and EM fields.
Higher quality, less code, less single-use code (Score:3)
Yes (Score:2)
In contrary to Betteridge's law, the answer is yes. I really need to visualize something to understand.
It cost £10,000 to tech someone programming. What does there even mean? I'll do it for half that. It starts with a copy of Python the Hard Way.
Re: (Score:2)
Please don't inflict more Python on the world. We have enough problems.
Logo (Score:2)
Next question?
Two learning types (Score:2)
Lazy procrastinators and hard workers. Average human intellectual abilities are good enough to become almost anything. What is variant is the things we are interested in and, because of that, our ability to be distracted. What I am saying is, no matter who you are .. if you put in decent studying time .. you will get the results and it will get "easier" over time.
Do you know anyone who put in hours of studying time and still failed a class (assuming there was no language barrier)? I don't think so.
What I m
Re: (Score:2)
I am sorry what happened to you regarding that math teacher. The reason you had a difficult time was because of that math teacher's inability or lack of caring (likely both.) He failed to provide you the resources and curriculum. My comment was under the assumption of correct resources being available. I mean, al-Khwarizmi, the founder of algebra himself would fail modern high school algebra because he wasn't shown the new developments. Your teacher demoralized you and didn't tell you the things you needed
Sure, why not? (Score:2)
design, not code (Score:2)
two programs (Score:2)
Maybe there wouldn’t be a talen shortage (Score:2)
Re: Maybe there wouldn’t be a talen shortage (Score:2)
Re:Maybe there wouldn't be a talent shortage (Score:3)
There is not shortage of IT people! (Score:3)
What level? (Score:2)
Learnable Programming (2012) (Score:2)
Bret Victor, Learnable Programming [worrydream.com] (2012): "People understand what they can see. If a programmer cannot see what a program is doing, she can't understand it."
Ignores a bigger problem... (Score:2)
We just don't know how teach programming well enough. Even at a college level, there is a ton of reliance on people having acquired certain skills and saying very motivated to practice and learning how to program. And in the end, there is still a massive variation in people's ability to maintain a career.
As an aside (and just to poke at some people), lack of diversity makes this worse, so add that into the mix.
So, there's so much to be done in terms of pedagogy before we can even have a chance of answering
Re: Ignores a bigger problem... (Score:2)
Even at a college level, there is a ton of reliance on people having acquired certain skills and saying very motivated to practice and learning how to program.
Yes. I am in the middle of grading a stack of "programming 1" exams. Throughout the course, I emphasize the need to practice. Not just to look at the book and think "I could do that", but to actually *do* it, to write programs.
The exams show, as they always do, who actually did write their own programs, and who didn't. Those who did will pass, those who didn't will be kicked out of the program.
Those students who fail, whether for lack of talent or lack of motivation? They're welcome! Weeding them out ea
Not everyone should be a programmer (Score:2)
Not everyone should be a programmer
Not everyone should be a welder
Not everyone should be an sculptor
Not everyone should be a technician
Desperation to flood the market with those inherently unsuited to inherently specialized tasks is foolishly naive and not the route to quality product.
The way to reduce the need for low-end labor is automation not training every meatbag off the block. Humans are obstacles to efficiency. Humans who lack talent and ability are best used where their defects do not matter rather
Re: Not everyone should be a programmer (Score:2)
Qualified no (Score:2)
In short, no. Programs are built with text. Documentation is in text. You will be searching for answers to knotty problems with ... text.
That said, I have no problem with child level programming concepts being taught with graphical building blocks. Especially if those building blocks have words on them ...
Or basic programming being taught with graphical output. Heck, I'd often rather take a stab at a new language by calling some graphics library, instantiating a window with some buttons or what have you.
Learning Styles are a Myth, the Video (Score:2)
It's been said before: Learning styles ("visual, auditory and kinesthetic learning styles") are a myth. Anyone trying to sell a product or service on that basis is an obvious fraudster.
I was quite impressed by the video that Veritasium published a few months ago on the subject. Includes comments by cognitive scientist Daniel Willingham. Tellingly for the current case, the thumbnail cover on YouTube is a placard that reads, "You Are Not a Visual Learner".
Veitasium on YouTube: The Biggest Myth in Education [youtu.be]
stop hiring (Score:2)
"Two-thirds of technology firms are experiencing a shortage of skilled workers [...] But what's the solution? "
Stop hiring.
Do you know why there's a shortage of skilled workers? It's not because they're all unemployed. It's because companies are hiring more workers.
Why are companies hiring more workers? They've made a lot more profit in the past 2 years than they expected and they were a lot more efficient with work from home (because they overworked people) and they want to build new things with that money
The double empathy problem (Score:2)
Yes we need more course for visual learners. However, Python is not for visual learners, it was designed for neurotypicals by neurotypicals and its goal is to enforces neurotypical semantics by forcing people to think in a specific way. The Fundamental Theorem of Algebra states that every polynomial equation of degree n with complex number coefficients has n roots, or solutions, in the complex numbers. So at a minimum, there is always least two ways to accomplish something.
https://www.youtube.com/watch?... [youtube.com]
Re: (Score:2)
People should play to their strengths and interests and seek a career in something they can perform competently, find fulfilling, and ideally enjoy. Honestly the pay is pretty mediocre for 90% of developers. But it's more honest than most of the grifter professions out there (SEO, ICO hypeman, etc).
Re: Less Developers (Score:2)
Honestly the pay is pretty mediocre for 90% of developers
Problem is, it's not. Even a talentless hack can come out of a "CS" degree and earn at the upper end of the pay scale.
Truly gifted programmers can earn staggering amounts because someone needs to actually make everything work after the talentless stuff it all up.
Re: (Score:2)
Programming is really easy to learn. It's also incredibly useful. You don't need to be a professional programmer to benefit from applying those skills in your chosen profession.
We would reap enormous rewards from having a required programming course in high school. Check out Tools for Conviviality by Ivan Illich:
Convivial tools are those which give each person who uses them the greatest opportunity to enrich the environment with the fruits of his or her vision
What tool could be more convivial that the modern personal computer? People just need to learn how to make better use of them. Programming is the key to unlocking that potential.