why care about coding?
TRANSCRIPT
CODING FOR LIBRARIANS
PART 1: WHY CARE ABOUT CODING?
Bohyun Kim Associate Director, Health Sciences & Human Services Library
University Of Maryland, Baltimore
Reaching Across Illinois Library System - WebinarTue, May 31, 2016 10:00 Am - 11:00 Am Cdt
WE WILL COVER TODAY:
A. Why care about coding?
B. Why is coding relevant to libraries?
C. What does ‘coding’, ‘scripting’, ‘programming’ exactly mean?
D. What would I use the coding skill for?
E. Tips & Resources
SOME QUESTIONS FOR YOU
• Q1. At what type of library & in what area of the library service do you work?
• Q2. Why are you interested in coding?
• Q3. Do you have any experience with coding, and if so what is it?
• Q4. Have you tried teaching yourself how to code before, and if so what where some of the difficulties?
A. WHY CARE ABOUT CODING?
• An increasing emphasis on coding in the K12 education
• People in many different professions - both academics and professionals -are using the coding skill for their work.
• Code literacy? – Knowing how everyday software does what it does.
• Education – One of the library’s important mission
• More and more people are interested in learning how to code.
• Wider adoption of programming in academia across many different disciplines
http://www.parentherald.com/articles/45853/20160526/why-coding-taught-second-language-primary-school-children-according-apple-ceo-tim-cook.htm
https://code.org/
https://www.edsurge.com/news/2015-03-26-choosing-a-summer-coding-camp
http://www.codecademy.com/
http://www.bbc.com/news/technology-16440126
http://techcrunch.com/2014/12/08/barack-obama-becomes-the-first-president-to-write-code/
http://codeactually.com/
https://www.quora.com/Should-I-learn-how-to-code-if-I-plan-on-being-a-full-time-real-estate-investor?share=1
https://cyber.law.harvard.edu/node/95731
http://mith.umd.edu/
http://software-carpentry.org/
http://medhacks.org/
https://library.nd.edu/hackathon/
B. WHY IS CODING RELEVANT TO LIBRARIES?
• A better understanding of information systems & applications
• Improve communication and collaboration with IT.
• Participate in development projects as a partner rather than a client simply asking for a product
• Being Able to do custom design / development for your library
Knowing how the access to e-resources Is controlled
http://booksandjournals.brillonline.com/content/journals/10.1163/15685284-12341297
http://www.hshsl.umaryland.edu/resources/databases/index.cfm
http://survey.hshsl.umaryland.edu/?url=http://search.ebscohost.com/login.aspx?direct=true&bquery=(introduction+AND+to+AND+biostatistics+AND+sokal)&cli0=LB&clv0=LB+Hea*&type=0&site=eds-live
http://libguides.luc.edu/
https://www.docdel.umaryland.edu http://ares.hshsl.umaryland.edu/
http://search.library.utoronto.ca
http://search.library.utoronto.ca
http://search.library.utoronto.ca
https://www2.hshsl.umaryland.edu/3d/
http://d.lib.ncsu.edu/myhuntlibrary/about
INFO DESK SERVICES STATISTICS THROUGHOUT THE WEEK
WHICH SCHOOL BORROWS MOST ARTICLES THROUGH OUR ILL SERVICE?
E-BOOKS USERS WANT
BUT WE DON’T
HAVE
DATABASES THAT NEED MORE USER
SEATS
C. WHAT DOES ‘CODING’, ‘SCRIPTING’, ‘PROGRAMMING’ EXACTLY MEAN?
• XML
• BOOTSTRAP
• PHP
• API
• R
• HTML5
• JAVASCRIPT
• PYTHON
• Node
• MashUp
• RoR
• CSS
• .NET
• Regex
• XPATH
• C++
• Drupal
• VB
• Django
• XSLT
• RDF
• Ruby
• SPARQL
• CakePHP
• MySQL
• Apache
MARKUP LANGUAGE
http://www.w3schools.com/css/tryit.asp?filename=trycss_list-style-type_ex
WHAT IS PROGRAMMING?
• Markup language vs. Programming language
• Is it knowing how to use a CMS (Wordpress, Drupal) or a certain computer software like Dreamweaver?
• Is it knowing how to edit HTML, CSS, XML? (http://www.cs.tut.fi/~jkorpela/prog.html )
• Programming is knowing and writing the logic for a computer to execute in a programming language that a computer understands.
• JavaScript
• PHP
• PHP
• Python
• var a = ["do", "re", "mi", "fa"];var len = a.length;for (var i = 0; i < len; i++) {
console.log(a[i]);}
• $a = array("do", "re", "mi", "fa");for ($i=0; $i<count($a); $i++){
echo $a[$i]."<br/>";}
• $a = array("do", "re", "mi", "fa");foreach ($a as $i=>$note){
echo $note."<br/>";}
• a = ['do', 're', 'mi', 'fa']for i in a:
print i
PROGRAMMING ENABLES THE DYNAMIC
MANIPULATION/TRANSFORMATION OF THE INPUT.
CODE, SCRIPT, PROGRAM
• Usually the term, ‘coding,’ refers to the knowledge of a programming language, not a markup language. (Web designer vs programmer)
• http://blogs.jbllanda.com/markup-language-versus-programming-language/
• Code and scripts are also generally much smaller than a full-blow program.
• Here, I will use both terms – coding & programming – interchangeably.
• See the difference between scripting vs. programming:
• https://en.wikipedia.org/wiki/Scripting_language
• http://stackoverflow.com/questions/17253545/scripting-language-vs-programming-language
D. WHAT WOULD I USE THE CODING SKILL FOR?
Need to add an empty column in the front for the ID to import the file into a db table.
Excel messes things up.
A Python script takes care of this!
http://stroke.ahajournals.org/content/47/6/1421.full
http://stroke.ahajournals.org/content/47/6/1421.full
Help those users who forget to log in through the library proxy and can’t get to the full-text!
https://login.proxy-hs.researchport.umd.edu/login?qurl=
The library proxy automatically added!
http://stroke.ahajournals.org.proxy-hs.researchport.umd.edu/content/47/6/1421.full
MORE INFO
• Playing with JavaScript and JQuery – the Ebook link HTML string generator and the EZproxy bookmarklet generator http://www.bohyunkim.net/blog/archives/255
WHAT WOULD I USE THE CODING SKILL FOR?
“Building a Faculty Publications Database” presented at LITA Forum 2014http://www.slideshare.net/bohyunkim/building-a-faculty-publications-database
E. TIPS & RESOURCES
Photo from Flickr: https://www.flickr.com/photos/51035800575@N01/94995636/
TIPS
• Don’t be discouraged or frustrated. You are teaching yourself a language.
• Be persistent and realistic.
• Set small goals that solve real-life problems.
• Form or join a study group & find like-minded folks!
• Comment your code and document since you will forget what you have learned and made.
COMMON OBSTACLES
• Coding can be more tedious than exciting.
• Not enough attention to the syntax
• More time will be spent on debugging than code writing!
• A slow learning curve
• Not enough time for intensive learning
• Not always a clear connection with your library work
• Life events
http://www.vikingcodeschool.com/posts/why-learning-to-code-is-so-damn-hard
http://www.vikingcodeschool.com/posts/why-learning-to-code-is-so-damn-hard
RESOURCES
• Many resources online – discussions, tutorials, books…
• W3Schools Tutorials
• Tuts+
• MOOC
• Codecademy / CodeYear
• Lynda.com; Treehouse; Code School
• Pick One and ACTUALLY DOING IT
• Code4Lib listserv/IRC/journal/conference (http://code4lib.org/)
• LibTechWomen (http://libtechwomen.org/)
For the Afternoon Workshop, follow the instructions
in the Set-up Section below:
https://github.com/bohyunkim/examples/tree/master/rails
QUESTIONS?
IT’S JUST SOME CODE!
¯\_(ツ)_/¯