Learning by teaching is a pedagogical technique that encourages mastery of a topic by having students teach each other. Student presentations, group discussions, and face-to-face teaching are frequently used to have students teach their peers. In this paper, we describe the use of a novel assignment to implement learning by teaching. In a course assignment, learners created a tutorial using the AsciiDoc markup language. The tutorials were uploaded to a Git source control repository on the GitHub platform and combined into a single electronic book. Students were asked to complete their peers’ tutorials and provide constructive feedback. The assignment had several goals. First, students would master the topic chosen for the tutorial. Also, students would gain experience creating their own learning plans to master the topic. Next, students would learn about source control and markup languages. Finally, students would publish the resources to make the tutorials publicly available to contribute to the existing corpus of open educational resources. A survey was conducted after the final assignment submission. Results from the reflection survey show that students generally favored the assignment and found it to be a useful learning experience despite some challenges working with the technology stack. Experiences from the instructor’s point of view are shared to provide guidance for implementing this type of exercise effectively.