West Virginia Taps Apple To Teach Teachers To Teach Kids Swift 141
theodp writes: We fundamentally believe that coding is a language and that just like other languages are required in school, coding should be required in school," Apple CEO Tim Cook declared in 2016 as Apple coincidentally prepared to launch its Swift Playgrounds app to teach kids to code. Cook later touted Swift as the first programming language that wasn't "too geeky" for students. As such, Cook must be delighted that the West Virginia Dept. of Education (WVDE) has turned to Apple to provide WV teachers with free Professional Development in computer science in order to bring CS to every K-12 student in every WV school as part of its CodeWV initiative. Not too surprisingly, the Apple "Everyone Can Code" curriculum that teachers will be taught to teach requires up-to-date Apple devices and Swift.
Apple's efforts to sell WV on Swift date back to at least 2017, when an Apple lobbyist and Apple employees who refused to disclose their names pitched their wares to WVDE Board members in a controversial closed-door meeting. Teachers seeking an alternative to Apple's professional development do have the option of attending a "$3,000 professional learning program [curriculum] at no cost to them or their school/district thanks to the generous support from [tech-bankrolled and led] Code.org and the West Virginia Department of Education." Like Apple, Code.org has a registered WV education lobbyist.
So, will tech's race to make U.S. kids CS savvy go to the Swift?
Apple's efforts to sell WV on Swift date back to at least 2017, when an Apple lobbyist and Apple employees who refused to disclose their names pitched their wares to WVDE Board members in a controversial closed-door meeting. Teachers seeking an alternative to Apple's professional development do have the option of attending a "$3,000 professional learning program [curriculum] at no cost to them or their school/district thanks to the generous support from [tech-bankrolled and led] Code.org and the West Virginia Department of Education." Like Apple, Code.org has a registered WV education lobbyist.
So, will tech's race to make U.S. kids CS savvy go to the Swift?
Great idea (Score:2, Insightful)
Kids are graduating barely able to read and write or do basic arithmetic. Let's teach them to program surely that will fix everything.
Here's a hint: those who are motivated enough to learn it will learn it regardless. The vast majority who couldn't care less will find it as useful as that foreign language class.
Re:Great idea (Score:5, Insightful)
Here's a hint: those who are motivated enough to learn it will learn it regardless.
Maybe. I mean, some of then surely will. But just as surely, a class will bring in more competent people overall than not having one. Some people just have a home environment that makes self-study very hard, but set aside time in school and more people will discover the joy of coding.
The real question is: will Bob Wheeler [youtube.com] find this more appealing than the seductive glamour of worm farming?
Re: Great idea (Score:2)
set aside time in school and more people will discover the joy of coding.
I don't know about you, but I didn't discover the joy of reading a book in school. School forced me to pay attention to certain aspects of books that were extremely lame. In fact, I ended up hating pretty much every one of the so called literary classics that I was forced to read in school, and then seeing the finer points of the ones that were banned in school. Oh and then there was all of that Dewey Decimal shit that turned out to be pretty useless after all.
Personally, I never needed any books or classes
Re: Great idea (Score:2)
Clearly you feel that it should be mandatory (for their job prospects) that they are taught Microsoft Basic - the one true language.
That and it should be obvious that the best languages... FORTRAN and COBOL, they should be mandatory.
Re: (Score:2)
Is this dry humor?
Re: (Score:2)
Malvino's Digital Computer Electronics is still an excellent course for that, and several YouTubers have built their own 8-bit computers based on the pair of books.
Re: (Score:1)
I fully agree. I do have trouble understanding one thing though: Why does this utterly moronic idea keep cropping up? The industry cannot really want even more bad coders at this time, it should by now be well known that it does not make sense letting people without a real clue writing code. So why?
Re: (Score:2)
Re: (Score:2)
This is probably one of your most silliest posts ever ...
Re: (Score:2)
Re: (Score:2)
No, the pay will not drop.
Why would the price for a Ferrari drop just because Tada has a new model that is sold in 100 millions per year?
Re: (Score:2)
Your equivalency is false; this is more like Ferrari, Lamborghini, and Porsche saturating the performance market with $80K sports cars. That will keep down the price of $200K Ferraris, as people will get 80% of the performance for 40% of the price.
Same for Tesla - model S sales fell when the model Y came out - because a cheaper, less capable version came out. Yes, it is ~75% of the performance and size of a model S, but it's 50% of the price - so it sells more.
Likewise with labor - if I can hire 3 semi-OK
Re: (Score:2)
Likewise with labor - if I can hire 3 semi-OK programmers or one great one, and get effectively the results of 1.2 great programmers, and save money - I'll take it.
Good, the you will be soon out of business as you obviously know nothing about programming.
Re: (Score:2)
If you have millions of coders that cannot do anything a bit more complicated, then the price of competent coders will not drop.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
So do those language have something like Swift Playgrounds specifically designed for teaching coding? And why is Swift an awful choice? It is easy to read, that seems good for beginners. It is open source, so check that box. And in the announcement for Swift 6 they emphasize bringing it to other platforms.
I don't disagree that Python would be a good choice, I am just saying don't dismiss Swift so quickly.
Re: (Score:2)
Re: (Score:2)
Swift runs on Linux with first-party (Apple) support, and on Windows with third-party support. it can be compiled for ARM (Android) and WASM (works-in-progress).
Re: (Score:2)
Kids are graduating barely able to read and write or do basic arithmetic. Let's teach them to program surely that will fix everything.
You could use this same argument against teaching anything beyond basic math and reading.
Not every kid needs to be held back at the pace of the slowest.
Re:Great idea (Score:4, Insightful)
Not really. Courses like physics and chemistry teach students about the world around them. History and art broaden their perspective in a general sense. Programming is highly specific - it's as if you had an entire course dedicated to titration reactions, kinematics, the first Boer war...
Not even remotely. Computation is fundamental, and it's present in almost aspect of day to day life and spans from deeply theoretical to very practical.
Re: (Score:2)
Computation is fundamental
Not the way it's taught in school.
Re: (Score:2)
So same as maths and English then. So why do people here complain about computation so much more? Personally I think because they want to feel they're special.
Re: (Score:2)
Programming is highly specific
It is not.
It is a general purpose problem solving and "explaining" approach.
Aka: you understand, you find a solution and you EXPLAIN the solution in simple words.
This: https://www.onceuponachef.com/... [onceuponachef.com] is a program. And the result is tasty.
Was first hit for a carrot salad, so don't blame me if you don't like it.
Re: (Score:2)
Programming isn't teaching them about the world around them???
Re: (Score:2)
Re: (Score:2)
It most certainly will improve reading, writing and math.
Or do you think with Swift you just project your mind into a laptop?
Re: (Score:2)
I, as someone who has made a successful career (so far, anyway) in part because of my skills as a developer, would never have got into the field if it wasn't for multiple required developer classes. I went to school for an Electronics degree (not quite a EE) that ended up requiring 3 different dev courses. C++, VB, and Java. I absolutely detested my C++ class, and when I was done I swore I'd never write another line of code in my life. I transferred schools, and my C++ class didn't meet their qualificat
This isn't good (Score:1)
If this happens, these West Virginia kids will apply for a job at my company and take my job writing Swift programs. HOW CAN THIS BE STOPPED?
Teach kids SWIFT (Score:3)
Internet much? (Score:3)
Why do they need these teachers, who are not developers, as middlemen?
Just turn the kids in to the appropriate online resources and get the fuck out of the way.
Re: (Score:2)
Why do they need these teachers, who are not developers, as middlemen?
Just turn the kids in to the appropriate online resources and get the fuck out of the way.
Well, yes. If you actually wanted those with the aptitude and interest to learn. But I am beginning to suspect that most public figures pushing for this "teach everybody to code" somehow know that this does not work. Hence with your approach, it may become obvious to the general public very fast that coding is a specialist engineering discipline and that most people have no business doing it (except for simple hobbyist stuff). Hence they cannot recommend that approach, because it would become clear they ar
Re: (Score:2)
But I am beginning to suspect that most public figures pushing for this "teach everybody to code" somehow know that this does not work.
Your suspicion is a good sign; you're standing outside the door to understanding, and you can hear that something is going on in there. Will you take the next step, and figure out why you were so grossly mistaken? No, of course not, you're an incorruptible ignoramus. But you have a chance to learn something basic here, if you want.
Your mistake is in your basic presumptions about why having everybody take beginning classes on advanced topics is useful. Instead of listening to the educators talk about why lib
Re:Internet much? (Score:4, Insightful)
Why do they need these teachers, who are not developers, as middlemen?
Because teaching people is a completely different skill than actually being able to do the thing being taught. Developers on the whole make for absolutely horrible teachers, most engineers across most disciplines actually do.
Just turn the kids in to the appropriate online resources and get the fuck out of the way.
Because online study isn't suited to everyone. Self study even if not online isn't for everyone either. Classrooms still have a place.
Re: (Score:2)
Have you ever tried to teach kids anything? There are some very specific skills you need to manage a class of 20 children and get them to engage with a learning task.
Children learn in different ways too. Some will just get on with it if you give them a book or website, but with most you will need to guide them a little.
Re: (Score:3)
Well, you cannot fix absence of specific talent either. For example, many mathematicians cannot code well and will never be able to. (I know that is not universal, I know mathematicians of both types.) That is very obviously not a problem with IQ. That is just the fact that most types of mathematics needs some different talents than coding and, in addition, that people going into mathematics have different interests that people going into software engineering.
I am all for giving the few that can be good in
To funny Apple Development (Score:4, Insightful)
And I say that, after selling and delivering an iOS app, so I have been through the process end to end to develop an in-house app for a companies iPads.
Heck updating iOS to the latest 13.3.1 broke the deployed apps view controller paging (full screen/partial screen) and CoreData. Fun fun when you have deployed devices scattered across the US.
Just my 2 cents
What an awful language to learn in (Score:2, Informative)
Swift was built on Objective-C, which had all the baggage of C, and Swift thus ended up having the baggage of both languages. There are weird things that happen, and you need a lot of context to understand why.
Learning Swift as a first language will make kids want to run away from programming and never come back. Ev
Re: (Score:1)
OS X, iOS, Xcode and Swift is a fast moving target environment. One needs to be careful and you will still have apps break badly on the numerious OS X, XCode, iOS, Swift update cycles.
Just my 2 cents
Re: (Score:2)
Just my 2 cents
Re: (Score:2)
It seems highly unlikely that students will be asked to join the Apple Developer Program, or cryptographically sign their homework.
Re: (Score:2)
Well, I like Python and it was probably language number 20 or so I learned. It is completely unsuitable for beginners though, unless limited to a small sub-set.
Re: (Score:2)
Re: (Score:2)
What language do you think is best for beginners don't say Javascript?
For total beginners? Scratch [mit.edu].
Scratch is drag and drop. It is a very gentle introduction to basic programming concepts. You can't get a syntax error. Your program may not do what you want, but it always does something.
Another advantage of Scratch is that it is so totally lame and limited, that no one gets "first language syndrome". Once students "get it" they are happy to move on to something more capable.
Re: (Score:2)
Their home language.
Re: (Score:2)
Machine code. Maybe assembly language if they're not leet enough.
Re: (Score:3)
Actually old school Pascal, or even old school BASIC with line numbers, depending what you think is the appropriated "abstraction level":
In my opinion Pascal is the best language for teaching. Very clear concepts of const, type, var, function, procedure, main section of a program and how to write and use a library, and actually excellent input/output for simple programs for files.
However I disagree with some posters who think Python is a bad choice ... on the other hand, I don't think kids below roughly 14
Re: (Score:2)
I did not say Python was a bad choice in principle. Just that the whole language is a bad choice. A carefully selected sub-set can certainly be taught to beginners.
Re: (Score:2)
Re: (Score:2)
Depends very much on the target application domain.
Re: (Score:2)
Ok.. so, Unfortunately moderators cannot select several codes when modding a post, as this one would merit a "funny+insightful" upmoderation.
The reason why it is funny is that typical assembler will make even many experienced developers shudder and is thus not definitely suitable for first language.
BUT
A simplified assembler to code for a simplified virtual machine with full visual debugging support and such could well be a great first language. As it will make the fundamentals of how computers execute code
Re: (Score:3)
Swift is not based on C or Objective-C
Is it more a mixed beast between Java and Dart, pretty close to Dart actually. It has no baggage at all.
Learning Swift as a first language will make kids want to run away from programming and never come back.
Did you actually ever look at a Swift manual, or did one hack your account?
Re: (Score:2)
Their claim that it's the first language not too geeky to teach to beginners is especially laughable. LOGO, anyone? If the goal is to teach you a language that's useful, Swift isn't it. If the goal is to teach programming concepts, LOGO is still a good choice. It lets the user do stuff IMMEDIATELY.
Re: (Score:2)
Learning Swift as a first language will make kids want to run away from programming and never come back. Even Javascript would be a better language to learn than Swift.
If they were talking about classes for aspiring programmers who are being trained to implement projects from a specification, this comment would have more value.
But as is, they're just going to be typing in programs, and making very small changes to specific parts. Most of the details will never be explained, and baggage from C will be carefully avoided and treated as boilerplate. They might even end up with fill-in-the-blank style IDEs.
Think learning BASIC in middle school on an Apple ][. Now replace that
Even the Smartest Kids Will Be 'C' Students (Score:5, Funny)
Like the App Store [apple.com], 'Everyone Can Code' students earn only 70% of the grades given by teachers and Apple collects the other 30%.
Re: (Score:2)
Why is this troll? It’s funny!
Swift is a great language but is a good first one? (Score:4, Interesting)
I love Swift, if your code compiles, more often than not it works first time as it's so heavily typed and well structured (even more so than other typed languages I've dealt with).
That said, there are some pretty advanced concepts that might seem excessive to non-developers - the biggest example is generics have somewhat weird behaviour when it comes to protocols, and then you often have to make some type-erasure protocol to make everything happy.
As much as I feel that JavaScript and Python are scripting languages that have been used for stuff waaay bigger than they can/should handle, they seem like better choices for getting started.
Has anybody ever tried the learn to code in Swift apps? How was your experience?
Re: (Score:2, Insightful)
Being effectively an Apple-only language, it seems it's pretty much one of the worst language to start with.
Re: (Score:2)
Re: (Score:2)
I do wonder if very strict languages like Swift are the way to teach coding. At university they started everyone off with Ada, and it was a bit of a disaster. Students got bogged down with the syntax and with trying to understand why you couldn't do things. It being OO was an issue too because it forced students to learn some of the OO stuff just to get basic programs working, rather than focusing on the basics of software like flow control.
I started with BASIC, which as we all know is notorious for encoura
Re: (Score:2)
Its not the "languages"... its the IQ of the student, the ability at school, university.
Re: (Score:3)
Some students do fine if you just give them the complete works of Shakespeare, but that doesn't mean it's generally a good teaching method.
Re: (Score:2)
You seem to think that some students are just dump, low IQ, can't be helped. I think they can be helped, they maybe just need different teaching methods or a bit of help to get started.
I learn best by experience. When learning a second language I didn't get far just with a book, but with experience of using it I soon picked it up. Others preferred just reading.
Re: (Score:2)
Ahh I learned Java and Ada in university (with a bonus bit of C, and dear god COBOL - I'm not even that old, but the database lecturer was).
I must say, I really didn't get Ada at the time, and pretty much just as the course wrapped up it suddenly clicked and all made amazing sense.
I also found our lecturers forced best practise stuff on us for extremely trivial projects - we'd have to write a few pages of pseudo-code to plan out a two function sized program. The end result was that I hated these best practi
I was a high school CS teacher for 18 years (Score:5, Insightful)
Re:I was a high school CS teacher for 18 years (Score:4, Informative)
Re: (Score:2)
Well, probably. But the whole thing is about as stupid as trying to turn average people into mathematicians, novelists, high-end chefs, etc. It does not work and cannot work.
Re: (Score:2)
Pretty much anybody that has ever really taught coding knows that. It seems this stupid idea is now self-perpetuating though.
Re:I was a high school CS teacher for 18 years (Score:5, Insightful)
We are talking about West Virginia - a poor state with a large coal mining industry.
These people are going to lose their jobs as the world goes more green. And, these people need to know their is a light at the end of the tunnel.
Originally, the hope was that the solar industry was that path. That didn’t work out. But, if they can be shown that there are other things thing can do, it might be a watershed event.
I agree that most wont pursue programming as a career. They will, however, learn skills that can carry them forward. Most importantly, they will learn how to think. That brings hope.
Well,that’s the plan I do believe.
Re: (Score:3)
TFA is about teaching kids to code and I don't think that's a bad idea. Becoming a good developer requires two inherent features and one learned: passion for the subject, the right mental faculties to comprehend the fundament
Re: (Score:2)
This isn't about teaching "coal miners". It's about teaching kids skills for the 21st century that can take them beyond being relegated to being coal miners and think outside the box (or mine).
There are, very likely, intelligent kids in schools in mining towns that simply aren't getting a solid education and the skills to earn a decent wage/salary without having to set foot in a mine. They just aren't being given the chance to be discovered.
Coal mining is a time-honored profession, don't get me wrong. Ou
Re: (Score:2)
and I'm here to tell you folks only about 5% of kids find programming remotely interesting
What proportion found maths interesting? Or physics, or history? Or geography? Or French? etc.
Re: (Score:3)
I'm here to tell you folks only about 5% of kids find programming remotely interesting
I think a large number of people find programming interesting right until they reaslise how much effort needs to be put into making something basic. Put a kid in front a computer programming course and ask them what it is they want to achieve and they'll most likely come back with creating bloody world of warcraft. The sad reality is after several months they'll be lucky to spit out a game of tic tac toe.
Re: (Score:2)
"Imagine trying to teach math to students with no interest in it?
Yet we do exactly that because you won't get far in life knowing how to count."
Actually, mathematics is only taught to people with an interest in it. You are confusing arithmetic (counting, adding, subtracting) with mathematics.
High school may "touch on" subjects like Trignometry, Algebra, Functions & Relations, Logic, and a dabble in Calculus, but that is designed to find those who want to learn mathematics, not to teach mathematics.
In t
Re: (Score:2)
That does not sound like a "high school".
Duping the bumpkins (Score:1)
from the /. summary
"the Apple "Everyone Can Code" curriculum.."
Not everyone can code. Many people are too stupid.
Re:Duping the bumpkins (Score:4, Insightful)
Re: (Score:2)
It's not that people are "too stupid". It takes a very organized and focused mind to become proficient at coding.
We have a word to describe people with unfocused and disorganized minds: stupid.
Re: (Score:2)
Nor does being "proficient at coding" make one a programmer. Just because one knows how to flip a switch to turn on the lights does not mean that one has any understanding of the processes involved.
Re: (Score:2)
You need to have an understanding of how a computer works at the core level (the electronics) to a certain degree to understand what the code you are writing is actually doing.
Nope, except for assembly such nonsense is not required.
And real processors like ARMs have already a quite high level assembly language. So you do not need such nonsense you think people do need.
I write mostly Java, Groovy, Scala ... my programs run on ARM, SPARC, Intel ... and all those machines work different in important ways. And
Re: (Score:2)
to a certain degree to understand what the code you are writing is actually doing.
No you don't. This is just some BS gatekeeping.
To understand why C uses 0 based indexing and what the actual array index does in memory, sure. But you don't need to know C, or any of that, to write some scripts to find faces in pictures.
Not this again (Score:3)
For the millionth time, not everyone is a coder. We teach home econmics and "woodshop" in schools, I still can't cook that well and I'm certainly no carpenter! I took up a career in computers 'cos I love working with them, I love new tech and playing with new bits of software. I have a friend who took up electronics career, another who took up bioscience and another who's a professional musician.
Sure offer coding as a choice but do it at the higher levels in school, soon as you take up your last few years in high school then offer coding to those who really want to take up tech subjects. I don't need to know how my heating system works, people out there love plumbing and their damn good at it ( my Dad for one, who's also a good carpenter! ) I'm not and I leave it to the pro's. Going forward most people simply want to use a device and they really don't care how it works inside, so long as it just works.
You don't have to be a coder to be tech literate, ramming coding down kids throats will simply bore those who hate it.
Re: (Score:2)
We teach home econmics and "woodshop" in schools, I still can't cook that well and I'm certainly no carpenter!
I hope what you got out of both of those experiences is to get other people to cook and build things for you. The point of learning to code classes is not exclusively to teach people to code. It would be nice if many people could just come out the other side with a grasp of basic logic, iteration, problem solving, and above all the knowledge of when to seek help.
There's a lot you can learn from programming that isn't covered in other life courses. Just like you probably learnt in home economics not to attem
Re: (Score:2)
The thing about coding is that most office workers are wasting tons of productivity by NOT doing it. I recently received an Excel workbook from someone who was responsible for regulatory reporting for my employer. Depending on your point of view, it was either a huge mess or an amazing accomplishment. Some of the formulas were so large that I had to paste the text into a vi-like editor and use "pretty print" to get any idea of what it was doing.
When I had everything sorted, I realized that I could genera
Re: (Score:2)
Self serving douche bag (Score:2)
Rebooks Air Pump anyone? (Score:2)
$SCHOOL_WITH_MONEY_TO BURN_STR taps $BIG_NAME_CORP_STR to teach kids $BIG_NAME_CORP_ESOTERIC_NEW_LANG_STR
What wrong with a bit propositional logic dashed with some set theory and a garnish with C?
Heck use repl.it call it the day.
Computational languages are not natural languages (Score:2)
"We fundamentally believe that coding is a language and that just like other languages are required in school, coding should be required in school." I like Apple as a company (generally), I don't have an opinion in general about Tim Cook, but this statement is a failure of basic reasoning.
Natural languages are used by humans to communicate. Every human (even those with sub-par intelligence) is capable of learning at least one natural language practically painlessly and without conscious study. Most can l
Re:Proprietary Horse Shit (Score:5, Informative)
FYI Swift is open source.
https://en.wikipedia.org/wiki/... [wikipedia.org]
On December 3, 2015, the Swift language, supporting libraries, debugger, and package manager were open-sourced under the Apache 2.0 license with a Runtime Library Exception,[33] and Swift.org was created to host the project. The source code is hosted on GitHub, where it is easy for anyone to get the code, build it themselves, and even create pull requests to contribute code back to the project.
I grant you that the language hasn't been heavily adopted outside of the Apple eco-system much - and the article also refers to buying Apple hardware, but it is a good (and open) langauge at least.
Re: (Score:2)
Swift is open, but I assure you this course will be based on either the iOS or Cocoa framework, in an attempt to teach them how to develop for Apple devices (and of course requiring them to buy one now). They aren't doing this without a hook.
Re: (Score:2)
Which hook?
It seems you missed the fact that the schools approached Apple, and not the other way around.
Re: (Score:2)
The hook is that Apple = bad no matter the facts.
Re: (Score:2)
"FYI Swift is open source."
So is English, but as a whole their students test results are some of the lowest in the country. At a minimum, children who learn how to properly use and speak English have a significantly better ability to earn a living (or at least have a shot).
Re: (Score:2)
"FYI Swift is open source."
So is English, but as a whole their students test results are some of the lowest in the country.
For this to make sense, you need to state who "they" are, because it is neither in your statement, nor in what you quoted.
Whose students have low test results? All the students in the State? The students specifically in the schools that are adopting this? The teachers quoted in the article?
Grammar matters, lurn yous sum.
Re: (Score:2)
I grant you that the language hasn't been heavily adopted outside of the Apple eco-system much
I think that is an understatement.
Is there even a single serious project using Swift on non-Apple OSes?
I helped run a programming class teaching Scratch to 3rd and 4th graders, and Python to 5th and 6th graders, all on Raspberry Pi. Python is a much more universal language, and anyone can afford a Raspberry Pi (starting at $5).
Re: (Score:2)
You can run and use Swift on an Raspberry Pi, too.
Re: (Score:2)
Just because the source is open doesn't mean that it isn't proprietary and entirely controlled by Apple.
Heck, it doesn't even run on Windows which is by far the dominant OS.
Re: (Score:2)
Where is the IDE for windows and linux? Where is Apple building and supporting a community?
Where are all the Darwin forks? That's been open source for years.
Apple isn't interested in a cross platform Swift community any more than it was interested in a cross platform Obj-C community.
"Open Source" means nothing.
Cannabis not to blame for clickbait (Score:2)
Or their waterfall of lazy posting. That's deliberate.