The art and pain of teaching JavaScript

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    7 Favorites

    The art and pain of teaching JavaScript - Presentation Transcript

    1. The art and pain of teaching JavaScript Christian Heilmann | http://wait-till-i.com | http://twitter.com/codepo8 <head> 2008
    2. Both teaching and learning JavaScript is tough.
    3. Probably the main issue with it is how to get people interested in learning it.
    4. JavaScript information has become a commodity and there are thousands of ready-made solutions available.
    5. The range of people that want to work with JavaScript is staggering.
    6. Designer Java/Ruby/Python/C++ coder
    7. ... which is fun cause 5 years ago neither of these groups wanted to even touch JavaScript.
    8. Still each of these groups want JavaScript to do different things...
    9. ...and work the same way they are used to working.
    10. And that makes it very hard to teach it.
    11. As someone who wants to get to grips with learning JavaScript you are in the same dilemma.
    12. There are hundreds of tutorials on “Learning JavaScript” online.
    13. How could you define which one is good and which isn’t?
    14. We have to consider several types of people who want to use JavaScript.
    15. Users Implementers Tinkerers Developers
    16. Users simply need a JavaScript solution for a certain task. Users Implementers Tinkerers Developers
    17. All they are looking for is a copy and paste script that does something. Users Implementers Tinkerers Developers
    18. You’ll be most successful if you manage to get this implementation in a format they are used to. Users Implementers Tinkerers Developers
    19. “add this script into a document that also has an element with the ID ‘menu’ to get a sliding menu” Users Implementers Tinkerers Developers
    20. “to add client-side validation of your form simply add the following script and mark mandatory fields with a class called ‘mandatory’.” Users Implementers Tinkerers Developers
    21. Tinkerers want a JavaScript solution that can be slightly modified. Users Implementers Tinkerers Developers
    22. This starts with styling the solution differently and ends at heavier customisation (f.e. label translation) Users Implementers Tinkerers Developers
    23. The easier your solution is to customise, the more tinkerers will be happy with it. Users Implementers Tinkerers Developers
    24. Implementers will use your solution and will need much heavier customisation. Users Implementers Tinkerers Developers
    25. Customisation that will be far beyond what you thought your solution was meant to deliver. Users Implementers Tinkerers Developers
    26. What you’ll need to provide there is a way to build upon and extend your solution. Users Implementers Tinkerers Developers
    27. Developers will see your solution as either a base to build upon, inspiration or something to improve. Users Implementers Tinkerers Developers
    28. They are the most vocal, critical and at the same time a very interesting group to reach. Users Implementers Tinkerers Developers
    29. They are people that want to reach under the hood and play with the cables. Users Implementers Tinkerers Developers
    30. Quo Vadis? http://www.flickr.com/photos/stephmcg/2756340726/
    31. The biggest issue with learning JavaScript is that there are too many old and outdated sources of information on the web.
    32. There are a lot of people who provide amazing and up-to-date information.
    33. However, beginners are not likely to ever find this information.
    34. There aren’t any easy ways out of this situation.
    35. Experts are not very inclined to write beginner material.
    36. And the very nature of the web and the workings of search engines favour older material that has been around for a while.
    37. Rewiring is tough Quo Vadis? http://www.flickr.com/photos/cudmore/31741007/
    38. Some people* are working on ideas to tackle this problem. * http://www.thecssdiv.co.uk/2008/09/30/barcamplondon5-slides/
    39. Let’s however now concentrate on building new materials in a way that counteracts attrition.
    40. The first trick is to document what we do more.
    41. “People learn by looking at the source code”
    42. This is how we learnt, yes, but that was because of the lack of good resources.
    43. Looking at source code and copying means we know the how but never the why.
    44. Therefore it might be a good plan to marry code and documentation.
    45. That way code updates mean tutorial updates. http://icant.co.uk/sandbox/tutorialbuilder/ http://jsdoc.sourceforge.net/ http://www.naturaldocs.org/
    46. In terms of code solutions users of our code should never be forced to go in the source and change it to their needs.
    47. Widgets should be easily skinable.
    48. There should be configuration objects for everything that is likely to change.
    49. In order to support implementers we should consider APIs and plugin systems for our solutions.
    50. http://developer.yahoo.com/yui/editor/
    51. Yes, this will make our solutions to be more work and probably make them a bit more bulky.
    52. But it will ensure that we can control the quality even in the future.
    53. Another idea is to consider an update script for widgets and tutorials that flags outdated local installs.
    54. First and foremost all of this needs a change in how we approach delivering JS information.
    55. It shouldn’t be about the quick win and the applause for being the first.
    56. It should be about releasing products that people can use without needing to know what we know.
    57. It should be about releasing without expecting or forcing the users to alter what they don’t understand.
    58. Basically, it should be about not being elitist...
    59. ...and realising that what we had to go through to get where we are now shouldn’t be needed any longer.
    60. Instead we should try to liberate people to be creative in new ways that we consider impossible because of our experience.
    61. Or in other words...
    62. OMG! Technology!
    63. Should turn into...
    64. Sharing the joy! http://www.flickr.com/photos/ptg/2954729291/
    65. Thanks!

    + Christian HeilmannChristian Heilmann, 2 years ago

    custom

    3785 views, 7 favs, 2 embeds more stats

    My slides for the head conference 2008 explaining h more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 3785
      • 3714 on SlideShare
      • 71 from embeds
    • Comments 0
    • Favorites 7
    • Downloads 59
    Most viewed embeds
    • 62 views on http://www.wait-till-i.com
    • 9 views on http://icant.co.uk

    more

    All embeds
    • 62 views on http://www.wait-till-i.com
    • 9 views on http://icant.co.uk

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories