Friday, February 19, 2016

Resources for Coders of all ages

A request I get with increasing frequency is for books on coding, or as many put it, on "making apps". This is truly one of my favorite questions, in part because it points to two things: 1) people still want books, and 2) people trust librarians to point them in the right direction for information about emerging technology. I have to say it: I love books, but print isn't necessarily the best vehicle for learning coding. I love having lots and lots of books on lots of subjects and I love that people look for books on every subject. And we do have books on coding and programming, sure we do. However, technology never stops moving and new coding languages and tools are are always emerging. Innovators and problem solvers are constantly developing new ways to get a job done, animate a story, facilitate a business solution, and invent the only imagined. Traditional publishing has a hard time keeping pace with technology, and money being a limiting factor, you probably won't see shelf after shelf in the library lined with the most up-to-date version 2.5 of The Dummies Guide to TDD when every book we have on Facebook is obsolete the minute they change the look of their interface. So allow me to introduce you to a few of my personal favorite reference sources, print and digital, for the DIY coder-to-be.

First, code lives on computers so at some point, if you really want to learn, you'll have to go digital.  There are a number of free online and in-person classes, tutorials, practice sessions, and workshops for all skill levels and ages. Try W3Schools  and Codecademy for free, self-directed learning at your own pace. I taught myself HTML while in library school using W3Schools so I can speak from experience that it is terrific. Codecademy's lessons are well designed and simple to get into. They almost feel like playing a game. Also, there are some excellent local resources for adult learners such as the co-working space, 804RVA, who exist so that you may "Learn new things. Share skills. Meet new people." I like that. Among other things, they host meetups for the digitally oriented at all experience levels. From WordPress Wednesdays to Free Code Camps, they have a Meetup for you. The Richmond Linux User Group (LUG) meets at the Main Library to learn more about open source software, to compare and collaborate. For kids and families, CoderDojo hosts free monthly classes at the Main Library.

CODE Magazine

This is a new subscription to the Ginter Park Branch. More on the advanced side, this magazine is intended for independent developers. I tend to choose magazines over books for technology topics--because of their frequency and currency they can keep up with emerging trends better. With gripping article titles like "CRUD in HTML, JavaScript, and jQuery Using the Web API" this is perhaps not for the novice coder, but an excellent resource for experienced developers working on their own who want to keep up on trends and challenges.

Now for a couple of books on programming in practice for kids and adults:
Many of the coding books that I find the most approachable and useful for beginners who simply must have a printed manual in order to feel oriented are written with children in mind. Even though the book is aimed at children it can be very useful and engaging for a novice adult learner, and they are actually written with the parent or teacher in mind guiding instruction.
Pick up Coding Games in Scratch for "a step-by-step visual guide to building your own computer games", or Help Your Kids with Computer Coding to "introduce yourself (and your whole family) to the world of computer programming, with a fun and approachable method. This book begins by introducing the essential concepts of programming with simple instructions, and without specialized computer lingo. Fun projects throughout let kids start putting their computer skills into practice and build their own code using Scratch programming and Python, the two most popular languages." Personally I find print manuals helpful for getting down general concepts and keeping building concepts in order, but with anything digital, reading about in the abstract won't help you learn unless you actually sit down and do it. Learning code is a decidedly hands on experience. Try to read a 100 lines of code printed on a piece of paper and tell me that it holds your attention. You can read Python for Kids cover to cover and still not know Python until you've put your hands on a keyboard.

No comments: