Why Care About Coding?

Preview:

Citation preview

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!

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!

¯\_(ツ)_/¯

Recommended