Technology for Teachers


Published on

This is a deck to help teachers learn some web technology concepts at a show about social technology tools in education.

Published in: Education, Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Technology for Teachers

  1. 1. Technology for Teachers By Ed Lyons Social Technology in Education Conference 8 / 14 / 2009
  2. 2. Agenda How much technology should teachers know? The Internet: Clients and Servers Operating Systems: Windows, UNIX, Linux Applications: Platforms and Languages All About Open Source Browsers and Extensions The Tech Behind “Web 2.0”: Services, APIs, Mashups, OpenID, OAuth, AJAX, DHTML, Flex
  3. 3. About this material The point of this presentation is to help teachers understand important concepts. This content is not meant to be a comprehensive treatment of the topics. Some things will be simplified to the point that computer scientists would find the explanations lacking or even inaccurate. In addition, the author of this presentation has strong opinions about these topics, which will color the content.
  4. 4. How much tech should teachers know? Technology is very complicated. However, if teachers want to experiment with social tech, it would help to know some basics. What has changed recently is that more can be accomplished with a small amount of knowledge than ever before. The right kinds of knowledge will allow a teacher to deploy web tech without IT help!
  5. 5. The Internet: Clients and Servers Every machine on the Internet is identified by a four-number code, such as Computers have “ports” to direct traffic inside it (kind of like apartment numbers for a building) If you don’t specify a port (in web usage) it assumes you mean port 80. There is also a system of names for most of those machines to help people remember them:, etc.
  6. 6. The Internet: Clients and Servers Computers can play two roles: they can either be “servers” (where they provide info) or “clients,” where they ask for information. If you want to set up something for people to use, you’ll need a “server.” That used to mean you’d need to buy/borrow a physical machine to sit somewhere near you. Now, you can rent powerful machines in just minutes for very little money.
  7. 7. Why all this matters: With no technical knowledge, you can go to a site, spend $10, and you will have your own rented server at an address like: You can then get a name: visit a site, buy it ($10) and then type into a form. (20 mins total) When someone says “Try this experimental site:” you’ll know: that’s a server he uses where he didn’t buy a name and he’s not using port 80 because he isn’t the owner of that machine (port 80 can only be used by server owners)
  8. 8. Operating Systems The operating system is the software that connects applications with the hardware. For our purposes, there are two kinds of operating systems: free and commercial. Examples of commercial: Windows, Macintosh Examples of free: UNIX (BSD, OpenSolaris) and Linux (Ubuntu, Fedora, CentOS) Most of you use Windows every day. All of you that have Tivo also use Linux every day.
  9. 9. Operating Systems Virtually all rentable servers use the free operating systems. (Cheap ones are all free) Unless you have an application that must run on a paid system, there is no point in using that on a server. (Which is why Facebook, Twitter, et al all use the free ones) Ultimately, what operating system you use should have no impact on your application. However, if you are going to be doing administration on a server, you need to have someone who can handle using that system.
  10. 10. Applications: Platforms When someone wants to create a web application, they need to decide what components they will use. Techies call this “the stack”. Someone once asked me, “What’s the stack for the BPS site?” (Answer: OpenSolaris, MySQL, Apache, PHP, Drupal) Many web applications use a version of the LAMP stack: Linux, Apache, MySQL, PHP This matters when you have an application and need a server. The server must support the stack your application needs.
  11. 11. Applications: Languages Java, C#, C++, VB, JavaScript, Perl, Python, Ruby, PHP, Erlang, Lisp, and hundreds more! Two categories: general-purpose (Java, C#) and “scripting” (PHP, Ruby, PHP, Python). Most new “Web 2.0” apps use the latter. Twitter uses Ruby; Facebook, Elgg, Wikipedia use PHP. It is faster and easier to use the scripting languages to develop web apps. If you want to change an app, you need someone who knows that language.
  12. 12. About Open Source One of the most important things to understand is the free software movement, which is a copyright reform project that started 20 years ago. Basically, many thousands of volunteers have created a “public commons” for software, letting anyone use this software without charge. It has dramatically changed the software world and is one of the most important collaborative efforts ever!
  13. 13. About Open Source There are lots of kinds of free software licenses: some require you to give changes back to the community, others do not. Commercial firms have spread fear for years about the “dangers” of these licenses. After 20 years, there is no reason to be afraid. Because these public domain projects can accept small contributions from all over the world, there is a great deal of innovation going on within them.
  14. 14. About Open Source Designating an application “open source” (like Elgg) means that anyone can use it, and, if it is a certain type of license (GPL) people must give back any changes they make. This has an interesting effect on business models, who decides to use it, and how users perceive that application.
  15. 15. About Open Source Open Source is often favored by government and civic-minded organizations because it is: Free Trustworthy (anyone can audit the code) Able to be modified in any way. You are not beholden to a for-profit company that may not share your values.
  16. 16. Browsers and Extensions For the most part, internet browsers all do the same thing: render web pages and host small applications. Like operating systems, there are free and non-free browsers. Free: Firefox, Chrome Non-free: Internet Explorer, Safari
  17. 17. Does it matter what I use? Probably not, but.... Internet Explorer has been the least innovative, most insecure browser for years. Firefox has hundreds of useful extensions that modify how it works and what it does. It is good for the health of the technology ecosystem to use a browser that meaningfully supports industry standards, 70 languages, and an open web. Only Firefox does that.
  18. 18. Tech of Web 2.0 Services, APIs, Mashups One of the things that had made the web very dynamic is the creation and consumption of publicly-available services. A service is a feed of data that takes input parameters, and provides a data set as a response. (In the earlier days of the web, servers only rendered pages of data with formatting, content, images together) Data format examples: RSS, ATOM, JSON
  19. 19. Tech of Web 2.0 Services, APIs, Mashups An API (Application Programming Interface) is just the set of services that a an app offers to get data in and out, or change what it does. APIs aren’t necessarily web-related. Lately, people have published services that anyone can use. When these services are consumed and combined into a new web application, that’s called a “mashup” Important: services are usually consumed by machines. (People use web browsers.)
  20. 20. Tech of Web 2.0 Services, APIs, Mashups So, you can now say cool things like: “We could just take the list of classes we offer, expose it as a service using JSON, and let people do whatever they want with it.” “People can post their photos of the event to Flickr using the tag we choose, and we could use their API to pull the pictures from there!” “We could just use the OAuth service in Twitter to let students automatically create accounts in our network.”
  21. 21. Tech of Web 2.0 OpenID, OAuth • OpenID is a mechanism that let’s you have one username on lots of websites. You can then designate a site where you enter the same password for everything. The key is that your single password lives on that server, and you can use it anywhere. Many sites support this. • OAuth is different, but very useful. It is a way that someone can grant their account information to someone else in a very limited way, without giving that site your password.
  22. 22. Tech of Web 2.0 AJAX, DHTML, Flex • AJAX is a way that the web page you’re looking at can talk to a server to get/receive data without you doing anything. • Dynamic HTML (DHTML) is a way to provide visual special effects on your web page. • Flex is the name of the component framework from the Flash people - known more for showing movies and animations on sites. Flex sites feel less like a web page of text and more like a movie or desktop application.
  23. 23. Summary The web is a network where client machines find server machines using their addresses and ports to access the applications that live on certain operating systems and use particular stacks (that are almost always open source these days) that make data available either as web pages for browsers or services for programs living on other servers. Perhaps that service might even get used by some PHP developer who, wanting to create an app on an OpenSolaris server he rented, will combine that with three other public services to create a mashup that uses AJAX and DHTML (because he never learned Flex) for real-time updates, and lets people create accounts on his site using OpenID, and uses OAuth to pick up their Twitter profile photo and use it there.