Library Code Year IG Meeting at ALA Annual Conference 2012

The LITA/ALCTS Library Code Year Interest Group was born from the wide spread interest in computer programming among librarians which coincided with Codecademy‘s Code Year program. The Library Code Year IG is active on both ALA Connect and on the Catcode wiki and held its inaugural meeting at ALA Annual last month.

The meeting started with introductions, which gave the membership an opportunity to share our goals for the group while also learning about common problems and frustrations that people have encountered while learning to code. The group came together over shared concerns and frustrations ranging from getting stuck on problems that can’t be solved alone to finding the lessons too dry when there is no real life application. Members also discussed the sense of frustration that comes from knowing that you need to know more about computer programming to keep up-to-date and simultaneously feeling guilty about time spent on computer programming lessons that aren’t directly related to a specific job duty.

Participants discussed techniques that they found helpful in teaching themselves to program, including:

  • reviewing lesson walkthroughs or keys (though some avoid this because it feels like “cheating”),
  • working through the problem with another student/mentor,
  • setting aside an allotted time daily or weekly to practice coding skills,
  • saving up multiple lessons or projects to work through in a single day of non-stop coding, and
  • finding code online that you can learn from and adapt for your own purposes.

These suggestions highlighted the importance of learning style and schedule flexibility when it comes to successfully teaching oneself to program. Just as importantly, the conversation showed that for most participants, committing to a long-term practice of regularly using these skills was key to success. This discussion provided an excellent foundation for the topics covered in the rest of the meeting.

The second portion of the meeting was devoted to lightning talks. Eric Phetteplace offered an introduction to bookmarklets. These relatively simple programs can be created with just a small amount of Javascript and can allow users to exert a powerful effect on websites through their browser. Bookmarklets run the gamut from the fun, such as Kick Ass, a bookmarklet which allows you to play Asteroids on any website, to Instapaper, which allows you to save and reformat webpages for future reading. Eric discussed some of the possible uses for libraries, including data harvesting or adding proxy server information to all links on a page. Any data on the web page can be accessed and changed with a simple script.

For those inspired to get started writing their own bookmarklets, Eric also provided concrete information on how to get started. He advocates using a template found online, echoing the meeting’s recurring theme that coders, particularly beginners, shouldn’t feel the need to reinvent the wheel for every project. Instead, finding templates online that can be adapted for your purposes is often a much more efficient way to start a project and a great way to learn from the work that other coders have already done. Eric also discussed tricks and tips for bookmarklets, such as having the bookmarklet point to code hosted elsewhere for easy updates, the importance of not making assumptions about the types of websites on which the bookmarklet will be used and the difficulty (to the point of virtual impossibility) of using bookmarklets on mobile browsers.

I gave the second lightning talk, which covered resources that can be used for learning or teaching programming. As was evident from our introductions, members of the group have a wide range of different interests and approaches to learning. While Code Year has worked for some people who want to learn more about Javascript, JQuery and web programming, my talk highlighted other tools that can be used to learn Python, Ruby, Java and other languages through tutorials, videos and exercises. I also discussed options for finding in-person programming classes locally for those who prefer to work with a group in person. Those interested in finding these alternative tools can refer to the handout I prepared for this talk or to my Pearltree on the topic.

The final, and arguably most important, agenda item for the meeting was discussing plans for the future. The group brainstormed and settled on focusing our efforts on a number of different types of how-to projects including:

  • A Python preconference event for beginners based on the curriculum developed by Boston Python Users Group,
  • A project based on OCLC’s APIs,
  • A Git and GitHub how-to session,
  • An IRC how-to session, and
  • A collection of resources to support those who want to host a Hackathon.

You can see the full list of volunteers for these projects on our ALA Connect space, but we are definitely looking for more helpers for these and other projects, so let us know if you want to help out! We also hope to maintain a list of members’ areas of expertise to facilitate helping each other out. If you want to coordinate this project, or if you would just like to be included on the list, add a comment on our ALA Connect space.

This first meeting is just the first step in what we hope will be a long history for this interest group. Even if you weren’t able to attend the meeting, we want you to be able to get as much as possible out of our activities. Be sure to stay in touch and please think about getting involved with us!

About Our Guest Author: Carli Spina is the Emerging Technologies and Research Librarian at the Harvard Law School Library. She has an MSLIS from Simmons College and a JD from the University of Chicago Law School and she is one of the co-chairs of the LITA/ALCTS Library Code Year Interest Group. Her interests include emerging technologies, innovation in libraries and coding. She can be found on Twitter @CarliSpina.