Are you a University of Washington undergraduate interested in making
programming languages more playful, global, and accessible?
I'm recruiting volunteers to join our Wordplaypen, an open
source community that helps design, build, and maintain ๐ฌ๏ธ Wordplay. Wordplay is a playful programming platform for creating accessible,
interactive typography that celebrates the world's languages. Our vision is
to create a global platform for creative expression with language that
celebrates every indivdual's culture, identity, and values, while also
enabling youth to learn about the power and limits of computing.
I'm excited to work with anyone excited about that vision โ especially
students โ and who has:
- A passion for equity and justice.
- (Optionally) lived experience with disability and/or fluency in
non-English languages. This is because a major goal of Wordplay is
accessibility and global inclusion, and we can't meaningfully achieve
that without your knowledge and lived experience.
- Basic knowledge of Git, GitHub, programming, or design (e.g. from INFO
201, CSE 154, INFO 340, INFO 360, or other experience). And I do mean
basic โ it's okay if you're still just learning. This is an
opportunity to strengthen your skills with others.
You don't need to know how programming languages are built, but you'll
probably learn about it by contributing.
Here are some things you might contribute:
- Designing and redesigning the language and platform
- Implementing new user interface features
- Improving correctness and reliability of current features
- Localizing to one or more of the world's languages
- Writing automated tests
- Creating Wordplay examples
- Verifying accessibility
- Moderating an online community
- Teaching peers, including programming, testing, software engineering,
and design skills
Why should I contribute? ๐
Many reasons!
- Learn TypeScript, SvelteKit, and/or Firebase, and strengthen your knowledge in HTML, CSS, and JavaScript.
- Gain practical skills in software engineering, including bug triage,
Git workflows, code reviews, verification, and programming languages.
(INFO 442 is a great place to do that too, but unlike that course, this
will be 100% hands-on.)
- Contribute to a programming platform that centers equity and inclusion,
and research on how to achieve that.
- Be credited on the Wordplay website and repository as a contributor,
which can be helpful for resume building.
- Get a letter of recommendation from me about your contributions to the
community. Because of the number of students contributing, I'll need
you're help writing these, so I'm not overwhelmed by letter requests.
See the guidelines in my FAQ and additionally
send me one paragraph describing in detail what you contributed to the project
and how you view it's level of quality.
How do I join the community? ๐
Anyone that completes the steps below โ not only UW students โ
is welcome to contribute.
- Check your calendar. First, ensure you are available
to attend meetups at the day, time, and location listed below. Attendance is not mandatory to volunteer, but highly encouraged,
as our meetups are vibrant places to learn and collaborate. If you register
for credit, attendance is mandatory unless ill.
- Apply. Next, fill out the Wordplaypen application. It is extensive, requiring reading, writing, and reflection, and some
careful planning about your time and commitments. We recommend skimming
the application first, seeing what's required, and making sure you
actually want to commit to volunteering. The effort this application
requires is intentional: we want volunteers who are invested in the
vision and the project's success, and will be reliable, sustained
contributors for at least 3 months, if not much longer. After you fill
out the application, expect us to reach out either with a welcome email,
or questions about your application.
- Join Discord. While you wait for a reply, join the Discord server, where contributors and creators connect. It's okay to join before
your application is approved; it's an open server.
- Optionally register for credit during Autumn, Winter, or Spring
quarter. If you are a UW student and you want credit for participation during
the academic year (not summer), complete the steps above first, and then
choose one of the these ways to register before the next quarter begins:
- INFO 494 Research Studio Justice-Centered Programming Languages. Receive 2
credits of elective credit as compensation for 6 hours/week of
volunteer effort. Includes some minor additional work for
credit.
- CSE 499. If you are a CSE student and do not
want to register for INFO 494, you may register for 2-4 credits
of CSE 499 instead. In your proposal, you may simply refer to the application
you filled out.
When do we meet? ๐
This changes quarterly:
- Spring 2024 meets in BLD 070 Wednesdays 5:30-6:30 pm, starting March 27th
- Summer 2024 meets in MGH 015 Tuesday + Thursday 4:00-5:30 pm, starting June 17th and ending August 28th.
- Autumn 2024 meets in DEN 303 Wednesdays 5:30-6:50pm.
We currently gather once a week, using the collocated time to build
community, make friendships, and help each other. In person gathering is
important, because it allows for trust building and learning that's not
possible online. If we're doing it right, you should look forward to
gathering and when you leave, you should have a sense of being supported,
having community, and knowing more than you did before! As noted above, we
expect you at every meeting unless you are ill or have a conflict.
What happens at the meetups? ๐
At our first meeting:
- Amy will share the vision of the project (see slides for a preview)
- For those who signed up for credit, we'll discuss the assessments, so
you know how to earn credit.
- We'll network briefly, to help you meet each other and make friends.
You'll share your name, optional pronouns, affiliation, and why you
joined the community.
- We'll identify returning contributors, who will act as mentors to help
you orient in the community, and assign mentors to newcomers.
At all other meetings:
- Amy will give brief updates to the whole group (and also post these in
Discord #weekly-highlights)
- Everyone will post a 1-sentence update in Discord #weekly-highlights,
so we can celebrate accomplishments and identify needs. Updates should
include things like: 1) something you accomplished that you're proud of,
2) help that you need, 3) progress that you made
- Contributors will huddle by role (and if they don't have a role, huddle
with other contributors without a role).
- After the role huddle, mentors will huddle with the faciliators,
surfacing needs
- After huddles, people will work in small groups, collaborating,
helping, asking questions, and making progress.
In the last meeting of the quarter (the week before finals week), we will:
- Have snacks of your choice!
- Share something they're proud of this quarter
- Clean up any remaining work: 1) commit and push uncommited code, 2)
comment on issues to document where you left the work, and 3) unassign
yourself from issues you will not finish
We will not meet during finals week.
How will I be graded? ๐
Wordplay is first and foremost a community, not a class, and so grades and
credit are a very low priority. More important is that you meet the
communities norms and expectations, which are detailed on the contributor page.
Note: If you're reading this prior to the quarter you're
joining, note that we may change assessments before each quarter, in order
to improve the experience. Consider the current asssessments an example of
how you might be evaluated. The official assessments for each quarter are
announced at the beginning of each quarter.
That said, if you have registered for credit, here is how we will determine
whether you get credit:
- Before week 3 of the quarter, you'll submit a contract
proposal to Canvas. The contract should include:
- The role(s) you would like to take on (as defined
in the contributor docs). You can have multiple roles!
- Your GitHub username (so we can give you relevant contributor
permissions)
- A set of one or more goals you want to make by the
end of the quarter, including things like:
- technologies you want to learn,
- specific issues you want to complete and get merged into
production (including new issues you've submitted for work you
want to contribute),
- anything else you do to help the community, within a role, or
outside of pre-defined roles
- For each goal, the evidence you will provide of the
accomplishment by the end of the quarter. Evidence includes things like
closed issues, approved design proposals, Wordplay examples you created,
feedback you received on your mentorship, explanations of concepts you
learned, examples of things you created with skills you learned. I will
not rigorously evaluate you on these โ I trust you to be honest
โ but planning the evidence you gather will help focus your work.
- For any issue associated with a goal, post a comment on issue
itself describing the status of the issue, any work you completed
on it, and whether you'll be continuing work on the issue past the
end of the quarter. If you are not continuing work, make sure you've
included all work materials in the issue so that others can resume
where you left off, and unassign yourself from the
issue, so others know they are free to work on it.
- The number of credits you registered for, and
why you think the goals are possible in that amount
of time committed.
- Amy will iterate with you on these in Canvas until it seems
like a reasonable scope, and once approved, will give you
contributor privileges. Submit as early in the quarter as you
like; no need to wait until the third week.
- Before the last meetup of the quarter (the week before finals week), a
document submitted to Canvas providing:
- An updated version of the contract that including any evidence of
your accomplishments. If there were accomplishments you did not
complete, why, and what remains to accomplish them.
- A ~500 word reflection detailing what worked well about this
quarter's workflow and what should be improved.
Both of these are graded satisfactory/unsatisfactory. The
only way to get an unsatisfactory on either is to 1) not submit it on time
or 2) not include a required element. For those registering for credit/no
credit, you'll receive credit if both elements are satisfactory. For those
registering for graded credit, getting satisfactory on one is a 2.0 and on
both is a 4.0.
How do I get started? ๐
Once you've been invited into the community, everything you need to start
is on Wordplay the contribute page, which is the same onboarding for any contributor. You can read that at
any time.
I have more questions! ๐
Everything else should be answered on the contribute page. If you don't find your answer, fid me on Wordplay's Discord and DM me (do not write me an email). I know it's scary to write professors!
But I'm friendly, I promise :) Include your name and student status at UW (or
set up your Discord server profile with this information), so I have context
for who you are.
To the extent possible under law,
Amy J. Ko
has waived all copyright and related or neighboring rights to the design
and implementation of
Amy's faculty site. This work is
published from the
United States. See this site's GitHub repository to view source and provide feedback.