Coding in the Library?
Three years ago I plunged into the profession of school librarianship. The experience was similar to my first year as a teacher. There was much for me to learn about librarianship today not taught in graduate school. One such fun surprise was that librarians are encouraged to promote learning computer science through their participation in the global Hour of Code event each year.
When I was in school the only computer instruction offered was how to use a computer to create documents such as memos, letters and resumes. No one ever encouraged me to become a computer programmer. It was a profession that I did not even consider. Computer science was not promoted at my schools growing up in the Texas border town of Laredo. My first meaningful experience with a computer occurred when I was in high school and my family bought our first computer. I started “surfing the net” regularly via the now obsolete dial-up modem. I did not have the foresight then to know how integral this technology or the devices which enabled access to it would become in our daily lives. The professional possibilities that learning computer science created were not yet known to me.
It has not been until recently, after participating in our 3rd annual Hour of Code, that I asked myself an important question. I have been telling my students they can learn computer science and have a well paying job in the future but can I show them that it is really learnable? Could I prove that someone like me with an art background, history of Bunsen burns in Chemistry and a B-average in Geometry can walk the walk and not just talk the talk?
So when an email promoting a scholarship opportunity offered by Birchbox and the Flatiron School in NYC popped up in my inbox I immediately applied. It must be a sign I thought. Lo and behold I received the scholarship and was now a student in a full-stack web developer program. When I shared my news with my students they were so happy and congratulatory.
Honestly, the program has been hard. When I say hard, I don’t mean just hard. I mean the-hardest-thing-mentally-I-have-ever-done-in-my-life hard. It can be frustrating and I will even admit that I cried once when I got stuck on an Object Orientation lab for 4 days. But, I felt better when one of the female experts told me she had to take a month off after completing the same lab because the level of difficulty and lack of progress was immensely discouraging.
The best advice I have received is that no matter how hard it gets, just stick with it and don’t give up. Anything worth learning can be challenging at times. If it was easy we’d have more skilled programmers and fewer vacant positions. I have to tell myself to keep pushing forward. It will get easier as I learn more and improve my problem solving skills.
Initially, I did not know exactly how to best use this newly acquired knowledge. Then an idea came to me. Why not try to teach some of this to my students? Blockly coding programs and activities, like the kind librarians use for Hour of Code, are great for teaching basic concepts to beginners, especially the very young, however, older students should have some exposure to real code. It’s less daunting if you have someone helping you that believes you are capable and genuinely wants you to be successful.
AASL standards and TEA Technology TEKS define learning goals for student use of technology as facilitating collaboration for the creation of meaningful products that have real-world applicability. It is imperative to provide students with these opportunities early on to build momentum to pursue STEAM careers.
This spring semester I started teaching Ruby code to my 3rd, 4th and 5th Grade students on repl.it during library class. We started simply by learning how to print out a string multiple times in Ruby. We moved on to arrays, indexes and if conditional statements which mimic some early computer games. We incorporated information from subscription research databases to create interactive conversations with historical figures. Our current lesson involves building a pseudo-database with a hash to organize the family trees of characters from Harry Potter. The students are charged with rewriting the story by writing unique code to modify the branches of the tree. Perhaps Fred survived or Harry married someone else?
Mind map Harry Potter family tree made using Google
Sample unfinished HP family tree Ruby hash
Sample code to modify hash
Additionally, I reviewed the progress of all students who participated or completed Course 1 on Code.org and sent out invitations to join our Coding Club. We are a school of 600+ students and our club currently has 40+ members. Last week parents of Coding Club members were invited to connect to their child’s Coding Club journal on Seesaw via a unique QR code. The Coding Club’s Seesaw account gives users access to my video tutorials, vocabulary, programming historical facts and provides a online forum to share, discuss, and get feedback from their peers about their code.
There has been phenomenal positive feedback from parents and teachers. This might be my most successful venture to date in the library. My next focus will be collaborating with teachers to devise cross-curricular lessons that utilize the coding knowledge students obtain in library class. Sure, the library is still a place to find, read and love books but it’s also becoming the tech learning center on our campus. When visitors enter our school one of the first things they see is the sign on our library doors that reads #READ WRITE CODE.