How we can help your schools

We can bring our expertise and our teaching materials into your school. Our approach is similar to that of musical instrument teachers who also bring their specialist knowledge into the classroom.

We deliver the material in an engaging and entertaining way to the pupils while supporting the teachers and school as a whole with the introduction of the computing curriculum. Teachers and the school support us by helping us tailor our material to the specific needs of their schools and by maintaining class discipline during lessons.

If you would like us to help in your school please use our feedback form to contact us.

Our approach

Our approach to teaching programming is fundamentally bottom up. We break programming down into its fundamental components and teach these individually and in order. Each concept builds upon and reuses all of the previous concepts reinforcing the pupils knowledge at each stage.

Does it work?

In a word, yes. In a few more words, yes, spectacularly well. Our experience so far is that not only are children as young as year 6 capable of absorbing and understanding our material, they actively thrive on it. They will ask us how they can change the sample programs to extend them. They actively assist each other, the more able pupils will help the less able pupils to correct their programs. This helps both the less able pupils and implicitly pushes the more able pupils further in the process.

Our feedback speaks for itself.

I have never seen the children think and problem solve in this way before.
A year 6 head, after a Coding club, one day
I believe these children have been stretched academically by about 2 years.
A year 6 head after the final Coding Club
I am amazed at what the children have achieved. I have never seen anything like this before. We must continue to offer this in the school next year.
A school govnenor after the final Coding club
Will this be available when my child moves to grammar school in September?
The parent of a year 6 pupil after the final Coding Club

How does this work?

How this works depends on your schools needs. Your school is in the best position to gauge your pupils needs and your current mathematics and science curriculum. We are happy to tailor our material to align with the schools existing curriculum structure.

We use slightly different approaches for primary and secondary schools

If you are a primary school

If you are from a primary then our normal approach is to run an after school “coding club”. We use a condensed version of our material to teach the children the fundamentals of programming. The material covers

  • Creating and running a program written in Go
  • Using numbers and words in Go
  • Using variables, including why we need them
  • Keyboard input and screen output
  • Selection or how computers make a decisions
  • Repetition, how and why we repeat things

We take the children through a series of shorter, simpler programs and illustrate each concept. Each program builds on the one before. This both practices and reinforces the previous concepts.

The club culminates in the children writing a program to plot the mandelbrot set.

Fig-1: The Mandelbrot set - a year 6 pupil can write a program to draw this shape.

The club provides an opportunity to stretch gifted and talented children who have shown an aptitude for mathematics or science or logical thinking. Our experience is that the club can stretch these children by as much as two academic years.

Typically this part of the coding club takes one complete term. If the school wishes the club to continue throughout the school year then we typically extend the mandelbrot program to allow the children to zoom into the shape and to draw the related Julia set, or program a simple game with the children.

At the request of the school we can incorporate this material into the school timetable for all children.

If you are a secondary school

If you are a secondary school then the national curriculum guidelines are different. The relevant Key Stage 3 requirement is

Use 2 or more programming languages, at least one of which is textual, to solve a variety of computational problems; make appropriate use of data structures [for example, lists, tables or arrays]; design and develop modular programs that use procedures or functions

Go is a textual language so the GopherCoders material meets that part of the requirement directly.

Our typical program of study in the first year of secondary school would be

  • Winter Term - The fundamentals of programming.
    • Creating and running a program written in Go
    • Using numbers and words in Go
    • Using variables, including why we need them
    • Keyboard input and screen output
    • Selection and how computers make a decisions
    • Repetition how and why we repeat things
  • Spring Term - Design and code a simple game
    • Program modularization with functions and packages
    • Boolean logic
    • The array data structure
    • Moving graphics on the screen
    • Coding the rules of a game
    • Integrating computer graphics and sound
  • Summer Term - How to write Wikipedia
    • How information is passed between a web browser and a web server
    • How to build a simple web server in Go
    • How to generate a web page on demand using Go
    • How to process a form on a web page
    • How to store and retrieve information

The material in the Winter Term is an expanded version for the material used for the coding club at primary school level. This ensures that all pupils have a basic understanding of programming using Go.

The Spring Term material shows the children how to write a game. The choice of game is up to the pupil’s from a selection that we provide the material for. As part of project the pupils will encounter techniques to modularize their program, learn about the fundamental array data structure and encounter boolean logic (AND, OR, NOT) for the first time. The project offers strong cross curricular links with Art and Design and Music. The children will have to draw the graphics required for different elements of the game and create and record any sound effects they wish to add to the game. This also provides a chance for pupils who are perhaps more artistic a chance to shine within the project. The pupils can develop the game individually or in pairs, or as a class wide exercise, with specific groups of pupils tasked with a specific part of the game. None of the games on offer contain any violence.

The Summer term material offers pupils the chance to create their own simple wikipedia website that is very similar to Wikipedia. Once completed this can be used as a class wiki. The Wikipedia webiste allows visitors search the website for information in a topic of their choice. The website will then display any information it has on the topic. But Wikipedia also allows users to create new topics or edit existing ones. This is all achieved by a program that runs on the wikipedia webserver. During the summer term the pupils will develop a simple version of this software for themselves. This project will teach them how the Internet works at a fundamental level. It will show them how web pages are encoding using HTML and show them how information requested by the browser is processed. The processes and principles invoked in this project closely mirrors the day to day work of a professional programmer.

After the first year the pupils should have good grasp of the fundamentals of programming using Go and have used it to tackle some realistic problems. In our view only after the pupils have become comfortable with programming in Go for an extended period of time should they focus on more fundamental computer science topics. At this stage the coding itself will be less of a barrier.

A typical program of study in the second and successive years of secondary school should therefore be more rigorous and focus on topic such as:

  • Binary Numbers, including addition, subtraction, conversion to decimal and multiplication and division by powers of two
  • Hexadecimal numbers, which are widely used in computing, covering conversion from Hexadecimal to decimal and Binary
  • Boolean logic and truth tables for AND, OR, NOT and NAND and XOR operations. Potentially also covering how this relates to the computer circuits such as adders.
  • Fundamental data structures such as lists, stacks or maps. What the fundamental properties of these data structures are and how they are implemented and when they are used.
  • Sorting algorithms, an examination of different algorithms for sorting, how these implemented and how they can be compared and when they are used.
  • Searching algorithms, and examination of a search algorithm and how it can be implemented and where it can be used.

The option of running this material as an after school “Coding Club” is also open to any secondary school if they us what they require.

Search

Featured Lesson

Numbers

What You are Going to Learn?

Computers are used to process data. All data is made up of numbers. Yes, really! Everything is just a bunch of numbers to a computer. These are the only things they understand.

We are going to explain how numbers are used in Go programs. Then we are going to show you how to do type sums in Go.