The situation
- School of Webcraft needs courses that provide learners with practical ways to learn web development.
- Learners need ways of getting development experience.
- There are loads of great open web projects which need contributors, Drumbeat alone gives us access to three suitable projects (Popcorn.js (and Web Made Movies), Universal Subtitles and Batacuda.
The Solution
School of Webcraft partners with open web projects to teach learners about open source project participation and increases the contributors for said projects.
What these courses can offer
- A supported orientation to the world of open standards web development in a participatory, open source environment.
- Access to information about coding standards, technical communication, quality assurance, FLOSS communities.
Timeline
January 10th -
- Courses open for application
- course organisers orientation begins
January 25th
What We (SoW) need from you before January 8th (courses set to open and applications for participation begin)
- a course name: eg Batacuda Orientation / Mentoring
- a description of your OS project
- an outline of the technologies that participants would use
- expected time commitment from participants (eg. 5 hours)
- course participant number you're happy to mentor(eg. 25)
- desired skill level of participants
- a sign-up task used to determine participant motivation
- feedback on the [rough] course plan below
Course Communication
Weekly community calls for the first three weeks
Invite participants to listen in on any other project community calls
Mailing list specific to course eg. UniversalSubsOrientation
SIGN-UP TASKS
Sign-up tasks should determine participants' capability at the technologies used in your project. These courses should focus on giving participants practical knowledge about web development, not provide them with basic skills.
In order for these courses to run smoothly, the target audience should be intermediate to advanced developers who are already comfortable at setting up the basic development environment for the languages in question.
Proposed Course Outline
Week One
- Setting up your development environment for this project
- Community guidelines, communication methods (mailing list, bug tracker, wiki), decision making, coding standards, visual style guides
- Readings from Introduction to Free Software (Free Technology Academy)
- weekly activity: get dev environment working. document any relevant fixes / approaches in wiki, blog about experience
Week Two
- Quality Assurance
- Automated tests, manual tests, writing test plans
- appropriate readings (FTA / elsewhere)
- activities: setup bug tracker account, subscribe to test reports, run manual tests, start making appropriate bug reports
- course leader to be ccd on bug reports - feedback should be given on quality of report information, appropriateness of language etc.
- learning outcome: knowledge of a particular QA setup, ability to write clear bug reports, writing test plans
Week Three
- Checking In and version control overview
- project check-in, commit process outlined, version control / project branches explained
- Participants to be assigned very simple tasks (eg fixing spelling errors on front end pages).
- Focus is on submitting code and writing appropriate commit messages
- Appropriate readings about version control and project communication
- activities, task completion, commit messages, blog posts on readings
Weeks Four - Six (course can be longer)
- technology specific readings eg Python security, web video etc
- Activities: discussions and blog posts reflecting on involvement
- Assigned bugs: all participants assigned one medium level tasks suitable for completing in a week. Participants could be teamed up in pairs to talk about the problem they're solving
- Can request more tasks after their first one is submitted
- activities, task completion, commit messages, blog posts on readings
To refer to:
Seneca college courses
http://zenit.senecac.on.ca/wiki/index.php/DPS909_Fall_2008#Course_Outcomes
http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla
Free Technology Academy
http://ftacademy.org/materials
Teaching Open Source
http://www.teachingopensource.org/index.php/Main_Page
Open Source Project Courses
- Web Made Movies and Popcorn.js
- Universal Subtitles
- JavaScript
- Python/Django
- HTML/CSS
- Batacuda
- Python/Django
- HTML/CSS
- JavaScript?
Universal Subtitles has need for QA Volunteers, presuming that's the same for the other projects?
Getting setup in the system
Run sessions on QA, designing tests, any automatic tests that are run?
Writing good bug reports