Drumbeat/p2pu/courses/mashing up the open web
From MozillaWiki
Contents
Mashing Up the Open Web
An introduction to open web standards. HTML, CSS, JavaScript (and more?) through project based learning. This course is not for complete novices, some web experience is required. Participants will work on a self defined project that leverages open datasets and web services to create a mashup that is useful to their target audience. The participants will engage in weekly real time meetings (irc, voice, or other) as well as ongoing asynchronous communication. The role of the organizer will be to guide participants in selecting a feasible project and assisting the 'just in time' learning experience associated with technology discovery.
What you should know
- Basic HTML
- Why: We're going to be making web mashups, its essential.
- How: You can place elements on a basic webpage.
- Basic CSS
- Why: You want you're mashup to look pretty, right?
- How: You can style various elements in your basic web pages.
- Basic JavaScript
- Why: It'll be handy to be able to manipulate your web pages in the browser.
- How: You know what the DOM is and how to modify it.
What you can expect to learn
- Release Early, Release Often
- Why: It's important to share your code.
- How: Your project will be published on a freely available code repository
- Open Source Licenses
- Why: You need to know your rights and how to avoid liabilities.
- How: You will have code licensed under a particular open license, and can articulate the terms and why you chose that particular license.
- Version Control Systems
- Why: When you collaborate with many geographically disperse developers it's important to track changes and be able to go back.
- How: You will store your code in a git or svn repository that is publicly hosted.
- Philosophies of Open / Free Software
- Why: People choose to be open for a reason, learn about their motives.
- How: You will understand what it means to be open and can articulate why you believe open is The Way.
- Open Datasets
- Why: The data you mash up must come from somewhere
- How: Your mashup will have data from at least two sources.
- Data Visualization
- Why: Once you've got all that data, you have to make it look good.
- How: At the end of the course you will have a live mashup that you can display.
What you might learn if you work hard
- jQuery or similar JS Framework
- Why: jQuery makes JavaScript easier to read and more maintainable.
- How: Advanced participants really keen on learning you will develop your mashup using jQuery or a similar framework.
- Server side scripting (PHP, Ruby, Python, etc)
- Why: It's often faster and cleaner to do data manipulations on the server rather than the client.
- How: Advanced participants really keen on learning may build web services that others can consume.
Things we won't cover
- Flash
- Why: Flash is proprietary, we're mashing up the _open_ web.
- Browser Plugins
- Why: Although client side mashups are possible with browser plugins, they are well beyond the scope of this course.