Red-Green-Code

Deliberate practice techniques for software developers

  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter

CPFAQ: Adding Wiki Pages

By Duncan Smith Jun 27 0

Pages

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

We’re officially halfway through the year, as measured by weekly blog posts. That means I’m also halfway through the CPFAQ project. As I mentioned last week, I’m building the Competitive Programming FAQ inside a MediaWiki site. This week, I added a few more pages to the wiki. My plan is first to focus on the questions, and later in the year to work on the answers. So the FAQ pages will initially just contain pointers to Quora questions (along with their answers), and will later include answer text in the wiki itself.

Wiki Pages

As described in last week’s post, I’m creating three main types of pages in the wiki: canonical question pages, wiki utility pages, and encyclopedic pages. I’m starting by focusing on the first two types.

The canonical question pages are based on my question collection research this year. I have manually classified about 600 popular Quora questions so far, and I’m starting my wiki work by creating pages for the most popular of those, as measured by the number of Quora questions associated with each canonical question. Here are the first few FAQ pages:

  • How do I get started with competitive programming?
  • How do I get better at competitive programming?
  • How did (person) become a top competitive programmer?

For the wiki utility pages, I’m mainly concerned with category pages. These provide a classified view of the FAQ pages:

  • Category:Frequently asked questions (the top-level FAQ page, which points to all the others)
  • Category:FAQs about getting started
  • Category:FAQs about getting better
  • Category:FAQs about people

To supplement the category pages, which are mostly auto-generated, I also manually created a site map page. Like the category pages, the site map also points to other pages. But it shows all the pages in a single list, rather than a hierarchy of multiple pages. I’ll see if it remains useful as the site grows.

Classification Notes

One of the goals of the FAQ is to organize competitive programming questions better than they are currently organized on Quora. That requires thinking about which FAQs should go in which category, and which Quora questions should go in which FAQ (i.e., the mapping from Quora questions to canonical questions). To facilitate this classification process, I have added a classification notes section to the bottom of each FAQ page. These notes describe the types of Quora questions that belong on a particular FAQ page and the types of questions don’t belong there (along with which FAQ page those questions should appear on instead). For example, here’s a note from the bottom of the How do I get started with competitive programming? FAQ page:

This question is about getting started with competitive programming in general, or getting started with a specific online judge or contest. The FAQ has separate questions about getting better, for people who already have some experience. If a question mentions an online judge in the context of getting started on that online judge, then it belongs in this category. Otherwise, it belongs in FAQs about online judges.

By documenting the inclusion and exclusion criteria for each page, I hope to maintain the consistency of the pages as I add more Quora questions over time.

(Image credit: Judit Klein)

Categories: CPFAQ

Prev
Next

Stay in the Know

I'm trying out the latest learning techniques on software development concepts, and writing about what works best. Sound interesting? Subscribe to my free newsletter to keep up to date. Learn More
Unsubscribing is easy, and I'll keep your email address private.

Getting Started

Are you new here? Check out my review posts for a tour of the archives:

  • Lessons from the 2020 LeetCode Monthly Challenges
  • 2019 in Review
  • Competitive Programming Frequently Asked Questions: 2018 In Review
  • What I Learned Working On Time Tortoise in 2017
  • 2016 in Review
  • 2015 in Review
  • 2015 Summer Review

Archives

Recent Posts

  • LeetCode 1288: Remove Covered Intervals January 20, 2021
  • LeetCode 227: Basic Calculator II January 13, 2021
  • A Project for 2021 January 6, 2021
  • Lessons from the 2020 LeetCode Monthly Challenges December 30, 2020
  • Quora: Are Math Courses Useful for Competitive Programming? December 23, 2020
  • Quora: Are Take-Home Assignments a Good Interview Technique? December 17, 2020
  • Quora: Why Don’t Coding Interviews Test Job Skills? December 9, 2020
  • Quora: How Much Time Should it Take to Solve a LeetCode Hard Problem? December 2, 2020
  • Quora: Quantity vs. Quality on LeetCode November 25, 2020
  • Quora: LeetCode Research November 18, 2020
Red-Green-Code
  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter
Copyright © 2021 Duncan Smith