Do We Really Need to Learn to Code? #makereducation

Computer code programming

Gary Marcus and Ernest Davis published a piece in The New Yorker debating the essential role of coding in the future of computer technology. While they recognize the trend towards computer automation and simplification, they also highlight problems standing in the way of the argument that programing will soon become superfluous:

The impulse to simplify programming started in the early days, when computers were still room-sized mainframes made up of vacuum tubes. The advent of machine language, for instance, allowed computers to carry out new tasks by simply loading new programs, replacing the labor-intensive, error-prone process of physically rewiring and rearranging vacuum tubes and jumper cables. Early high-level languages, such as LISP, FORTRAN, and Cobol, developed in the late nineteen-fifties and early nineteen-sixties, allowed programmers to work with abstract constructs like loops and functions. (All of those early languages are still in use; a great deal of data analysis, for example, still relies on a set of linear-algebra routines that were written in FORTRAN.)…

This all sounds great. But before we reach the era of self-programming computers, three fundamental obstacles must be overcome.

First, there is currently no method for describing what a piece of software should do that is both natural for people and usable by computers. Existing “formal specification languages” are way too complex for novices, and English itself is still way beyond machines. Programs like Siri have improved dramatically in recent years, and they can comprehend English in limited contexts. But they lack the precision required for building computer programs. When Siri hears “What Italian restaurants are around here?” she knows your location, and it’s fine that she only understands the words “Italian” and “restaurant.” But there is a world of difference between “Delete every file that has been copied” and “Copy every file that has been deleted.” For now, there is no reliable way to make a computer understand the difference between the two…

Read more.


Adafruit_Learning_SystemEach Tuesday is EducationTuesday here at Adafruit! Be sure to check out our posts about educators and all things STEM. Adafruit supports our educators and loves to spread the good word about educational STEM innovations!


Eink, E-paper, Think Ink – Collin shares six segments pondering the unusual low-power display technology that somehow still seems a bit sci-fi – http://adafruit.com/thinkink

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Join 26,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — To make it through a tough business cycle, layoffs should be a last resort

Wearables — Be outdoor ready

Electronics — When do I use X10?

Python for Microcontrollers — Python on Microcontrollers Newsletter: CircuitPython 6.1.0.RC0, Blinka Explained, and more! #Python #Adafruit #CircuitPython @micropython @ThePSF

Adafruit IoT Monthly — Our Favorite IoT Projects from 2020

Microsoft MakeCode — Space Jam, The MakeCode Show & More!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — NEW PRODUCTS – Ultra Flexible White LED Strips – 480 per meter – 5m long – Warm White + Cool White

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



2 Comments

  1. “For now, there is no reliable way to make a computer understand the difference between the two…”

    Come on, that is why there is natural language technology. There are applications that are able to make the difference. Also one problem with Siri is that it has to ‘hear’ spoken text and make it digital. Typed in text is already digital, which saves a lot of trouble.

  2. Please speak to some long-time programmers and software engineers about this subject! “Learning to code” is by no means the most important part of writing software, it’s very much like “learning to print” or “learning to draw”, just a means to a representation of an idea.

    Education should stress the importance and methods of problem solving, of logical thinking, of talking to people who will use your end product …

    I’m a software developer – but do I consider myself as writing code for a living? Sure, “code” is the end result sometimes, but that’s just a small part of the process, and in some ways the least important one.

Sorry, the comment form is closed at this time.