teachComputing
  • Home
  • AI
    • AI Literacy >
      • AI Alliteration
      • Describing Monsters
      • Dystopian writing
      • Bringing literacy to life with AI
      • AI Literacy Prompts
    • AI Computing >
      • AI Computing Lessons >
        • Make me happy
        • Chatting Robot
        • Supervised Learning
        • Fooled
        • Socratic Debate
        • Moral Machine
        • Chatting Robot
      • AI Coding Strategies
      • AI Computing Prompts
    • AI Prompts
  • Teaching & Learning
    • Wellbeing
    • Blog
    • Humour >
      • Teacher Humour
      • Teacher Humor
    • PLN Challenge >
      • Covering your backside
      • Online Privacy
      • Twitter Challenge >
        • Twitter All Star
        • Challenge 1
        • Challenge 2
        • Challenge 3
        • Tips for staying safe on Twitter
        • Tips for hosting Edu Twitter Chats
        • Tips for taking part in Twitter chats
        • It's all about the hashtag! Essential chats for educators
        • How to storify a chat
        • How to schedule Tweets
        • Twitter Lists
        • NT2tEU
      • Facebook Challenge >
        • Challenge 4
        • Challenge 5
        • Challenge 6
        • Tips for staying safe on Facebook
      • Google Challenge >
        • Challenge 7
        • Challenge 8
        • Challenge 9
      • Pinterest Challenge >
        • Challenge 10
        • Challenge 11
        • Challenge 12
        • Tips for using Pinterest
      • Blog Challenge >
        • Challenge 13
        • Challenge 14
        • Challenge 15
        • How to create a classroom blog
      • Staffrm Challenge >
        • Challenge 16
        • Challenge 17
        • Challenge 18
      • Skype Challenge >
        • Challenge 19
        • Challenge 20
        • Challenge 21
      • Edmodo Challenge >
        • Challenge 22
        • Challenge 23
        • Challenge 24
      • TeachMeet Challenge >
        • Challenge 25
        • Challenge 26
        • Challenge 27
      • In-school challenge >
        • Challenge 28
        • Challenge 29
        • Challenge 30
      • 30 ways to grow your PLN
    • Tools for Teachers >
      • Web 2.0 >
        • Top 10 Web 2.0 Tools
        • Classroom Response Tools
      • Quiz Tools
      • Classroom Management Tools
      • Software >
        • Media Conversion Tools
        • Application Software
      • Multimedia >
        • Free Music
    • BYOD
    • Digital Leaders >
      • Digital Leaders Blog >
        • DL Archive
      • DL Tips
      • Quotes
      • Links
    • Flipped Learning >
      • Flipped Classroom vs. Blended Classroom
    • Gamification >
      • Gamification vs. Game Based Learning vs. Game Design
    • School Closures
    • Game Based Learning >
      • Minecraft >
        • Minecraft in Education
        • Minecraft Lesson Ideas
        • Minecraft Literacy
        • Real Life Minecraft
        • Minecraft Top Tips
        • Minecraft Coding Tutorials >
          • Minecraft Code Builder Setup
          • Minecraft Code: Walking on Air
          • Minecraft Code: Hello World
          • Minecraft Code: Functions
          • Minecraft Code: Rainbow
          • Minecraft Code: Skyscraper
          • Minecraft Pixel Art
    • The magic of >
      • The magic of Computing
      • The magic of Maths
      • The magic of Science
      • The magic of Literacy
    • Road2e2
    • T&L Blog
  • Computing
    • Computing Blog >
      • GCSE Computer Science
      • General
    • Teaching Computer Science >
      • CPD >
        • Blocks to Code
        • Tutorials >
          • How to embed Flash into PowerPoint
          • How to embed YouTube videos in to PowerPoint
          • How to create a wiki
          • How to create a classroom blog
      • Schemes of Work
      • Programming Resources
      • Theory
      • Posters >
        • Binary Posters
      • Festive Computing Activities
      • FLOPPYS 2020
      • FLOPPYS 2021
      • FLOPPYS 2022
      • Game Design
      • App Creation
    • Theory Lessons >
      • Theory Tests
      • Computer Hardware >
        • Input / Output
        • CPU
        • LMC
        • Storage Devices
        • Memory (RAM / ROM)
        • Hardware
      • Binary Lessons >
        • Units of Data
        • Binary Representation
        • Binary Representation of Images >
          • Binary Representation of Images (Festive)
          • Pixel Painter
        • Binary Representation of Characters
        • Binary Representation of Sound >
          • ADC Simulator
        • Binary Representation of Instructions
        • Binary Addition
        • Hexadecimal
      • Software >
        • Operating System
        • Types of Software
        • Utility Software
      • Programming >
        • Flowcharts
      • Computational Thinking >
        • Data Science
    • Digital Literacy >
      • Social Media (Good or Bad thing?)
      • Cyberbullying
      • Staying Safe Online
    • Games >
      • Binary Games >
        • Binary Blitz!
        • Binary Brainiac
        • Binary Blaster
        • Binary Blast Off
    • Binary >
      • ASCII Converter
      • Binary to Decimal
      • Binary to Hex
      • Binary Calculator
    • Escape Rooms >
      • Breakout Edu
      • Escape Timers >
        • Escape Timer
        • Team Timer
        • Binary Timer
      • Binary Escape
    • ICT Strand >
      • Fake News Project >
        • Fake News 1
        • Fake News 2
        • Fake News 3
        • Fake News 4
        • Fake News 5
      • Spreadsheet Modelling
      • Superhero Movie Trailer
      • PowerPoint Task
      • Digital Imaging
      • Paint 3D Tutorial
    • Programming Lessons >
      • Scratch >
        • Festive Scratch >
          • Music Festive with Scratch
          • Turtle Snowflakes
          • What's your elf name
          • Secret Santa
        • Making music with Scratch
        • Sorting Hat Lesson
        • Turtle Time
        • Superhero name generator
        • Compliment Generator
        • Magic 8 ball
      • Python >
        • Chatbot
        • Coding Golf
        • Turtle Time >
          • Turtle Instructions
        • Magic 8 ball
        • Python Mad Libs
        • Rock Paper Scissors
        • Shakespearean Insult Generator >
          • Shakespearean Insult Generator Part 2
        • Compliment generator
        • Sorting Hat
        • Superhero name generator
        • Cards Against
        • Guess the word
        • Guess the number
        • Festive Python >
          • What's your elf name
          • Secret Santa
          • Turtle Snowflakes
      • Little Man Computer
      • Hour of Code >
        • Hour of Code Music
        • Python Tutorials
        • HoC 8-Bit Challenge
        • Music MicroPython (Festive)
      • Raspberry Pi >
        • Networking the Pi
        • Minecraft Pi
        • Harry Potter Sorting Hat >
          • Harry Potter Sorting Hat (GPIO)
        • Raspberry Pi LTSP (Networked Classroom)
        • Astro Pi
    • Homeschooling
    • Remote Learning >
      • Fun Python Tutorials
      • Python Tutorials >
        • Chatbot Tutorial
        • Dice Roll
        • Turtle Tutorial
        • Magic 8 ball
        • Sorting Hat
        • Rock Paper Scissors Tutorial
        • Cards Against
        • Python Mad Libs
        • Shakespearean Insult Generator >
          • Shakespearean Insult Generator Part 2
        • Guess the word
        • Guess the number
        • Superhero name generator
        • Compliment generator
        • Festive Python Tutorials >
          • What's your elf name
          • Secret Santa
          • Turtle Snowflakes
      • Scratch Tutorials >
        • Sorting Hat
        • What's your superhero name
        • Turtle Time Tutorial
        • Compliment Generator
        • Magic 8 Ball
        • Festive Scratch Tutorials >
          • Festive Music with Scratch
          • Secret Santa Scratch Tutorial
          • Turtle Snowflakes Tutorial
          • What's your elf name
    • Revision >
      • Data Representation >
        • Binary Representation of Images
        • Binary Representation of Sound
  • 21 Things
    • 21 Things To Try >
      • ConnectEd
      • Social Media >
        • Twitter
        • Pinterest
        • Facebook Groups
        • Facebook Pages
        • Google+ Communities
        • Staffrm
        • Edmodo
        • Mystery Skype
        • Blogging
        • Classroom Blogging
      • Gamification
      • Flipped Classroom
      • Breakout Edu
      • Edu Podcasts
      • Jar of Awesome
      • TeachMeet
      • Team Teaching
      • Mixed Reality
      • Digital Leaders
      • Genius Hour
      • Sketchnoting
    • Computing >
      • CS 20
      • Code Golf
      • PRIMM
      • Under The Hood
      • Unplugged
      • Podcasts
      • Facebook Groups CS
      • Flipped Classroom CS
      • Teach with Magic
      • Socratic Debate
      • Coding Music
    • 21 Things Keep Fit >
      • 20 Health Hacks
      • Home Health Hacks
    • 21 Things PLN >
      • Edmodo
      • Twitter
      • Reply to a blog
      • Skype
      • Cofee Edu
      • Pinterest
      • Reach out
      • Conferences
      • Instagram
      • Ning
      • MEC
      • Voxer
      • LinkedIn
  • Microbit
    • Physical Computing >
      • micro:bit LEDs
      • micro:bit PIR
      • micro:bit Servo
      • micro:bit Temp
      • micro:bit LDR
      • micro:bit Moisture
      • micro:bit RGB LEDs
      • micro:bit HC-SR04 3v3
      • micro:bit HC-SR04 5v
      • micro:bit Push button
      • micro:bit Potentiometer
      • micro:bit Piezo
    • Music >
      • Music Festive
    • Festive Projects
    • Projects >
      • Music
      • Music MicroPython
      • Servo Animals
    • Lessons >
      • Magic 8 Ball
      • Harry Potter Sorting Hat
    • Quick Start Guide
    • Microbit Simulator
  • #100 Ideas
    • Testimonials
    • Competition >
      • Competition 2
    • Worksheets
    • Bonus Ideas >
      • What's your elf name
      • Make me happy
      • Guess the word
      • Cards Against Humanities
      • Compliment generator
      • Data Science
    • Curriculum
    • ISTE
    • CSTA
  • About
    • Privacy
  • Home
  • AI
    • AI Literacy >
      • AI Alliteration
      • Describing Monsters
      • Dystopian writing
      • Bringing literacy to life with AI
      • AI Literacy Prompts
    • AI Computing >
      • AI Computing Lessons >
        • Make me happy
        • Chatting Robot
        • Supervised Learning
        • Fooled
        • Socratic Debate
        • Moral Machine
        • Chatting Robot
      • AI Coding Strategies
      • AI Computing Prompts
    • AI Prompts
  • Teaching & Learning
    • Wellbeing
    • Blog
    • Humour >
      • Teacher Humour
      • Teacher Humor
    • PLN Challenge >
      • Covering your backside
      • Online Privacy
      • Twitter Challenge >
        • Twitter All Star
        • Challenge 1
        • Challenge 2
        • Challenge 3
        • Tips for staying safe on Twitter
        • Tips for hosting Edu Twitter Chats
        • Tips for taking part in Twitter chats
        • It's all about the hashtag! Essential chats for educators
        • How to storify a chat
        • How to schedule Tweets
        • Twitter Lists
        • NT2tEU
      • Facebook Challenge >
        • Challenge 4
        • Challenge 5
        • Challenge 6
        • Tips for staying safe on Facebook
      • Google Challenge >
        • Challenge 7
        • Challenge 8
        • Challenge 9
      • Pinterest Challenge >
        • Challenge 10
        • Challenge 11
        • Challenge 12
        • Tips for using Pinterest
      • Blog Challenge >
        • Challenge 13
        • Challenge 14
        • Challenge 15
        • How to create a classroom blog
      • Staffrm Challenge >
        • Challenge 16
        • Challenge 17
        • Challenge 18
      • Skype Challenge >
        • Challenge 19
        • Challenge 20
        • Challenge 21
      • Edmodo Challenge >
        • Challenge 22
        • Challenge 23
        • Challenge 24
      • TeachMeet Challenge >
        • Challenge 25
        • Challenge 26
        • Challenge 27
      • In-school challenge >
        • Challenge 28
        • Challenge 29
        • Challenge 30
      • 30 ways to grow your PLN
    • Tools for Teachers >
      • Web 2.0 >
        • Top 10 Web 2.0 Tools
        • Classroom Response Tools
      • Quiz Tools
      • Classroom Management Tools
      • Software >
        • Media Conversion Tools
        • Application Software
      • Multimedia >
        • Free Music
    • BYOD
    • Digital Leaders >
      • Digital Leaders Blog >
        • DL Archive
      • DL Tips
      • Quotes
      • Links
    • Flipped Learning >
      • Flipped Classroom vs. Blended Classroom
    • Gamification >
      • Gamification vs. Game Based Learning vs. Game Design
    • School Closures
    • Game Based Learning >
      • Minecraft >
        • Minecraft in Education
        • Minecraft Lesson Ideas
        • Minecraft Literacy
        • Real Life Minecraft
        • Minecraft Top Tips
        • Minecraft Coding Tutorials >
          • Minecraft Code Builder Setup
          • Minecraft Code: Walking on Air
          • Minecraft Code: Hello World
          • Minecraft Code: Functions
          • Minecraft Code: Rainbow
          • Minecraft Code: Skyscraper
          • Minecraft Pixel Art
    • The magic of >
      • The magic of Computing
      • The magic of Maths
      • The magic of Science
      • The magic of Literacy
    • Road2e2
    • T&L Blog
  • Computing
    • Computing Blog >
      • GCSE Computer Science
      • General
    • Teaching Computer Science >
      • CPD >
        • Blocks to Code
        • Tutorials >
          • How to embed Flash into PowerPoint
          • How to embed YouTube videos in to PowerPoint
          • How to create a wiki
          • How to create a classroom blog
      • Schemes of Work
      • Programming Resources
      • Theory
      • Posters >
        • Binary Posters
      • Festive Computing Activities
      • FLOPPYS 2020
      • FLOPPYS 2021
      • FLOPPYS 2022
      • Game Design
      • App Creation
    • Theory Lessons >
      • Theory Tests
      • Computer Hardware >
        • Input / Output
        • CPU
        • LMC
        • Storage Devices
        • Memory (RAM / ROM)
        • Hardware
      • Binary Lessons >
        • Units of Data
        • Binary Representation
        • Binary Representation of Images >
          • Binary Representation of Images (Festive)
          • Pixel Painter
        • Binary Representation of Characters
        • Binary Representation of Sound >
          • ADC Simulator
        • Binary Representation of Instructions
        • Binary Addition
        • Hexadecimal
      • Software >
        • Operating System
        • Types of Software
        • Utility Software
      • Programming >
        • Flowcharts
      • Computational Thinking >
        • Data Science
    • Digital Literacy >
      • Social Media (Good or Bad thing?)
      • Cyberbullying
      • Staying Safe Online
    • Games >
      • Binary Games >
        • Binary Blitz!
        • Binary Brainiac
        • Binary Blaster
        • Binary Blast Off
    • Binary >
      • ASCII Converter
      • Binary to Decimal
      • Binary to Hex
      • Binary Calculator
    • Escape Rooms >
      • Breakout Edu
      • Escape Timers >
        • Escape Timer
        • Team Timer
        • Binary Timer
      • Binary Escape
    • ICT Strand >
      • Fake News Project >
        • Fake News 1
        • Fake News 2
        • Fake News 3
        • Fake News 4
        • Fake News 5
      • Spreadsheet Modelling
      • Superhero Movie Trailer
      • PowerPoint Task
      • Digital Imaging
      • Paint 3D Tutorial
    • Programming Lessons >
      • Scratch >
        • Festive Scratch >
          • Music Festive with Scratch
          • Turtle Snowflakes
          • What's your elf name
          • Secret Santa
        • Making music with Scratch
        • Sorting Hat Lesson
        • Turtle Time
        • Superhero name generator
        • Compliment Generator
        • Magic 8 ball
      • Python >
        • Chatbot
        • Coding Golf
        • Turtle Time >
          • Turtle Instructions
        • Magic 8 ball
        • Python Mad Libs
        • Rock Paper Scissors
        • Shakespearean Insult Generator >
          • Shakespearean Insult Generator Part 2
        • Compliment generator
        • Sorting Hat
        • Superhero name generator
        • Cards Against
        • Guess the word
        • Guess the number
        • Festive Python >
          • What's your elf name
          • Secret Santa
          • Turtle Snowflakes
      • Little Man Computer
      • Hour of Code >
        • Hour of Code Music
        • Python Tutorials
        • HoC 8-Bit Challenge
        • Music MicroPython (Festive)
      • Raspberry Pi >
        • Networking the Pi
        • Minecraft Pi
        • Harry Potter Sorting Hat >
          • Harry Potter Sorting Hat (GPIO)
        • Raspberry Pi LTSP (Networked Classroom)
        • Astro Pi
    • Homeschooling
    • Remote Learning >
      • Fun Python Tutorials
      • Python Tutorials >
        • Chatbot Tutorial
        • Dice Roll
        • Turtle Tutorial
        • Magic 8 ball
        • Sorting Hat
        • Rock Paper Scissors Tutorial
        • Cards Against
        • Python Mad Libs
        • Shakespearean Insult Generator >
          • Shakespearean Insult Generator Part 2
        • Guess the word
        • Guess the number
        • Superhero name generator
        • Compliment generator
        • Festive Python Tutorials >
          • What's your elf name
          • Secret Santa
          • Turtle Snowflakes
      • Scratch Tutorials >
        • Sorting Hat
        • What's your superhero name
        • Turtle Time Tutorial
        • Compliment Generator
        • Magic 8 Ball
        • Festive Scratch Tutorials >
          • Festive Music with Scratch
          • Secret Santa Scratch Tutorial
          • Turtle Snowflakes Tutorial
          • What's your elf name
    • Revision >
      • Data Representation >
        • Binary Representation of Images
        • Binary Representation of Sound
  • 21 Things
    • 21 Things To Try >
      • ConnectEd
      • Social Media >
        • Twitter
        • Pinterest
        • Facebook Groups
        • Facebook Pages
        • Google+ Communities
        • Staffrm
        • Edmodo
        • Mystery Skype
        • Blogging
        • Classroom Blogging
      • Gamification
      • Flipped Classroom
      • Breakout Edu
      • Edu Podcasts
      • Jar of Awesome
      • TeachMeet
      • Team Teaching
      • Mixed Reality
      • Digital Leaders
      • Genius Hour
      • Sketchnoting
    • Computing >
      • CS 20
      • Code Golf
      • PRIMM
      • Under The Hood
      • Unplugged
      • Podcasts
      • Facebook Groups CS
      • Flipped Classroom CS
      • Teach with Magic
      • Socratic Debate
      • Coding Music
    • 21 Things Keep Fit >
      • 20 Health Hacks
      • Home Health Hacks
    • 21 Things PLN >
      • Edmodo
      • Twitter
      • Reply to a blog
      • Skype
      • Cofee Edu
      • Pinterest
      • Reach out
      • Conferences
      • Instagram
      • Ning
      • MEC
      • Voxer
      • LinkedIn
  • Microbit
    • Physical Computing >
      • micro:bit LEDs
      • micro:bit PIR
      • micro:bit Servo
      • micro:bit Temp
      • micro:bit LDR
      • micro:bit Moisture
      • micro:bit RGB LEDs
      • micro:bit HC-SR04 3v3
      • micro:bit HC-SR04 5v
      • micro:bit Push button
      • micro:bit Potentiometer
      • micro:bit Piezo
    • Music >
      • Music Festive
    • Festive Projects
    • Projects >
      • Music
      • Music MicroPython
      • Servo Animals
    • Lessons >
      • Magic 8 Ball
      • Harry Potter Sorting Hat
    • Quick Start Guide
    • Microbit Simulator
  • #100 Ideas
    • Testimonials
    • Competition >
      • Competition 2
    • Worksheets
    • Bonus Ideas >
      • What's your elf name
      • Make me happy
      • Guess the word
      • Cards Against Humanities
      • Compliment generator
      • Data Science
    • Curriculum
    • ISTE
    • CSTA
  • About
    • Privacy
Search by typing & pressing enter

YOUR CART

Picture

Anyone for a game of 'Code Golf'? - FORE!

Like this lesson? Share it with your followers by clicking on the image below.

Picture
Anyone who has taught Computing / Computer Science will know that the 'coding and programming' strand can sometimes feel like a very dry topic, especially for young children. One way to inject some fun into your coding lessons is to gamily them!

For those new to the concept, gamification is the process of introducing game-like elements into a traditionally non-gaming contexts to make them more fun and engaging. Gamification strategies include elements such as gamifying grading, incentivizing students with rewards and adding competitive elements such as leaderboards.

One strategy that exemplifies the concept of gamification in the teaching of coding is a game called 'Code Golf'.


What is 'Code Golf'?

I came across the idea of Code Golf at a Computing At School (CAS) conference last summer and have been experimenting with it ever since. The idea is simple, participants are given a problem (or working solution) and are challenged to solve it using the fewest lines of code.

The term Code Golf is derived from the similarity of its scoring system to that of conventional golf, where participants aim to achieve the lowest score possible.

Types of Code Golf

There are two main ways to play Code Golf. The first way requires students to solve a given problem using the fewest lines of code. The second method, which requires a little more preparation from the teacher, requires the students to optimise a given working solution. In both methods, the challenge is for the students to create a solution using the least amount of code. To add a little extra challenge, the teacher can add a Par value (or target number), with the Par being the optimal number of lines of code. This Par value can be altered for different levels of ability (similar to the 'handicap' system in conventional golf) thus allowing the teacher to differentiate the lesson.


Example:

The following is an example of a simple 'Par Challenge'. In this example, students are challenged to create a square using the Python turtle library using 6 lines of code (Par 6).
Working, but inefficient, solution for creating a square in Python using 11 lines of code.
More efficient solution for creating a square using 6 lines of code (or Par 6).

Block-based example

As you can see from the example below, this can also be achieved with block-based languages such as Scratch!
Picture
Working, but inefficient, solution for creating a square using 10 lines of code.
Picture
​More efficient solution for creating a square using 5 lines of code (or Par 5).

Rationale

Why Turtle?
When introducing students to text-based coding, I always start with the Turtle library in Python. The main reason for this is, when programming the turtle, I often find that students are able to see the immediate impact of their code and are more likely to identify errors in their instructions. 

Why Code Golf?


The idea behind Code Golf is to encourage efficient use of code. At GCSE / A-Level, students are required to make efficient use of code in order to access higher grades / mark bands. Efficient code also uses less RAM, compiles quicker and uses up less storage space. Students can use a combination of features such as loops (For, While, Repeat) or sub-routines to achieve their optimised code however, readability and usability must not be sacrificed at the expense of code optimisation therefore, white space and comments do not count as lines; we still want to encourage students to break up and comment their code so that it is comprehensible to others, easier to debug and easy for others to re-use.

Taking it further

Another 'classic' way to make code more efficient is to remove redundant if statements.

Example:

Challenge: 
Create a program which simulates the rolling of a six-sided dice. The program must return the result of each dice roll as a word (not a number, for example, if the algorithm returns a 6 then the result displayed must be 'SIX' etc.

Possible solutions:
Solution 1:
​# Dice-roll simulator version 1
import random

#Pick a number between 1 and 6
number = random.randint(1,6)

if number == 1:
    print("ONE")
elif number == 2:
    print("TWO")
elif number == 3:
    print("THREE")
elif number == 4:
    print("FOUR")
elif number == 5:
    print("FIVE")
else:
    print("SIX")
Number of lines of code (not counting comments or blank lines) = 14
Solution 2:
# Dice-roll simulator version 2
import random

# List containing each of the 6 sides of a dice.
dice=["ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX"]

# Pick a number from the list at random.
print(random.choice(dice))
Number of lines of code (not counting comments or blank lines) = 3

Example Lesson

Learning Objectives:

  • Understand and use sequence in an algorithm
  • Understand and use iteration in an algorithm (FOR and WHILE loops)


Curriculum Mapping:

KS2:
  • Design, write and debug programs that accomplish specific goals; solve problems by breaking them into smaller parts. Select, use and combine a variety of software on a range of digital devices to design and create a range of programs.
  • Use sequence, selection and repetition in programs; work with variables and various forms of input and output
  • Use logical reasoning to explain how some simple algorithms work; detect and correct errors in algorithms and programs


KS3:
  • Use two or more programming languages, at least one of which is textual, to solve a variety of computational problems.


What you will need:
  • Python 3 (Click here to download the latest version - FREE) or Scratch
  • Python Turtle instructions


Challenge

Instruct students to open explore the Python turtle commands (See link above). Once the students have got the hang of turtle, explain to them that they are going to compete in a game of 'Code Golf'. Hand out the challenge (See PowerPoint below) and explain to students that challenge is to solve each of the tasks using the fewest of lines of code possible.
Picture


​Resources

Click on the link below to download the PowerPoint.
coding_golf.pptx
File Size: 582 kb
File Type: pptx
Download File

Scorecard:
scorecard.xlsx
File Size: 11 kb
File Type: xlsx
Download File


Rules

To make the challenge fair and consistent, I recommend that you set some competition rules. Here are the rules I use:

  1. Blank lines don't count as lines of code.
  2. Comments don't count as lines of code. (We want to encourage the students to comment their code).
  3. Import turtle, import random etc. do not count as lines of code.
  4. Everything else counts.

Like this lesson?

Please share this with your friends / followers and link me in to your tweets (@clcsimon) using the hashtag #CodeGolf
Picture

Useful Links

​​Stack Exchange (Code Golf) - Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. It's 100% free, no registration required. 
Book of Programming Challenges - Book of programming challenges, ideal for Code Golf , courtesy of Stuart Lucas (Requires sign up to Computing At School - FREE)

You may also be interested in:​

20 things every computing teacher should try in 2020!

Picture

Tags: code golf, coding golf, code optimisation, programming language python, python programming language, python coding language, programming languages python, python code language, python programming language example, what is the python programming language, python scripting, language tutorial, what type of programming language is Python, python class, python how to learn, learn python, learn python from scratch, where to learn Python, coding on computer, computer coding,  best place to learn coding online, online coding, online code, computer programming and Coding, hour of code program, computer science degree programs, programs for computer science, what does coding mean in computers, how does computer code work, what is computer programmer.
Powered by Create your own unique website with customizable templates.