From John Ray's shorter notes




December 09, 2017

Taking a second look at the learn-to-code craze

I must say that the craze puzzles me.  From all I have seen serious coding in languages like C and its derivatives is only possible for perhaps the top 2% or 5% in IQ.  And for them it soon becomes a doddle.  As Jesus said in another context, "For to everyone who has will more be given, and he will have an abundance. But from the one who has not, even what he has will be taken away" (Matthew 25:29, ESV).

In my decades of experience as a statistical analysis programmer, I have met a lot of other programmers and all have had the bright eyes that only high IQ gives.

I actually have form as a teacher of coding. In my academic career, I once tried to teach a sociology class at a major university the FORTRAN language.  As far as I could tell, by the end of the semester none of them had actually "got" it.  And they would have been fairly bright.

I would like to see evidence that a person of average IQ can code productively -- or at all -- but until I do I think I will rather reluctantly have to believe the Left-type explanation below


Over the past five years, the idea that computer programming – or “coding” – is the key to the future for both children and adults alike has become received wisdom in the United States. The aim of making computer science a “new basic” skill for all Americans has driven the formation of dozens of nonprofit organizations, coding schools and policy programs.

As the third annual Computer Science Education Week begins, it is worth taking a closer look at this recent coding craze. The Obama administration’s “Computer Science For All” initiative and the Trump administration’s new effort are both based on the idea that computer programming is not only a fun and exciting activity, but a necessary skill for the jobs of the future.

However, the American history of these education initiatives shows that their primary beneficiaries aren’t necessarily students or workers, but rather the influential tech companies that promote the programs in the first place. The current campaign to teach American kids to code may be the latest example of tech companies using concerns about education to achieve their own goals. This raises some important questions about who stands to gain the most from the recent computer science push.
Old rhetoric about a ‘new economy’

One of the earliest corporate efforts to get computers into schools was Apple’s “Kids Can’t Wait” program in 1982. Apple co-founder Steve Jobs personally lobbied Congress to pass the Computer Equipment Contribution Act, which would have allowed companies that donated computers to schools, libraries and museums to deduct the equipment’s value from their corporate income tax bills. While his efforts in Washington failed, he succeeded in his home state of California, where companies could claim a tax credit for 25 percent of the value of computer donations.

The bill was clearly a corporate tax break, but it was framed in terms of educational gaps: According to a California legislative analysis, the bill’s supporters felt that “computer literacy for children is becoming a necessity in today’s world” and that the bill would help in “placing needed ‘hardware’ in schools unable to afford computers in any other way.”

Kids Can’t Wait took advantage of Reagan-era concerns that Americans were “falling behind” global competitors in the “new economy.” In 1983, a U.S. Department of Education report titled “A Nation at Risk” warned that the country’s “once unchallenged preeminence in commerce, industry, science, and technological innovation is being overtaken by competitors throughout the world.” The report’s authors blamed the American education system for turning out graduates who were underprepared for a fast-changing, technology-infused workplace.

Over the past 30 years, the same rhetoric has appeared again and again. In 1998, Bill Clinton proclaimed that “access to new technology means … access to the new economy.” In 2016, U.S. Chief Technology Officer Megan Smith described the Obama administration’s coding initiative as an “ambitious, all-hands-on-deck effort to get every student in America an early start with the skills they’ll need to be part of the new economy.”

While technology is often framed as the solution for success in a globalized labor market, the evidence is less clear. In his 2003 book “Oversold and Underused: Computers in the Classroom,” education researcher Larry Cuban warned that technology on its own would not solve “education’s age-old problems,” such as inequitable funding, inadequate facilities and overworked teachers.

Cuban found that some educational technology initiatives from the 1990s did help students get access to computers and learn basic skills. But that didn’t necessarily translate into higher-wage jobs when those students entered the workforce. However, the equipment and software needed to teach them brought large windfalls for tech companies – in 1995 the industry was worth US$4 billion.

Under pressure

If computers in schools didn’t work as promised two decades ago, then what’s behind the current coding push? Cuban points out that few school boards and administrators can resist pressure from business leaders, public officials and parents. Organizations like the CS For All Consortium, for example, have a large membership of education companies who are taking advantage of funding from state legislatures.

A huge boost comes from the tech giants, too. Amazon, Facebook, Google, Microsoft and others are collectively contributing $300 million to the Trump administration’s new federal initiative – no doubt seeing, as The New York Times observed, the potential to “market their own devices and software in schools as coding classes spread.”

This isn’t always the best deal for students. In 2013, the Los Angeles Unified School District planned to give Apple iPads to every student in every school – at a cost of $1.3 billion. The program was a fiasco: The iPads had technical problems and incomplete software that made them essentially useless. The fallout included investigations by the FBI and the U.S. Securities and Exchange Commission, and a legal settlement in which Apple and its partners repaid the school district $6.4 million.

However, tech companies are framing their efforts in more noble terms. In June 2017, Microsoft president Brad Smith compared the efforts of tech industry nonprofit Code.org to previous efforts to improve science and technology training in the United States. Recalling the focus on scientific research that drove the Space Race, Smith said, “We think computer science is to the 21st century what physics was to the 20th century.”

Indeed, tech companies are having a very hard time hiring and retaining software engineers. With new concerns about restrictions on visas for skilled immigrant workers, the industry could definitely benefit from a workforce trained with public dollars.

For some tech companies, this is an explicit goal. In 2016, Oracle and Micron Technology helped write a state education bill in Idaho which read, “It is essential that efforts to increase computer science instruction, kindergarten through career, be driven by the needs of industry and be developed in partnership with industry.” While two lawmakers objected to the corporate influence on the bill, it passed with an overwhelming majority.
History repeating?

Some critics argue that the goal of the coding push is to massively increase the number of programmers on the market, depressing wages and bolstering tech companies’ profit margins. Though there is no concrete evidence to support this claim, the fact remains that only half of college students who majored in science, technology, engineering or math-related subjects get jobs in their field after graduation. That certainly casts doubt on the idea that there is a “skills gap” between workers’ abilities and employers’ needs. Concerns about these disparities has helped justify investment in tech education over the past 20 years.

As millions of dollars flow to technology companies in the name of education, they often bypass other major needs of U.S. schools. Technology in the classroom can’t solve the problems that budget cuts, large class sizes and low teacher salaries create. Worse still, new research is finding that contemporary tech-driven educational reforms may end up intensifying the problems they were trying to fix.

Who will benefit most from this new computer science push? History tells us that it may not be students.

SOURCE



ADDENDUM 1: "The light of intelligence in eyes"

I should explain that.  I find I can tell highly intelligent people just by their eyes.  I am not sure I can explain it but it has something to do with them taking long gazes at things.  They see more so take longer to look at people and things.  They have a "seeing" (reflective, searching or enquiring) gaze.

ADDENDUM 2: A small example of my code:

program Shares
      implicit integer (i,j,k,l,m,n)
      character*6 company
      character*30 date
      write(*,*) ' This program shows profit and loss on a portfolio of shares'
      write(*,*) ' Output is to screen and to a file SHARES.SUM'
      write(*,*) ' '
      write(*,*) ' It reads in 2 files SHARES.BUY and SHARES.NOW'
      write(*,*) ' The first file gives original cost price'
      write(*,*) ' The second file gives last sale price'
      write(*,*) ' First in both files comes price in 5 columns'
      write(*,*) ' i.e. dollars, decimal and cents -- then space'
      write(*,*) ' Then in SHARES.BUY no. shares in 4 cols, then space'
      write(*,*) ' Then a five character company name'
      write(*,*) ' '
      write(*,*) ' In SHARES.NOW enter current price then the dividend'
      write(*,*) ' '
      write(*,*) ' Output includes: % capital gain and price/earnings'
      write(*,*) ' Six-monthly dividends are assumed'
      pause ' Strike a key to proceed'
      cost=0
      nos=0
      value=0
      write(*,*) ' How many parcels are there? (0 for default) '
      read(*,*) nop
      if(nop.eq.0)nop=27
      write(*,*) ' What is the date of the current share prices?'
      read(*,100) date
      write(*,100) date
 100  format(a)
c     write(*,*) ' Reading in buy price from SHARES.BUY'
      open(1,file='shares.buy',status='old')
      open(2,file='shares.now',status='old')
      open(3,file='shares.sum')
      open(4,file='shares.cap')
      open(5,file='shares.bf')
      read(5,*)bf
      write(3,101) date
 101  format(38x,a)
      write(3,777)
      write(*,777)
      write(4,776)
 777  format(1x,' Comp   Quant    Price    TotCost    PriNow  ValuNow  P
     6rof/L   %Up    PE')
 776  format(' Comp       TotCost      Value          Prof/L')
 90   read(1,800,end=22)price,quant,company
 800  format(f5.2,1x,f5.0,1x,a6)
      nos=nos+1
      sum=price*quant
      cost=cost+sum
      read(2,*,end=22)price2,div
      sum2=price2*quant
      value=value+sum2
      bal=sum2-sum
      pct=bal/sum*100.
      if(pct.lt.0)pct=0.
c 6-monthly dividends are assumed
      pe=div/sum2*200
      if(div.le.0) pe=0.
      write(*,222) company,quant,price,sum,price2,sum2,bal,pct,pe
      write(3,222) company,quant,price,sum,price2,sum2,bal,pct,pe
      write(4,223) company,sum,sum2,bal
 222  format(1x,a6,2x,f6.0,2x,f6.2,f12.2,2x,f6.2,f10.1,f8.1,2f6.1)     
 223  format(1x,a6,3(1x,f12.2))
      if(nos.lt.nop)go to 90
  22  continue
   3  continue
      write(*,900)
      write(3,900)
 900  format(/)
 300  Format(f16.2)
      write(*,*) ' Original total cost in dollars'
      write(3,*) ' Original total cost in dollars'
      write(4,*) ' Original total cost in dollars'
      write(*,300) cost
      write(3,300)cost
      write(4,300) cost
      write(*,*) ' Present total value in dollars'
      write(3,*) ' Present total value in dollars'
      write(4,*) ' Present total value in dollars'
      write(*,300) value
      write(3,300)value
      write(4,300)value
      balance=value-cost
      write(*,350) date
 350  format(1x, ' Gross profit or loss in dollars as of: ', a)
      write(3,350) date
      write(4,350) date
      write(*,300) balance
      write(3,300)balance
      write(4,300)balance
      write(*,377)bf
      write(3,377)bf
      write(4,377)bf
 377  format(1x, ' Profit/loss brought forward: ',/f16.2)
      balance=balance+bf
  301 format(1x, ' Net profit or loss in dollars: ',/f16.2)
      write(*,301) balance
      write(3,301)balance
      write(4,301)balance
      write(*,322)
 322  format('/')     
      stop 'Gaudeamus!'
      end 





Go to John Ray's Main academic menu
Go to Menu of longer writings
Go to John Ray's basic home page
Go to John Ray's pictorial Home Page
Go to Selected pictures from John Ray's blogs