Red-Green-Code

Deliberate practice techniques for software developers

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

CPFAQ: CPWiki

By Duncan Smith Jun 20 0

MediaWiki

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.

With the halfway point of 2018 approaching, it’s time to focus on the website that will host the content for the CPFAQ. I decided a few months ago that I would use MediaWiki software to host the FAQ. The advantage of a wiki is that it will allow me to write to write encyclopedia-style pages to supplement the main FAQ pages. This week, I have been thinking about how I want to organize the wiki, and I’ve created a few pages to get things started.

The Competitive Programming Wiki

I’ll be creating the CPFAQ inside a CP Wiki, which is hosted alongside my blog at the redgreencode.com domain. CPWiki will have three types of pages:

Canonical question pages

These pages are the FAQ content. Each page name is a canonical question title. The page content includes, at a minimum, links to relevant Quora questions. I think that will make the FAQ immediately useful to people who are looking for answers to each question. Eventually, I plan to expand each FAQ page to include an answer that summarizes the information from Quora and other sources.

Here’s a popular canonical question: How did (person) become a top competitive programmer? The (person) string in the question title is an example of the format I’ll use for some types of canonical questions. In this case, questions of this type are asked about many different competitive programmers, but they all have the same main idea: Tell me what a specific person did to achieve their competitive programming rank.

Encyclopedic pages

Along with FAQ pages, I’ll also be creating encyclopedic pages on the CP Wiki. These pages are like a specialized Wikipedia, written from a competitive programming perspective. In cases where Wikipedia has good coverage of a topic (e.g., Topcoder), the page doesn’t need to duplicate existing content. It can just include a summary, and links to other resources, including Wikipedia and Quora. But competitive programming topics sometimes run into problems with the Wikipedia notability policy. In that case, the CP Wiki is a good place for a full article.

Wiki utility pages

The MediaWiki software creates some pages automatically, and some of these utility pages are useful for creating a FAQ structure. For example, adding [[Category:FAQs about people]] to the markup for a page causes it to show up on the corresponding category page. This is one way to present a list of frequently asked questions without any extra work besides creating and tagging the question pages. Categories can be nested, so I also have a top-level Frequently Asked Questions category page that points to the subcategories.

Notability

Wikipedia editors use the concept of notability to determine if a topic should have its own article. There are many nuances to notability policy, but its main requirement is that there is enough information in reliable and independent sources to write a complete article about the topic. The policy isn’t perfect, but it has served the Wikipedia community well over the years as a way to maintain the quality of the encyclopedia.

For CPWiki, I’ll be approaching notability a bit differently. If a subject is on-topic for CP Wiki, then it will almost always be eligible for its own article. On-topic areas include competitive programming, coding interviews, and techniques for learning subjects that are required for success in those areas. Although I won’t use Wikipedia notability criteria to exclude articles, I may use them to prioritize articles. For example, I’ll write about a major online judge before I write about someone’s online judge hobby project (and I may never get around to the latter, unless it’s especially interesting).

Another policy difference between Wikipedia and CPWiki is what is considered a reliable source. Wikipedia does not allow user-generated content, like Quora or even Wikipedia itself, to be used as a reference. Again, this is a good policy for Wikipedia, with its open editing policy and high profile on the Web. But one of the main goals of CPFAQ is to highlight the best content from Quora. With that in mind, I’ll be evaluating Quora content based on what I know about the writers who contribute to Competitive Programming and related topics.

(Image credit: Anthere)

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

  • Quora: How to Read Cracking the Coding Interview April 21, 2021
  • Quora: What to Do When You’re Stuck on a Competitive Programming Problem April 14, 2021
  • Quora: How to Get Better at Competitive Programming April 7, 2021
  • Quora: Is LeetCode Useful for Beginning Competitive Programmers? March 31, 2021
  • How to LeetCode March 24, 2021
  • LeetCode 322: Coin Change March 17, 2021
  • LeetCode 152: Maximum Product Subarray March 10, 2021
  • LeetCode 856: Score of Parentheses March 3, 2021
  • LeetCode 11: Container With Most Water February 24, 2021
  • LeetCode 47: Permutations II February 17, 2021
Red-Green-Code
  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter
Copyright © 2021 Duncan Smith