Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Bohyun Kim (@bohyunkim)
Associate Director, LibraryApplications and Knowledge Systems
University of Maryland, Baltimore HS...
LearningHow toCode isPopular Now!
http://www.codecademy.com/
http://blogs.kqed.org/mindshift/2012/09/should-kids-learn-to-code-in-
grade-school/
http://www.nydailynews.com/life-style/coding-camps-
kids-rise-popularity-article-1.1383074
http://www.pbs.org/mediashift/2015/01/why-journalism-students-
need-a-baseline-understanding-of-coding
https://www.quora.com/Should-I-learn-how-to-code-if-I-plan-
on-being-a-full-time-real-estate-investor?share=1
https://docs.google.com/spreadsheets/d/1Obzf_n7vkB-WwVXMH1XzouTSGwX89Glq2_WbhECDUQs/pubhtml#
http://organizedscientist.blogspot.com/2014/09/learning-to-code-how-learning-to.html
http://www.bbc.com/news/technology-16440126
http://code.org/about
http://techcrunch.com/2014/12/08/barack-obama-becomes-the-first-president-to-write-code/
DiverseGroupsofPeopleLearningHowto
Code
• Kids
• Journalists
• Real-estate investors
• Academics in digital humanities (li...
http://www.ala.org/lita/about/igs/codeyear/jnt-lcy
http://wiki.code4lib.org/index.php/2014_preconference_proposals
http://www.infodocket.com/2015/01/23/video
-presentations-from-oclcs-developer-house/
http://dp.la/info/2014/10/07/dpla-community-reps-produce-hackathon-planning-guide-now-available/
http://www.atyourlibrary.org/hackathon-your-library
http://showoffyourapps.challengepost.com/
http://www.ncbi.nlm.nih.gov/news/11-26-2014-genomics-hackathon/
http://www.hackinghealth.ca/about/faq/
4ThemesforToday
1) Why learn how to code?
2) What does coding, scripting, programming exactly mean?
3) What is it like to ...
(1)WhyLearnHow toCode?
• Dress up or dynamic webpages
• Website redesign
• LibGuide customization
• How to use CMS
• Mobil...
WhatYouCan Do withCoding
• Write plug-ins
• LibX, Zotero, etc.
• Full-blown programs
• http://showoffyourapps.challengepos...
https://osc.hul.harvard.edu/liblab/projects
http://www.nypl.org/collections/labs
OrJustforFun!
http://scratch.mit.edu/projects/4
8382460/
Scratch:
http://scratch.mit.edu/
ItWillBeMagical!
Really!?
It’sCalleda Languagefora Reason
• Syntax: It has its own quirks.
• Core concepts:
• Variable
• Constant
• Array
• Loop
• F...
Funky
andforeign-looking
• var a = ["do", "re", "mi", "fa"];
var len = a.length;
for (var i = 0; i < len; i++) {
console.l...
Techinical≠Programming
• XML
• Bootstrap
• PHP
• API
• R
• HTML5
• JavaScript
• Python
• ColdFusion
• Node
• MashUp
• RoR
...
(2)WhatIs Programming?
• What do you and others mean when they say “coding,”
“scripting,” or “programming”?
• Programming ...
Markup Language
http://www.w3schools.com/css/tryit.asp?filename=trycss_list-style-type_ex
Markup Language
• JavaScript
• PHP
• PHP
• Python
Programming
Language
• var a = ["do", "re", "mi", "fa"];
var len = a.length;
for (var i ...
Programmingenablesthedynamic
manipulation/transformationof input
througha controlstructure.
IsCoding Programming?
• The distinction between these two can be murky.
• Usually the term, ‘coding,’ is used to include t...
MyTinyPythonScript
“Building a Faculty Publications Database” at LITA Forum 2014
http://www.slideshare.net/bohyunkim/building-a-faculty-publi...
example1._florida.html
“Quick & Easy DataVisualization with GoogleVisualization API + Google Chart Libraries” – Code4Lib 2...
http://www.slideshare.net/bohyunkim/quick-easy-data-visualization-with-google-
visualization-api-google-chart-libraries
Multiplecharts
example2_chartdraw.html
Adapted from:Traci L. Ruthkoski,
GoogleVisualization API Essentials,
Packt, 2013.
https://github.c...
ExampleCode
• “Query a Google Spreadsheet like a Database with Google
Visualization API Query Language”
http://www.bohyunk...
Automate;SavingTime
http://htmlpreview.github.io/?https://github.com/bohyunkim/examples/blob/master/link.html
https://github.com/bohyunkim/examples/blob/master/link.html
https://github.com/themattharris/tmhOAut
hExamples/blob/master/tmhOAuthExampl
e.php
MyThoughtsonCoding
• Not everyone, every child, or every librarian needs to learn
how to code.
• Learning how to code does...
• Variable
• Array
• Loop
• Function
• Objet
• Class
• …..
http://cheezburger.com/6240227584
(3)Whatis itliketoteachoneself
howtocode?
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
(4)ResourcesandTips
LotsofResources
• Many resources online – discussions, tutorials, books…
• W3SchoolsTutorials
• Tuts+
• MOOC
• Codecademy ...
It IsHard…
• Syntax will throw you off.
• More time will be spent on debugging than code writing.
• A slow learning curve....
Practice!
http://www.instructables.com/id/Rubber-
Band-PencilPen-Holder/
Tips
• Don’t be discouraged or frustrated.
You are teaching yourself a language.
• Be persistent and realistic.
• Set smal...
MoreResources
• See the resources section in my previous presentation at the
2012 Charleston conference,
“Geek out:Adding ...
Imagecredits
• https://www.flickr.com/photos/skene/3874882162
(Title slide; CC License)
• https://www.flickr.com/photos/jd...
Questions?
Twitter @bohyunkim (#seacode)
Website/Blog http://bohyunkim.net
Slides: http://slideshare.net/bohyunkim
Github:...
Getting Started with Coding
Getting Started with Coding
Getting Started with Coding
Getting Started with Coding
Getting Started with Coding
Getting Started with Coding
Getting Started with Coding
Getting Started with Coding
Getting Started with Coding
Upcoming SlideShare
Loading in …5
×

Getting Started with Coding

1,366 views

Published on

NN/LM SEA Webinar given on Feb. 18, 2015. Webinar recording at https://webmeeting.nih.gov/p10ie23n7q1/ & Webinar details at: http://nnlm.gov/sea/newsletter/2015/01/beyond-the-sea-webinar-february-18-2015-get-started-with-coding/

Published in: Technology
  • Be the first to comment

Getting Started with Coding

  1. 1. Bohyun Kim (@bohyunkim) Associate Director, LibraryApplications and Knowledge Systems University of Maryland, Baltimore HS/HSL http://bohyunkim.net/blog Slides: http://www.slideshare.net/bohyunkim/getting-started-with-coding NN/LM SEA Webinar | Feb. 18, 2015 | #seacode
  2. 2. LearningHow toCode isPopular Now! http://www.codecademy.com/
  3. 3. http://blogs.kqed.org/mindshift/2012/09/should-kids-learn-to-code-in- grade-school/
  4. 4. http://www.nydailynews.com/life-style/coding-camps- kids-rise-popularity-article-1.1383074
  5. 5. http://www.pbs.org/mediashift/2015/01/why-journalism-students- need-a-baseline-understanding-of-coding
  6. 6. https://www.quora.com/Should-I-learn-how-to-code-if-I-plan- on-being-a-full-time-real-estate-investor?share=1
  7. 7. https://docs.google.com/spreadsheets/d/1Obzf_n7vkB-WwVXMH1XzouTSGwX89Glq2_WbhECDUQs/pubhtml#
  8. 8. http://organizedscientist.blogspot.com/2014/09/learning-to-code-how-learning-to.html
  9. 9. http://www.bbc.com/news/technology-16440126
  10. 10. http://code.org/about
  11. 11. http://techcrunch.com/2014/12/08/barack-obama-becomes-the-first-president-to-write-code/
  12. 12. DiverseGroupsofPeopleLearningHowto Code • Kids • Journalists • Real-estate investors • Academics in digital humanities (literature, history, classical studies/philology) • Scientists • Politicians • Librarians
  13. 13. http://www.ala.org/lita/about/igs/codeyear/jnt-lcy
  14. 14. http://wiki.code4lib.org/index.php/2014_preconference_proposals
  15. 15. http://www.infodocket.com/2015/01/23/video -presentations-from-oclcs-developer-house/
  16. 16. http://dp.la/info/2014/10/07/dpla-community-reps-produce-hackathon-planning-guide-now-available/
  17. 17. http://www.atyourlibrary.org/hackathon-your-library
  18. 18. http://showoffyourapps.challengepost.com/
  19. 19. http://www.ncbi.nlm.nih.gov/news/11-26-2014-genomics-hackathon/
  20. 20. http://www.hackinghealth.ca/about/faq/
  21. 21. 4ThemesforToday 1) Why learn how to code? 2) What does coding, scripting, programming exactly mean? 3) What is it like to teach oneself how to code? 4) Tips and resources
  22. 22. (1)WhyLearnHow toCode? • Dress up or dynamic webpages • Website redesign • LibGuide customization • How to use CMS • Mobile-friendly/responsive library website • Customize/Add features to library systems • Example:GVSU Library Lab (https://gvsulib.github.io/) • Data processing in batch; automation
  23. 23. WhatYouCan Do withCoding • Write plug-ins • LibX, Zotero, etc. • Full-blown programs • http://showoffyourapps.challengepost.com/ • http://librarylab.law.harvard.edu/projects.html • http://www.nypl.org/collections/labs • http://code.library.arizona.edu/gots/ • Relevance to librarianship • Understand better the information systems and everyday software • Improve communication and collaboration with IT
  24. 24. https://osc.hul.harvard.edu/liblab/projects
  25. 25. http://www.nypl.org/collections/labs
  26. 26. OrJustforFun! http://scratch.mit.edu/projects/4 8382460/ Scratch: http://scratch.mit.edu/
  27. 27. ItWillBeMagical! Really!?
  28. 28. It’sCalleda Languagefora Reason • Syntax: It has its own quirks. • Core concepts: • Variable • Constant • Array • Loop • Function • Object • Class • A programming language CANNOT be learned in a day or a month. • Practice: It takes a lot of time to master. • Very cool to see mastery in action.
  29. 29. Funky andforeign-looking • 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 • JavaScript • PHP • PHP • Python
  30. 30. Techinical≠Programming • XML • Bootstrap • PHP • API • R • HTML5 • JavaScript • Python • ColdFusion • Node • MashUp • RoR • CSS • .NET • Regex • XPATH • JavaScript • Drupal • VB • Django • XSLT • RDF • Ruby • SPARQL • CakePHP • MySQL • Apache
  31. 31. (2)WhatIs Programming? • What do you and others mean when they say “coding,” “scripting,” or “programming”? • Programming is NOT knowing how to use a CMS (Wordpress, Drupal) or a certain computer software like Dreamweaver (except IDEs). • Programming is NOT the same as editing 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. • N.B. Markup language vs. Programming language
  32. 32. Markup Language http://www.w3schools.com/css/tryit.asp?filename=trycss_list-style-type_ex
  33. 33. Markup Language
  34. 34. • JavaScript • PHP • PHP • Python Programming Language • 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
  35. 35. Programmingenablesthedynamic manipulation/transformationof input througha controlstructure.
  36. 36. IsCoding Programming? • The distinction between these two can be murky. • Usually the term, ‘coding,’ is used to include the knowledge of a programming knowledge beyond that of a markup language. • http://blogs.jbllanda.com/markup-language-versus-programming- language/ • 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
  37. 37. MyTinyPythonScript
  38. 38. “Building a Faculty Publications Database” at LITA Forum 2014 http://www.slideshare.net/bohyunkim/building-a-faculty-publications-database
  39. 39. example1._florida.html “Quick & Easy DataVisualization with GoogleVisualization API + Google Chart Libraries” – Code4Lib 2014 Conference, http://www.slideshare.net/bohyunkim/quick-easy-data-visualization-with-google-visualization-api-google-chart-libraries
  40. 40. http://www.slideshare.net/bohyunkim/quick-easy-data-visualization-with-google- visualization-api-google-chart-libraries
  41. 41. Multiplecharts
  42. 42. example2_chartdraw.html Adapted from:Traci L. Ruthkoski, GoogleVisualization API Essentials, Packt, 2013. https://github.com/bohyunkim/examples
  43. 43. ExampleCode • “Query a Google Spreadsheet like a Database with Google Visualization API Query Language” http://www.bohyunkim.net/blog/archives/2831 (Source code: https://github.com/bohyunkim/examples ) • “Playing with JavaScript and JQuery – the Ebook link HTML string generator and the EZproxy bookmarklet generator” http://acrl.ala.org/techconnect/?p=3098 • http://htmlpreview.github.io/?https://github.com/bohyunkim/exam ples/blob/master/link.html • http://htmlpreview.github.io/?https://github.com/bohyunkim/exam ples/blob/master/ezproxy_bookmarklet_generator.html • Source code: https://github.com/bohyunkim/examples/blob/master/link.html
  44. 44. Automate;SavingTime http://htmlpreview.github.io/?https://github.com/bohyunkim/examples/blob/master/link.html
  45. 45. https://github.com/bohyunkim/examples/blob/master/link.html
  46. 46. https://github.com/themattharris/tmhOAut hExamples/blob/master/tmhOAuthExampl e.php
  47. 47. MyThoughtsonCoding • Not everyone, every child, or every librarian needs to learn how to code. • Learning how to code does not have to result in you becoming an expert or full-time coder. • Identify your goal in learning how to code. • Understanding how computer code works will help you navigate everyday information landscape. • You will understand better how software and systems are built, function, and maintained.
  48. 48. • Variable • Array • Loop • Function • Objet • Class • ….. http://cheezburger.com/6240227584
  49. 49. (3)Whatis itliketoteachoneself howtocode?
  50. 50. http://www.vikingcodeschool.com/posts/why-learning-to-code-is-so-damn-hard
  51. 51. http://www.vikingcodeschool.com/posts/why-learning-to-code-is-so-damn-hard
  52. 52. (4)ResourcesandTips
  53. 53. LotsofResources • Many resources online – discussions, tutorials, books… • W3SchoolsTutorials • Tuts+ • MOOC • Codecademy / CodeYear • Lynda.com;Treehouse; Code School • Pick One and ACTUALLY DOING IT • Code4Lib listserv/IRC/journal/conference • LibTechWomen (http://libtechwomen.org/) • Library CodeYear Interest Group – ALA (LITA/ALCTS)
  54. 54. It IsHard… • Syntax will throw you off. • More time will be spent on debugging than code writing. • A slow learning curve. • Not enough time to dedicate to intensive learning. • Not always a clear connection with your library work. • Life intervenes. • Coding is more BORING than exciting.
  55. 55. Practice!
  56. 56. http://www.instructables.com/id/Rubber- Band-PencilPen-Holder/
  57. 57. 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.
  58. 58. MoreResources • See the resources section in my previous presentation at the 2012 Charleston conference, “Geek out:Adding Coding Skills toYour Professional Repertoire” - Slides athttp://www.slideshare.net/bohyunkim/geek-out-adding- coding-skills-to-your-professional-repertoire • Bohyun Kim and Kathryn Harnish, “Geek out:Adding Coding Skills toYour Professional Repertoire,” inAccentuate the Positive: Charleston Conference Proceedings 2012, edited by Beth R. Bernhardt, Leah H. Hinds, and Katina P.Strauch, Purdue University Press, 2013. (Available as open access: http://docs.lib.purdue.edu/charleston/2012/Tech/8/)
  59. 59. Imagecredits • https://www.flickr.com/photos/skene/3874882162 (Title slide; CC License) • https://www.flickr.com/photos/jdhancock/7082879485 (Slide 27;CC License) • https://www.flickr.com/photos/swolfe/13056042503/ (Slide 61;CC License) • https://www.flickr.com/photos/edwaado/6129247 (Slide 64;CC License)
  60. 60. Questions? Twitter @bohyunkim (#seacode) Website/Blog http://bohyunkim.net Slides: http://slideshare.net/bohyunkim Github: https://github.com/bohyunkim/examples

×