This is the P2PU Archive. If you want the current site, go to www.p2pu.org!
Mozilla and P2PU teamed and created the School of Webcraft, a powerful new way to teach and learn web developer skills. School of Webcraft courses are 100% free, globally accessible, and powered entirely by learners and mentors like you.
P2PU, the home of School of Webcraft is moving to a new platform. Check it out!
On the new site you can sign-up for open study groups and volunteer to help improve those which are under development. If you can't find the study group to suit your needs, you can create your own study group to run within School of Webcraft!

Get involved:
| Course Name | Organiser | Course Status |
|---|---|---|
|
User Experience Design | ENG PT ESPHow to improve human-computer interaction and accessibility using UX and Interaction design principles? Go to the course page SUBSCRIPTIONS ARE CLOSED! THANKS! [EN] Welcome to User Experience Design! This course will be run in English, Portuguese and Spanish simultaneously. Please read the "Sign-up Task" for more information about the selection process. ---- [EN] This course is focused on exploring basic concepts and definitions of User Experience & Interaction design. Discussions and reading recommendations, together with analytical and practical activities will be used as a methodology. Due to the intrinsic multidisciplinary characteristic of the Design field, all kinds of professionals and students are welcomed. Also, as a recommendation of this semester's Webcraft program, some Accessibility concepts will be discussed. [PT] Este curso se orienta a explorar conceitos e definições básicas acerca de Design de Experiência de Usuário e Interação. Discussões e recomendações de leitura, junto a atividades analíticas e práticas serão usadas como metodologia. Devido a característica multidisciplinar intrínseca ao Design, todos os profissionais e estudantes são bem-vindos. Também, por recomendação do programa deste semestre da escola de Webcraft, alguns conceitos de Acessibilidade serão discutidos. [ES] Este curso se orienta a explorar los conceptos básicos y definiciones del diseño de Experiencia de Usuario y de Interacción. Como metodología de aprendizaje se llevarán a cabo debates y recomendaciones de material de lectura, junto a actividades prácticas y analíticas. Debido al carácter multidisciplinar intrínseco del campo de Diseño, son bienvenidos todos los profesionales y estudiantes. A su vez, como recomendación del programa Webcraft de este semestre, se discutirán algunos conceptos de Accesibilidad. |
João Menezes | Completed |
|
Online Maps with OpenLayersHow do free and open maps compete with companies such as Google? Make maps and design geo-mashups with HTML and JavaScript. Go to the course page Online maps are a rapidly growing technology. The unique connection of maps to real world information has given open and crowdsourced maps some advantages over even the best-funded companies. A Map Making and Programming Class Topics * OpenLayers.org, a free and open source JavaScript library, will be used to explore the basics of adding maps to web pages. This experience gives you the know-how to use map APIs from Google, ESRI, Microsoft, or CloudMade (these alternatives will be part of a group discussion) * Applications of maps, including open source solutions for business, disaster response, open government, and the environment, will be discussed. Participants choose a research topic. * A final 'interest project', chosen by the participant, will be a web map which displays real-world data and produces an informative, interactive, artistic, and/or persuasive online experience. |
Nick Doiron | Completed |
|
Drupal Social Web ApplicationLearn to use Drupal to build a social web app that lets users collaborate on projects and ideas. #webcraft #p2pu Go to the course page A thread about Open Hippel was started on Groups.Drupal.org back in April 2010 - http://groups.drupal.org/node/59918#comment-248839 Course summary also on https://wiki.mozilla.org/Drumbeat/p2pu/courses/socialwebdrupal
So far, TEDxTokyo Innovators Hub and K. International School are two of our biggest supporters, and Keio University had made it an official school project, which means students can be credited for working on it! My plan is to open the development of this Open Hippel platform up as a course. We'll have hands on development classes, (we need some Drupal gurus from Acquia to help out on this!) The course work will be documented and with the help of Keio students, translated into Japanese. By the end of the course, the whole "book" will be available online under CC license. In learning, it is far better to have a project that is real and has impact on the real world! Just like Stanford's project on Extreme Affordability products, students are far more engaged when they're working on real world projects. I think Open Hippel can similarly be that engaging project at P2PU. |
Nicholas Wang | Completed |
|
Scripting 101Web Monkeys or command line junkies, join, learn to hack and make a better world! #webcraft #p2pu Go to the course page The KISS Principle of "Keep it Simple, Stupid", is the main intention of the whole scripting world. You could be Web Monkeys or command line junkies, scripting is the most important ingredient. The below is just an outline of the course, which would be covering the major CLI based scripting side of shell, perl, ruby and python
What types of things will the scripts be doing? Everything from simple automation to heavy data crunching, depending on the class, it could start with basics and then go for advance levels say like GUI with scripts. If all in an intermediate level, basics can be skipped. How will knowing these skills make someone a better web developer?
As a web developer it's always better for anyone to know how to deploy his app on an engine, there are many web programming languages available, consider the booming once like Ruby on Rails and Django, if would be easier and more better if the user who is interested to work on those, if he knows the fundamentals of the Ruby or Python or in fact PHP for that matter. About the command line : Yes undoubtedly let it be a MAC user [ after all it's base is Free BSD ] CLI makes things easier but how might be the question, lets take a simple example of regularly updating a git repo and backing up in there server on the common tasks, which can be a piece of cake on the CLI. |
hemanth hm | Completed |
|
Experiencias web con html5No construyas aplicaciones web , crea experiencias web con html5 Go to the course page
Presentacion
material course (works,lectures and code demos)released under CC. : )go inside html5 webcraft.giweb.org pass: p2pu (only in spanish).
La nueva generación de navegadores web trae consigo una gran cantidad de nuevas características que abre las posibilidades del desarrollador y diseñador web. Nuevas propiedades para nuestras hojas de estilos, transiciones css, audio, video , relocalización, sockets , las extraordinarias bases de datos locales, los nuevos motores de javascript, y posibilidades ilimitadas en cuanto a gráficos en nuestro navegador; cambiaran la forma en que interactuamos con la web.
En la época en que vivimos sin limitaciones de ancho de banda y recursos físicos, el front-end de nuestra aplicación a mi parecer y dependiendo el enfoque de nuestra aplicación (para los escépticos), es tan importante como un gran back-end, es decir, las aplicaciones que tanto usamos actualmente tienen una lógica de presentación tan compleja que hace gran parte de la magia. Encaminémonos en este mundo tan interesante donde tendré el honor de guiar a personas enfocadas y con animo de aprender e investigar en nuevas tecnologías para nuestro bien y el de nuestra sociedad. |
dany bautista | Completed |
|
Introduction to PHPAre you ready to take the leap from static pages to dynamic content generation? Go to the course page
"If you threw a dart at a wall filled with the top websites from around the world, chances are excellent you'd hit one using PHP."
This is a quote from a favorite XtraNormal video of mine. And, although I think many would find large chunks of the video to be objectionable, the statement above rings largely true. PHP tends to get picked on from time to time (Ruby on Rails, I'm looking at you), but for all the negative press, PHP has proven itself time and time again for the greater part of the last decade. PHP developers are widely sought after, and some knowledge of PHP is nowdays an essential tool for any aspiring web developer. This course is about programming in PHP. It's about exploring PHP's strengths and its flaws. It's about why PHP has remained remarkably resilient, while many web application frameworks have come and gone in the time it's taken PHP to become and remain a major web scripting language. It's about learning to leverage the tool that is the PHP language, so that you build the website you've been dreaming about. Topics Covered: PHP Programming Fundamentals, Dynamic Webpage Content Generation, Best Practices for PHP Server Programming Target Skills: 1) design and implementation of simple dynamic webpages using PHP, 2) utilization basic PHP programming structures, 3) basic tenets of good PHP application design, and 4) the basic components of PHP web security Course Timeframe: 1) January 26 - April 6 (10 Weeks), 2) 1 one-hour weekly meeting (chat-based) (exact time TBD, based on participant and coordinator availability) 3) the one-hour weekly meeting may or may not include small group assignments (voice conference chat, Skype, when available) (If you do not have a mic or high speed internet connection, do not worry! Your small group will accommodate you!) 4) approximately 1-2 hours of readings and programming assignments scheduled per week |
Matthew Buscemi | Completed |
|
UX: Design para a EducaçãoQueres aprender a desenvolver ambientes de experiência de usuário a serem aplicados a vários sistemas? #webcraft #p2pu Go to the course page O design instrucional é um campo de estudo que está diretamente relacionado às ciências cognitivas e comportamentais. O principal objetivo é maximizar a experiência de ensino-aprendizagem em ambientes especiais. Este curso tem foco em AVAs (ambientes virtuais de aprendizagem). Muitos dos AVAs que temos hoje são apenas sistemas de armazenamento de arquivos ou listas de discussão. Nossa missão então é desenvolver interfaces, baseadas em conceitos de Ergonomia e Estética, que são fáceis de usar, visualmente atrativas e que motivam os usuários (não apenas estudantes, mas professores também) a participar de uma maneira ativa, e não passiva. O curso inicia com uma introdução do Infodesign, Design focado no ser humano e Princípios de Gestalt e Cognitivismo, para que cada solução proposta possa ter bases comprovadas. Antes de efetivamente propor soluções para diferentes cenários de aprendizagem, alguns exercícios baseados em Personas serão feitos, para que o designer possa se colocar no lugar do usuário. Depois de conhecer o público-alvo, exercícios em grupo acontecerão ao redor de algumas questões específicas: como o design instrucional pode fazer com que a interação entre alunos, professores e colegas lembre aquela que eles tem em metodologias convencionais? Como os princípios básicos da Gestalt e ciências cognitivas podem formar caminhos mais fáceis? Como trabalhar com padrões abertos de internet e acessibilidade? Como explorar conteúdo multimídia? O curso termina com conceitos livres transformados em mock-ups ou protótipos, que são analizados rigorosamente por ferramentas de design thinking. O estudante que frequentar este curso poderá desenvolver ambientes de experiência de usuário a serem aplicados a vários sistemas. |
João Menezes | Completed |
|
Introduction to DrupalThis is a pilot test of a Self-study Course: Introduction to Drupal. Admissions are closed for the testing phase. Go to the course page Summary: Free 6 week self-study course to learn about Drupal. Week- by-week emails to help motivate you and organize your learning experience. Think of it as a book-club for free learning materials about Drupal. Acknowledgements What is this course about? Problem: What is Drupal? What can it do? Drupal is peculiar, the features which make it powerful and different from other systems, also make it difficult to grasp. There are excellent resources out there, but a novice user can get google-itis from searching through material which isn’t at the right level, shows out dated practices, or is not up to date. This course will be a self-study introduction to take people on a rolling basis through the course. How it works: Each week, you login to the site which contains 2-3 hours of selected self-study videos, tutorials and materials to work through. You will also get access to a recorded webinar* discuss the materials. Login to P2PU.org to discuss each weeks materials with fellow students. Acquia partner Web Enabled are offering a push-button hosting environment as an option for new users to learn on and try out some advanced features of Drupal. * The first time it is run, a LIVE webinar is held so guest guides can answer learner questions- “What kinds of problems and questions did they find?” to talk about that weeks learning materials. These are recorded, and when students work through the course later, they watch the recorded webinars. Each week:
|
Heather James | Completed |
|
Designing For CommunitiesDesign Thinking When Designing Online Communities Go to the course page Are you a Web developper, a Business man, a Designer, a Project Manager and are currently working on an Online Community? Are you building/thinking people's interactions, understanding what to do when users are misbehaving and need advice and guidelines? This course is for you. It will help you adopt some basic design thinking to help you understand the structure of a community, the basic interactions between people, and the dynamic and tips for how to increase length of stay and other activities that could help sustain the community. We will cover the basic understanding of communities using metaphors with the real world and offline communities. Draw some conclusions, prepare a set of questions to ask ourselves before building an online community. Setting people's goals, rewards and motivation. Setting business goals clearly. Setting branding goals. You will walk out of this course with a guide you will have built yourself that will help you doing a great job. |
celine semaan vernon | Completed |
|
jQuery - The fundamentalsA beginners course on jQuery, with a look at AJAX and plugin development. Go to the course page This course has been recreated at the new P2PU site.
You will be able to follow this group.
http://new.p2pu.org/en/groups/jquery-the-fundamentals/ jQuery is fast becoming a must-have skill for front-end developers and for those who have decided to learn the language but have found the jargon to confusing....then this course is for you. The purpose of this course is to provide an overview of the jQuery library and to explain the fundamentals in an easy and understandable way possible. And to offer real world projects to get your teeth stuck into. When you're done with the course, you should be able to complete basic tasks using jQuery, and have a solid basis from which to continue your learning.The best way to learn is by doing, so this course will be very much hands on. We are going to be following along with Rebecca Murphy's jQuery Fundamentals online book and using the offline learning kit supplied by Addy Osmani. And in edition i will be using my own tutorials and towards the end of the course we will be visiting some of my favourite tutorials, which will be fun and should snap everything into place. I will say that even though i know jQuery, i am no way an expert so i will also be learning as we go. |
neil pearce | Completed |
|
Web 200: Anatomy of a RequestWhat happens when you click go in the browser? Find out in "Web 200: Anatomy of a Request" at #p2pu. http://bit.ly/c4AYU4 Go to the course page In this six week course we'll do a deep dive into what happens when you click go in your browser. That's the entire focus of the course. Participants will be given reading assignments and videos to watch in advance of weekly synchronous meetings. In the meetings we'll answer questions and discuss the way things work. The most fundamental concept in this course is that the web is abstracted into layers, we're going to learn how and why. |
John Britton | Completed |
|
Reading CodeGet comfortable reading other peoples' code, from big open source projects to small standalone apps. #p2pu #webcraft Go to the course page In the Open Web world, we are often working with other peoples' code. Reading code helps to us to appreciate that there's no magic black box around "other peoples' code"; that it all comes down to logic; that every program has errors; and that sometimes reading the code is the best documentation. This course will remind us that there is no magic-- only logic. We will dive into the mini universes of open source projects and learn techniques for getting oriented in projects large and small, debugging, stack traces, and simply getting comfortable reading code.
Each week we will plan to cover one open source project. During the week, participants will read specific code sections on their own, and there will be an ongoing chat room, (possibly with people signing up to be present during specific hours) to support discussions and questions outside of class time. Coursework will involve contributing to the public online documentation for each of these projects.
We will try to cover a variety of project types and languages (javascript, php, python, ruby), and for each project and/or language, information about tools for reading, debugging or understanding the relevant "stack" will be introduced. During the weekly course meetings, a different person will lead each session and together we will go over the section of code assigned for that week, discussing our understanding of what is happening, techniques employed, and areas we found difficult to understand. At the end of the in-virtual-person session, the next week's subject matter will be introduced. Initial list of proposed projects (balancing languages, familiar/popular frameworks, newness (older and cruftier or well developed vs new code))-- this list will be refined with course participants based on experience and interest as appropriate:
Language/framework inspection and debugging tools
What you can Expect to Learn
What you Might Learn if you Work Hard
Thing we won't Cover
|
Jessy Cowan-Sharp | Completed |
|
Introduction to Contributing to LernantaLearn how to contribute to the open source project that powers the new #P2PU. #opensource #python #django Go to the course page This is an introduction to contributing to the open source platform that P2PU runs on: Lernanta. Lernanta is based on (also referred to as a fork of) Mozilla's Batucada project and is a Python/Django web application whose code is on GitHub. We'll walk through the whole process together from getting the code, running it locally, finding a bug to fix, fixing the bug, and contributing the fix to the Lernanta project. This activity will be occuring on the new P2PU site: http://new.p2pu.org/en/groups/introduction-to-contributing-to-lernata/ Please sign up or follow there! |
Jessica Ledbetter | Completed |
|
Dive into PythonThis course closely follows Mark Pilgrim's "Dive into Python" book, and is designed for experienced programmers. Go to the course page This course is based on the book Dive into Python by Mark Pilgrim and is freely available. You can either choose to download the .zip file containing the .pdf and associated files, or you can read the book online. Please note for non-native speakers of English that the book may have been translated into your native language. Dive into Python is meeting on the forums only. |
M. Volz | Completed |
|
jQuery ~ For the Love of DollarIntermediate Level Course Covering jQuery API, Open Source Tools and jQuery Community Resources Go to the course page jQuery is a cross-browser JavaScript library that simplifies client-side scripting of HTML (HyperText Markup Language) pages using CSS (Cascading Style Sheets) based selectors to select, style and manipulate page elements. jQuery additionally offers superb support for DOM traversal, event handling, visual effects, animation, AJAX (Asynchronous JavaScript and XML) and much more. With a vibrant community for support, jQuery also has an enormous plugin repository for added functionality and a fantastic user interface library of widgets which can be simply inserted into your web page and easily configured. This course will use Rebecca Murphey's open source ebook "jQuery Fundamentals" [1] and Ben Nadel's video series entitled "An Intensive Exploration of jQuery" [2] as our primary learning resources. For examples, demos and assignments we will use collaborative tools such as jsfiddle [3] and FireFox browser add-ons such as FireBug [4] and FireBug extensions [5]. Rather than extensively covering every aspect of the jQuery API and plugins, the course will have a emphasis on learning jQuery in a participatory environment using jQuery community resources and free tools such as jsfiddle and FireBug. Although the majority of the course communications will take place through group email, we will attempt to use a conferencing tool such as TalkShoe [6] (participate via dial in or client software) to hold a few live conferences. [1] jQuery Fundamentals by Rebecca Murphey [2] An Intensive Exploration Of jQuery by Ben Nadel [3] jsFiddle by Piotr Zalewa [5] Firebug Extensions [6] TalkShoe |
Dan Diebolt | Completed |