This Tumblr gives new software-development titles to old paintings.
“Engineering manager returning from a budget meeting” Ilya Repin, Oil paint, 1888
“Front end programmer” Giovanni Battista Moroni, 1570–1575
“Sysadmin grants sudo privileges to developer on production web server” - Andrea del Verrocchio and Leonardo da Vinci, 1425-1475, Oil on wood Read the rest
You're probably familiar with Scratch, the introductory programming language that allows kids (and adults) to create interactive stories, games, and animations. Scratch doesn't require lines of code to write programs. Instead, you build programs by snapping together colored blocks. (My book, Maker Dad, has an introduction to Scratch that shows how to make retro-style video games).
Scratch is perfect for kids 8 and up. Recently, MIT Media Lab's Lifelong Kindergarten Lab announced the release of ScratchJr, an even simpler programming language for young children (ages 5-7) to create interactive stories and games. It's free and runs on iPads and Android tablets.
Mitchel Resnick, who runs MIT Media Lab's Lifelong Kindergarten Lab, and Marina Umaschi Bers, a professor in the Computer Science Department at Tufts University, have a new book out called, The Official ScratchJr Book: Help Your Kids Learn to Code. The publisher sent me a copy, and it looks like a great way for parents to learn about ScratchJr so they can get their kids up to speed and let them go off on their own. With full color screenshots on every page, it provides a thorough overview of everything ScratchJr is capable of doing. Read the rest
When I was a mechanical engineer in the late 1980s I used Microsoft QuickBASIC to write and create simple programs for work. I loved it. It was a compiled BASIC, too, so it was speedy. I used it to recreate a lot of the programs from Rudy Rucker's Chaos software from Autodesk. I got pretty good at writing programs in BASIC, just as I got pretty good at nodding my head when my smarter programmer friends would tell me that BASIC was not a real programming language.
I never learned any other languages, but recently I've started using Python and it is easy and fun. One thing I did with Python was write a nontransitive dice simulator to prove to myself that these confounding dice really worked as described.
I just got my hands on a new book called Automate the Boring Stuff with Python: Practical Programming for Total Beginners by Al Sweigart, and it looks like it is exactly what I need: a book for beginners and with lots of ideas for programs that are actually useful. Examples: Search for text in a file or across multiple files Create, update, move, and rename files and folders Search the Web and download online content Update and format data in Excel spreadsheets of any size Split, merge, watermark, and encrypt PDFs Send reminder emails and text notifications Fill out online forms Read the rest
At the beginning of the summer my son Ronan, age 12, and I built him his first high-powered gaming PC. Me being a dad and all, I did so happily, but with one proviso -- he’d have to dedicate time every day to learning a programming language. He was slightly sceptical of this, having taken a few less-than-interesting intro to programming classes in the past. Prepared for this, I recommended that we enroll him in Youth Digital’s comprehensive Java course called Minecraft Server Desgin 1. This got his full attention, as he had dreams of creating his own custom servers and gameplay modes to host Minecraft sessions with his friends.
We signed him up and dove in. Our immediate impression was that site and course are smartly designed and easy to navigate. All material is introduced through clear, well-produced, often funny videos that didn’t talk down him, but instead did a great job of walking him through new concepts, then pausing while he took pop quizzes and did hands-on coding exercises.
The course includes a year of server hosting, 24-hour tech support (that was fast and helpful the few times he’s needed it), and perhaps best of all, a browser-based integrated development environment (IDE) for editing the game, player, and team Java files. Within this Codenvy IDE (Windows and OSX only), you can launch the updated server with one button, which makes it fast to test code and correlate newly learned concepts with the “real world” Minecraft results.
He chose one of the four pre-built maps, learned to modify the default server file description text, whitelisted a few friend, and launched his Minecraft server within the first hour of instruction. Read the rest
Udacity created an infographic about different programming languages, showing their popularity over time, their applications, and the average salary one might expect from becoming proficient in one of the languages. Python often appears at the top of the different lists.
(Here's a good book called Python for Kids: A Playful Introduction to Programming, which I used to learn how to write a nontransitive dice simulation.)
Scratch is a free drag-and-drop programming language for kids, developed at MIT. My 10-year-old daughter Jane uses it to create puzzles, games, and interactive cartoons. In 2012 I reviewed a book called Super Scratch Programming Adventure, a comic book guide to Scratch. I recommend it.
I also recommend the new book, Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math. Like Super Scratch Programming Adventure, this book is aimed at the complete beginner, but it goes deeper, exploring powerful programming concepts that show how useful Scratch is, for kids and adults. Read the rest
This Raspberry PI based computer kit looks like a great way to get kids interested in programming. The programming language looks kind of like Scratch, the free drag-and-drop programming language developed at MIT. A Kickstarter pledge of $9 or more gets you "downloads of the Kano books, OS, and projects. Plus, we'll put your name in our source code."
Scratch, an excellent and free drag-and-drop programming language for kids developed at MIT, has a new web-based interface. My 10-year-old daughter Jane uses it to create puzzles, games, and interactive cartoons. One thing I like about Scratch is that it's really hard to make a syntax or spelling mistake. The inevitable bugs that arise in a complex Scratch program are therefore more interesting to solve.
Last year I reviewed a terrific introductory book called Super Scratch Programming Adventure!, which teaches Scratch through game programming. There's a new version of the book that covers the web-based Scratch 2, and it went on sale this week.Super Scratch Programming Adventure! (Covers Version 2): Learn to Program by Making Cool Games Read the rest
Robot Turtles is "a board game you play with your favorite 3 to 8-year-old that sneakily teaches programming fundamentals." Created by entrepreneur Dan Shapiro and inspired by classic kids' programming language Logo, the board game lets kids ages 3-8 write programs with colorful playing cards. The game is brilliantly simple: kids play a row of action cards to control their turtle on the board, as moved by the adult game master.
Dan designed the game for his 4-year-old boy/girl twins, because "people who can program are going to be writing the future, and everybody else is going to be reading it." With 10,000 backers, Robot Turtles is nearly the most-backed board game on Kickstarter. It's available until Sept 27 for $29 and is scheduled to ship in time for Christmas.
Dan's a good friend of mine (I'm Robot Turtles' first backer), and we spent months discussing the strategy behind both Robot Turtles and my recent Kickstarter. If you're interested in some of the lessons Dan and I learned, he's got a great post up on the subject. Read the rest
Invented in 1801, Jacquard looms are really an add-on to already existent mechanical loom systems, which allowed those looms to create patterns more complex and intricate than anything that had been done before. The difference: Punch cards.
When you weave, the pattern comes from changes in thread position — which threads were exposed on the surface of the cloth and which were not. But prior to the Jacquard loom, there were only so many threads that any weaver could control at one time, so patterns were simple and blocky. Essentially, the Jacquard system vastly increased the pixels available in any weaving pattern, by automatically controlling lots and lots of threads all at once. Punch cards told the machine which threads were in play at any given time.
It's a really cool process, and I wanted to share a couple of videos that give you a good idea of how these looms work and how they changed the textiles industry. You can watch them below. But probably the best example is the image above. It's a picture of Joseph-Marie Jacquard, woven in silk on the loom he invented — a fantastic demonstration of the design power that loom offered. In just a few years, people went from weaving simple stars and knots, to weaving patterns that almost look like they were spit out of a printer. Read the rest
My 9-year-old daughter Jane likes playing with Scratch, a kids' programming language developed at MIT. (I recently reviewed a great book called Super Scratch Programming Adventure.)
Python for Kids: A Playful Introduction to Programming is another programming book for kids. I've been going through it myself, and enjoying it. Unlike Scratch, which lets you write programs by dragging and dropping colored command blocks, Python is a traditional programming language that uses lines of code. I've played around with other languages a bit, but Python is the only language that seems to be as easy and intuitive as BASIC. I'm not sure if Jane is ready for Python -- she wouldn't have trouble learning it, but it's not as fun as Scratch (at least at first), but I think in a year or two she might be. And this is the book I'll give her when she's ready.
Read the rest
Python for Kids brings Python to life and brings you (and your parents) into the world of programming. The ever-patient Jason R. Briggs will guide you through the basics as you experiment with unique (and often hilarious) example programs that feature ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored, dissected, and explained; and quirky, full-color illustrations keep things on the lighter side.
Chapters end with programming puzzles designed to stretch your brain and strengthen your understanding. By the end of the book you'll have programmed
two complete games: a clone of the famous Pong and "Mr.