Skip to main content
CommonMark migration
Source Link

#Code Bowling

Code Bowling

##Common Rules (Rev. 1.0.0)

Common Rules (Rev. 1.0.0)

##Common Scoring Metrics and Challenge Styles

Common Scoring Metrics and Challenge Styles

##Best Practices

Best Practices

##FAQ Frequently Asked Questions:

FAQ

Frequently Asked Questions:

##Useful Tools

Useful Tools

#Code Bowling

##Common Rules (Rev. 1.0.0)

##Common Scoring Metrics and Challenge Styles

##Best Practices

##FAQ Frequently Asked Questions:

##Useful Tools

Code Bowling

Common Rules (Rev. 1.0.0)

Common Scoring Metrics and Challenge Styles

Best Practices

FAQ

Frequently Asked Questions:

Useful Tools

deleted 904 characters in body
Source Link
  • Pangram Challenges

    A pangram is a sentence that uses every letter at least once. (The quick brown fox jumps over the lazy dog).

    These types of challenges have scoring systems designed where a perfect pangram would achieve the theoretical maximum score (though you are not required to use every character at least once.) Additionally, using any character more than once will start incurring a penalty.

    These challenges typically expand to more than just [A-Z] by including numbers and sometimes symbols in their scoring metrics.

    Here is an example of a simple pangram scoring system (with an online scoring tool). (See Useful tools section at end):

  1. Each character used increases your score by 1 point.

  2. Any repeated character decreases your score by 1 point. That is, they do not count towards character total.

    Here is another example of a more complex pangram scoring system (with an online scoring tool). (See Useful tools section at end):

    1. Each character used increases your score by 1.

    2. Repeated use of any alphanumeric character (a-z, A-Z, 0-9) will result in a deduction of 3 points per repeat (first use does not result in a deduction).

    3. Repeated use of basic punctuation ([!?.-,":';]) - including the brackets - will result in a deduction of 2 points per repeat.

    4. Repeated use of other ASCII characters {`~@#$%^&*_+=|\/><} - including the curly brackets - will result in a deduction of 4 points per repeat.

    5. Use of spaces, tabs, and newlines will result in a deduction of 1 point per use. That is, they do not count towards character total.

    6. Characters not mentioned above (Exotic Characters) will result in a deduction of 1 point per use. That is, they do not count towards character total.

  • WPM Challenges
    1. Each character used increases your score by 1 point.

    2. Any repeated character decreases your score by 1 point. That is, they do not count towards character total.

    (Note: this challenge type is contested and might not be defined within the scope of CodeGolf.SE)
    WPM (Words Per Minute)Here is a common measure/metricanother example of one's typing speed.

    WPM challenges include a time limit on typing your code and require you to upload a video of you typing your codemore complex pangram scoring system (with a visible time signaturean online scoring tool).

    Typically these challenges will have a 1-minute time limit and you must type your code in or under said time limit. Any code that was not able to be finished during that time will typically deduct 1 character from your score's total.

    Good practice dictates that your video should show your fingers visibly typing on the keyboard along with a physical clock or timer, though digital-online stop-watches are acceptable too as long as they are visible and standard   (See Useful tools section at end):

    1. Each character used increases your score by 1.

    2. Repeated use of any alphanumeric character (a-z, A-Z, 0-9) will result in a deduction of 3 points per repeat (first use does not result in a deduction).

    3. Repeated use of basic punctuation ([!?.-,":';]) - including the brackets - will result in a deduction of 2 points per repeat.

    4. Repeated use of other ASCII characters {`~@#$%^&*_+=|\/><} - including the curly brackets - will result in a deduction of 4 points per repeat.

    5. Use of spaces, tabs, and newlines will result in a deduction of 1 point per use. That is, they do not count towards character total.

    6. Characters not mentioned above (Exotic Characters) will result in a deduction of 1 point per use. That is, they do not count towards character total.

  • Rectangular Challenges

    These are challenges where the source code has to be formatted to be in the shape of a rectangle. Line breaks do count towards character count in these challenges.

    The dimensions (w:h) of the rectangle must be in the range of (2h:h) to (w:2w). So a rectangle of 6 lines of code, each containing 11 characters (6x11) would be valid. But a rectangle of 2 lines of code, each containing 20 characters (2x20) would not be valid. (Naturally, all lines must contain the same number of characters)

    Each line of code must be distinct to a certain threshold. Distinctness is typically calculated using the Levenshtein distance. The threshold may change from challenge to challenge but a typical distinctness threshold is 85%, where the Levenshtein distance between any two lines must be greater than or equal to 0.85*w, where w is the number of characters used in a line of your rectangle.

    Penalties may be added for failing to meet the distinctness threshold, or it may just be listed as a requirement and code that does not meet the threshold is invalid.

    Including a Levenshtein distance calculator in your challenge is good practice. (See Useful tools section at end)
  1. Character Counting Widget — MotherEff.in, ETHProductions
    This is useful for determining the number of characters used in your application. In Code-Bowling a character count scoring system is favored over a byte count scoring system. (See Rule #1)

  2. Arithmetic/Equation Simplifier — Wolfram|Alpha
    This is useful for simplifying your equations. Input an equation (e.g. x+x+x+x) and it will output the simplified forms (e.g. 4*x) (See Rule #3)

  3. Text Sharing Sites — HasteBin, PasteBin
    These are useful tools for sharing code that is too big to post on the site. (See Best Practices #2)

  4. Online IDEs — Try It Online!, JSFiddle, SE Snippets
    These are useful for allowing others to easily execute your code online and modify it. Try It Online! is useful for most programming languages. JSFiddle is useful for HTML/CSS/Javascript/etc but these can also be executed natively in StackExchange's Code Snippets (See Best Practices #3)

  5. Pangram Scoring Tools — Example 1 (simple), Example 2 (complex)
    These are two automated score calculating tools for common Pangram scoring metric variations (See Common Scoring Metrics #1)

  6. Digital Online Stop-Watch — Online-Stopwatch
    This is an online stop-watch useful for time based typing challenges (WPM Challenges). (See Common Scoring Metrics #2)

  7. Levenshtein distance calculator — PlanetCalc
    This is a Levenshtein distance calculator useful for quantifying the changes made between two lines of code. (See Common Scoring Metrics #3)

  • Pangram Challenges

    A pangram is a sentence that uses every letter at least once. (The quick brown fox jumps over the lazy dog).

    These types of challenges have scoring systems designed where a perfect pangram would achieve the theoretical maximum score (though you are not required to use every character at least once.) Additionally, using any character more than once will start incurring a penalty.

    These challenges typically expand to more than just [A-Z] by including numbers and sometimes symbols in their scoring metrics.

    Here is an example of a simple pangram scoring system (with an online scoring tool). (See Useful tools section at end):

  1. Each character used increases your score by 1 point.

  2. Any repeated character decreases your score by 1 point. That is, they do not count towards character total.

    Here is another example of a more complex pangram scoring system (with an online scoring tool). (See Useful tools section at end):

    1. Each character used increases your score by 1.

    2. Repeated use of any alphanumeric character (a-z, A-Z, 0-9) will result in a deduction of 3 points per repeat (first use does not result in a deduction).

    3. Repeated use of basic punctuation ([!?.-,":';]) - including the brackets - will result in a deduction of 2 points per repeat.

    4. Repeated use of other ASCII characters {`~@#$%^&*_+=|\/><} - including the curly brackets - will result in a deduction of 4 points per repeat.

    5. Use of spaces, tabs, and newlines will result in a deduction of 1 point per use. That is, they do not count towards character total.

    6. Characters not mentioned above (Exotic Characters) will result in a deduction of 1 point per use. That is, they do not count towards character total.

  • WPM Challenges

    (Note: this challenge type is contested and might not be defined within the scope of CodeGolf.SE)
    WPM (Words Per Minute) is a common measure/metric of one's typing speed.

    WPM challenges include a time limit on typing your code and require you to upload a video of you typing your code (with a visible time signature).

    Typically these challenges will have a 1-minute time limit and you must type your code in or under said time limit. Any code that was not able to be finished during that time will typically deduct 1 character from your score's total.

    Good practice dictates that your video should show your fingers visibly typing on the keyboard along with a physical clock or timer, though digital-online stop-watches are acceptable too as long as they are visible and standard (See Useful tools section at end)

  • Rectangular Challenges

    These are challenges where the source code has to be formatted to be in the shape of a rectangle. Line breaks do count towards character count in these challenges.

    The dimensions (w:h) of the rectangle must be in the range of (2h:h) to (w:2w). So a rectangle of 6 lines of code, each containing 11 characters (6x11) would be valid. But a rectangle of 2 lines of code, each containing 20 characters (2x20) would not be valid. (Naturally, all lines must contain the same number of characters)

    Each line of code must be distinct to a certain threshold. Distinctness is typically calculated using the Levenshtein distance. The threshold may change from challenge to challenge but a typical distinctness threshold is 85%, where the Levenshtein distance between any two lines must be greater than or equal to 0.85*w, where w is the number of characters used in a line of your rectangle.

    Penalties may be added for failing to meet the distinctness threshold, or it may just be listed as a requirement and code that does not meet the threshold is invalid.

    Including a Levenshtein distance calculator in your challenge is good practice. (See Useful tools section at end)
  1. Character Counting Widget — MotherEff.in, ETHProductions
    This is useful for determining the number of characters used in your application. In Code-Bowling a character count scoring system is favored over a byte count scoring system. (See Rule #1)

  2. Arithmetic/Equation Simplifier — Wolfram|Alpha
    This is useful for simplifying your equations. Input an equation (e.g. x+x+x+x) and it will output the simplified forms (e.g. 4*x) (See Rule #3)

  3. Text Sharing Sites — HasteBin, PasteBin
    These are useful tools for sharing code that is too big to post on the site. (See Best Practices #2)

  4. Online IDEs — Try It Online!, JSFiddle, SE Snippets
    These are useful for allowing others to easily execute your code online and modify it. Try It Online! is useful for most programming languages. JSFiddle is useful for HTML/CSS/Javascript/etc but these can also be executed natively in StackExchange's Code Snippets (See Best Practices #3)

  5. Pangram Scoring Tools — Example 1 (simple), Example 2 (complex)
    These are two automated score calculating tools for common Pangram scoring metric variations (See Common Scoring Metrics #1)

  6. Digital Online Stop-Watch — Online-Stopwatch
    This is an online stop-watch useful for time based typing challenges (WPM Challenges). (See Common Scoring Metrics #2)

  7. Levenshtein distance calculator — PlanetCalc
    This is a Levenshtein distance calculator useful for quantifying the changes made between two lines of code. (See Common Scoring Metrics #3)

  • Pangram Challenges

    A pangram is a sentence that uses every letter at least once. (The quick brown fox jumps over the lazy dog).

    These types of challenges have scoring systems designed where a perfect pangram would achieve the theoretical maximum score (though you are not required to use every character at least once.) Additionally, using any character more than once will start incurring a penalty.

    These challenges typically expand to more than just [A-Z] by including numbers and sometimes symbols in their scoring metrics.

    Here is an example of a simple pangram scoring system (with an online scoring tool). (See Useful tools section at end):

    1. Each character used increases your score by 1 point.

    2. Any repeated character decreases your score by 1 point. That is, they do not count towards character total.

    Here is another example of a more complex pangram scoring system (with an online scoring tool).  (See Useful tools section at end):

    1. Each character used increases your score by 1.

    2. Repeated use of any alphanumeric character (a-z, A-Z, 0-9) will result in a deduction of 3 points per repeat (first use does not result in a deduction).

    3. Repeated use of basic punctuation ([!?.-,":';]) - including the brackets - will result in a deduction of 2 points per repeat.

    4. Repeated use of other ASCII characters {`~@#$%^&*_+=|\/><} - including the curly brackets - will result in a deduction of 4 points per repeat.

    5. Use of spaces, tabs, and newlines will result in a deduction of 1 point per use. That is, they do not count towards character total.

    6. Characters not mentioned above (Exotic Characters) will result in a deduction of 1 point per use. That is, they do not count towards character total.

  • Rectangular Challenges

    These are challenges where the source code has to be formatted to be in the shape of a rectangle. Line breaks do count towards character count in these challenges.

    The dimensions (w:h) of the rectangle must be in the range of (2h:h) to (w:2w). So a rectangle of 6 lines of code, each containing 11 characters (6x11) would be valid. But a rectangle of 2 lines of code, each containing 20 characters (2x20) would not be valid. (Naturally, all lines must contain the same number of characters)

    Each line of code must be distinct to a certain threshold. Distinctness is typically calculated using the Levenshtein distance. The threshold may change from challenge to challenge but a typical distinctness threshold is 85%, where the Levenshtein distance between any two lines must be greater than or equal to 0.85*w, where w is the number of characters used in a line of your rectangle.

    Penalties may be added for failing to meet the distinctness threshold, or it may just be listed as a requirement and code that does not meet the threshold is invalid.

    Including a Levenshtein distance calculator in your challenge is good practice. (See Useful tools section at end)
  1. Character Counting Widget — MotherEff.in, ETHProductions
    This is useful for determining the number of characters used in your application. In Code-Bowling a character count scoring system is favored over a byte count scoring system. (See Rule #1)

  2. Arithmetic/Equation Simplifier — Wolfram|Alpha
    This is useful for simplifying your equations. Input an equation (e.g. x+x+x+x) and it will output the simplified forms (e.g. 4*x) (See Rule #3)

  3. Text Sharing Sites — HasteBin, PasteBin
    These are useful tools for sharing code that is too big to post on the site. (See Best Practices #2)

  4. Online IDEs — Try It Online!, JSFiddle, SE Snippets
    These are useful for allowing others to easily execute your code online and modify it. Try It Online! is useful for most programming languages. JSFiddle is useful for HTML/CSS/Javascript/etc but these can also be executed natively in StackExchange's Code Snippets (See Best Practices #3)

  5. Pangram Scoring Tools — Example 1 (simple), Example 2 (complex)
    These are two automated score calculating tools for common Pangram scoring metric variations (See Common Scoring Metrics #1)

  6. Levenshtein distance calculator — PlanetCalc
    This is a Levenshtein distance calculator useful for quantifying the changes made between two lines of code. (See Common Scoring Metrics #3)

replaced http://codegolf.stackexchange.com/ with https://codegolf.stackexchange.com/
Source Link

Most Code Bowling challenges posted to this siteposted to this site are [closed] for a variety of reasons, including an obvious ability of exploitation, lack of a defined scoring system, vague rules, "too broad", and many other reasons. Due to this, Code-Bowling challenges are rarely created and if they are they are usually poorly received. (Relevant: Meta/Should we kill code-bowling?)

Most Code Bowling challenges posted to this site are [closed] for a variety of reasons, including an obvious ability of exploitation, lack of a defined scoring system, vague rules, "too broad", and many other reasons. Due to this, Code-Bowling challenges are rarely created and if they are they are usually poorly received. (Relevant: Meta/Should we kill code-bowling?)

Most Code Bowling challenges posted to this site are [closed] for a variety of reasons, including an obvious ability of exploitation, lack of a defined scoring system, vague rules, "too broad", and many other reasons. Due to this, Code-Bowling challenges are rarely created and if they are they are usually poorly received. (Relevant: Meta/Should we kill code-bowling?)

deleted 28 characters in body
Source Link
Loading
added 117 characters in body
Source Link
Loading
added 27 characters in body
Source Link
Loading
added 507 characters in body
Source Link
Loading
added 114 characters in body
Source Link
Loading
replaced http://meta.codegolf.stackexchange.com/ with https://codegolf.meta.stackexchange.com/
Source Link
Loading
replaced http://meta.codegolf.stackexchange.com/ with https://codegolf.meta.stackexchange.com/
Source Link
Loading
replaced http://meta.codegolf.stackexchange.com/ with https://codegolf.meta.stackexchange.com/
Source Link
Loading
replaced http://meta.codegolf.stackexchange.com/ with https://codegolf.meta.stackexchange.com/
Source Link
Loading
replaced http://meta.codegolf.stackexchange.com/ with https://codegolf.meta.stackexchange.com/
Source Link
Loading
added 71 characters in body
Source Link
Loading
added 6 characters in body
Source Link
Loading
added 3 characters in body
Source Link
Loading
added 2 characters in body
Source Link
Loading
deleted 12 characters in body
Source Link
Loading
added 215 characters in body
Source Link
Loading
added 215 characters in body
Source Link
Loading
deleted 2 characters in body
Source Link
Loading
added 41 characters in body
Source Link
Loading
added 113 characters in body
Source Link
Loading
added 123 characters in body
Source Link
Loading
added 1 character in body
Source Link
user41805
  • 13.2k
  • 14
  • 17
Loading