What is a random number and what is the random number generator?

Dice

Sungmin in Year 13 looks at random numbers, explaining what they are and how they are relevant to our lives – from encrypted passwords to how games are programmed.

Random number in real life

As public and private data networks proliferate, it becomes increasingly important to protect the privacy of information. Having a random number is one of the steps which can become a core component of the computer to increase the security of the system platform. Random numbers are important for other things – computer games, for example. Random numbers will ensure there are different consequences after making different decisions during a game. The results will always be different because the given input is different. At an arcade, there are many games that rely on randomness. Falling objects fall in different patterns so that no one can anticipate when to catch the object. Otherwise, some people will be able to calculate how an object will fall and the game will no longer be loved by the people visiting arcades. It is interesting that we get some randomness as such.

The examples such as the falling object and computer games both require random numbers in order to be unique. For those games and many other situations that require randomness, private data must be encrypted. To do so, a true random number plays such a significant role and must be used. On the other hand, when we are programming games, both true random number and pseudo-random numbers can be used. As you might have noticed already, there are two types of random numbers. Random numbers are separated depending on how they are generated. One is the true/real random number and the other is the pseudo-random number.

Definitions of ‘random number’

There are several different ways to define the term, ‘random number’. First of all, it is a number which is generated for, or part of, a set exhibiting statistical randomness. Statistical randomness is a characteristic where a numeric sequence is said to be statistically random when it contains no recognisable patterns or regularities.

Secondly, a random number can be defined as a random sequence that is obtained from a stochastic process. A stochastic or random process can be defined as “a collection of random variables that is indexed by some mathematical set, meaning that each random variable of the stochastic process is uniquely associated with an element in the set.”  Moreover, a random number is an algorithmically random sequence in algorithmic information theory. An algorithm is a “process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer”. Also, the sequence which is algorithmically random can be explained as an infinite sequence of binary digits that appears random to any algorithm. The notion can be applied analogously to sequences of any finite alphabet (e.g. decimal digits).

Random sequences are the key object of study in algorithmic information theory. Algorithmic information theory is a merger of information theory and computer science that concerns itself with the relationship between computation and information of computably generated objects, such as strings or any other data structure. Random numbers can also be described as the outputs of the random number generator. In cryptography we define a random number through a slightly different method. We say that the random number is “the art and science of keeping messages secure”.

Different types of random number generators

1:

  • True random number generator (TRNG)
  • Hardware true random number generator (HRNG)

2:

  • Pseudo-random number generator (PRNG)
  • Linear Congruential Generator
  • Random number generator in C++

The major difference between pseudo-random number generators (PRNGs) and true random number generators (TRNGs) is easier to understand if you compare and contrast computer-generated random numbers to rolls of a dice. Since the pseudo-random number generator generates random numbers by using mathematical formulae or precalculated lists akin to someone rolling a dice multiple times and writing down all the outcomes, whenever you ask for a random number, you get the next roll of the dice on the list. This means that there are limitless results produced from the list. Effectively, the numbers appear random, but they are in fact predetermined. True random number generators work by “getting a computer to actually roll the dice — or, more commonly, use some other physical phenomenon that is easier to connect to a computer than is a dice”

Comparisons of PRNGs and TRNGs

As you go about your day today, consider how random numbers are being used to support your daily activities – from the passwords we use, the apps we run on our phones, and the devices and programmes we engage with. Maths is all around us.

How does Computer Science equip us for life?

Mr Ian Richardson, Head of Computer Science at WHS, examines the broader transferrable skills that pupils can develop in the subject, and how these can help pupils to prosper in life away from the screen.

Computer Science is a unique subject which is developing at an incredibly rapid pace. In many conversations with parents, it seems that everyone grasps the importance of understanding how computers work and of being able to bend them to our will. However, since the change from the Information and Communication Technology syllabi, a number of parents and colleagues are still unsure as to what it is we, as Computer Scientists, do in our classrooms.

The simple principle is that our pupils should be able to sit down at a computer and be presented with a problem. They should be able to start from nothing but a blank page and then design, implement, test and evaluate a program which solves that problem. The scale of the challenge is significant, whether at A Level or Year 7. The little victories and celebrations along the way are what get students into coding and make teaching the subject so enjoyable. In this article, I am going to look at what I think are the key transferrable skills for the subject.

Coding
Above: From Gov.uk

The Essential “Tools” for Computing

The curriculum for the subject is designed to promote thinking skills and metacognition. The first key skill with which pupils become acquainted is abstraction. A simple everyday example of abstraction at work is the map of the London Underground; the map does not depict the geographical placement of stations, but simply the connections between them. Abstraction is the skill of seeing the woods, despite the many trees that could obscure the view. By teaching our pupils the skill of abstraction, we can teach them to think beyond the details of a problem and to think about the patterns and the connections which in turn teaches them to make generalisations to help solve a problem.

Next comes decomposition; breaking a large problem down into increasingly smaller sub-problems until they can be solved easily. It is instinctive for most pupils, when presented with a problem, to worry about the entirety of it. It takes practice to learn to develop a structure, to work out the key parts of a solution and to build from there. Students learn to “Divide and Conquer” for success and this approach can help students to solve problems in any future learning tasks which require design skills.

Finally comes the programming itself. It can seem that there are simply huge numbers of confusing commands to learn within programming. However, it is the structure of the program which is of the greatest importance and in this respect there are relatively few things to learn. As a student continues, they may become familiar with subroutines, classes and modules but on the whole, it boils down to sequence, selection, iteration. Individual commands and keywords can be looked up in reference books, but the skill of structuring program takes time and practice to develop. It takes time to master (think Anders Ericsson and 10,000 hours) but encourages pupils to approach problems methodically.

As well as those all-important subject skills, Computer Science has the capacity to help us grow and develop as individuals.

Failure as a Stepping Stone to Success

Coding is a discipline which gives us unparalleled opportunities to conquer our fear of failure. It is often estimated that the industry average for errors is “about 15 – 50 errors per 1000 lines of delivered code.”[1]. It can be daunting to receive error messages when you first start to learn to program and it seems like you struggle to type a single line without making a mistake. Over time, pupils can learn to:

1 – Accept that they have made a mistake

2 – Accept that they have the capacity to put it right

3 – Analyse their own work to find the error (often as simple as a missing parenthesis or extra space)

Exposure to lots of low-stakes risk-bearing situations through programming and debugging can teach resilience, independence and curiosity. It also helps to develop patience and a sense of humour can go a long way too.

Creativity and Curiosity

Computing can be easily overlooked when thinking about creative subjects. Computer programmers use the tools at their disposal to solve challenges every day. Successful computing students learn to master the simple techniques at their disposal and begin to apply them in new scenarios. Over time, they start to think up their own projects and to investigate their own ideas. Perhaps they start to see ways in which a project in another subject might be enhanced with some automation.

Flow

Programming can become an all-encompassing activity. There is always one more bug to fix, or one further improvement to make. Along the way, there are also small moments of joy and times when a pupil can make a computer do something fun or exciting. Between the two extremes of frustration and celebration, it is easy to lose track of time. The ability to focus on details and to deliver with precision are yet more useful skills that pupils can develop through the subject.

Independence

Whilst the theory aspects of the subject can be taught in a more traditional manner, the practical elements of Computer Science have to be learned rather than taught. Whilst individual students require more or less scaffolding to come to an answer, the PRIMM model for teaching (Predict, Run, Investigate, Modify, Make)[2] encourages independence of thought and a structured approach to tasks and trains the student to analyse and learn from what is presented to them, rather than expecting a teacher to impart knowledge.

Evaluative Thinking

One of the key skills that pupils are taught in computing is to evaluate. It is one thing to know how to understand or to build a program, but quite another to be able to compare two different algorithms for completing the same task.

Pupils are taught to look at algorithms such as “Bubble Sort” and “Quicksort”, to understand the differences between them and to make judgements as to which is best in a given situation. As they continue to study, they learn formal language for explaining the comparisons, as well as how to spot patterns in code that may lead to inefficiency.

In addition, given the impact of algorithms on everything from advertising to politics via driverless cars, it is also crucial for students to be able to articulate the ethical arguments for and against the use of technology. Students of the subject learn to understand the potential and the limitations of computers and have the potential to lead the debate in the future.

Conclusion

There is more to studying Computer Science than people first think. Students can equip themselves with a whole host of transferrable skills ranging from abstraction to patience, all of which will positively impact their school studies, their further education and beyond. To assume that Computer Science is simply about computers would be wrong.


REFERENCES

[1] S. McConnell, Code Complete: A Practical Handbook of Software Construction, Microsoft Press, 2nd Edition June 2004, p521

[2] S. Sentence, J.Waite and M.Kallia, Teachers’ Experiences of using PRIMM to Teach Programming in School (Author Pre-Print),[website], January 2019, https://primming.files.wordpress.com/2019/01/pre_print_teachers__experiences_of_using_primm_to_teach_programming_in_school.pdf,  (accessed 31 January 2020)

A review of the Musical Theatre Concert & how to engage young people of different ages in musicals

Ms Katie Butler, Performing Arts Assistant, looks back to our recent Musical Theatre Concert here at WHS, as well as how we can engage different age groups in this popular form.

From Tap Dancing to Trunchbull

This year’s Musical Theatre Concert featured a selection of solos, duets and group numbers, with the very on-brand Wimbledon High theme of “Imagine”. This enabled us to tie numbers together through a common thread, while still allowing us to explore all sorts of different styles and stories. We hired in professional choreographer Lily Howkins to help create more specialised dance numbers, along with a brilliant three-piece band who really brought the music to life. This concert showcases the singing and dancing talents of girls across the senior school, providing a chance for Year 7s to perform with Sixth Formers, and for younger girls to have a taste of solo singing without the pressure of a whole show.

Sweeney Todd
Sweeney Todd was the WHS Senior Musical, with performances in January 2019

After Lilly and Emma kicked off the show with ‘Pure Imagination’ from Charlie and the Chocolate Factory, we enjoyed Year 8’s spectacular ‘Revolting Children’ from Matilda, featuring ten girls stepping out of their sensible Wimbledon High personas and into a rebellious, anti-Trunchbull mob, with ties tied around their heads and hockey sticks as weapons. We featured more Year 8 talent in the upbeat, energetic Hollywood party number ‘Someone in the Crowd’ from La La Land, with Lauren, Amelia, Phoebe and Alyssa combining pitch-perfect vocals with challenging choreography to their usual high standard.

Another choreography highlight was the tap-toed delight that was ‘Singin’ in the Rain’, with Melody and Lizzy’s vocals combined with the brilliant tap skills of Jasmine and Shangavi. Musical theatre stalwart Erin gave a convincing performance as Evan Hansen, showing real resilience and deftly taking on various characters throughout the night. Sweeney Todd’s ‘By the Sea’ and ‘Seventeen’ from Heathers were presented together, as despite the different musical styles and the twenty-five years between their creation, they explore very similar themes of women trying to convince murderous men to live a normal life with them. For the latter, Erin was joined by Lizzie, who also showcased her fantastic vocal versatility in the contrasting ‘I Feel Pretty’. All in all, it was a wonderful celebration of dramatic skill and musicianship from the entire WHS community.

Little Shop of Horrors
This dramatic moment from Little Shop of Horrors – the Year 9 and 10 musical in June 2018

Curating a Programme

As a facilitator of these kinds of events, the challenge for me was to choose a programme that was varied, interesting, and age-appropriate, engaging all the girls. Appreciation of musical theatre, and indeed of all strands of the arts and storytelling deepens with age, maturity, and life experience, and personal development is particularly accelerated during these teenage years; it’s the reason that Year 11 can sob their way through Les Miserables, yet many Year 8s are twiddling their thumbs by ‘I Dreamed a Dream’, and I was keen to curate a concert that reflected this and provided something for everyone to enjoy.

While we had Year 12 Izzy performing the wistful ‘The Movie in My Mind’ from Miss Saigon, a ballad by a Thai showgirl during the Vietnam War dreaming of a better life, we also enjoyed Izzy from Year 8’s delicately beautiful rendition of ‘Jenny’s Piano Song’ from Howard Goodall’s little-known 2010 musical Love Story (an adaptation of the 1970 film), as well as Anna’s (Year 11) infectiously positive ‘I Can Hear the Bells’ from Hairspray.

The key to a successful programme is contrast – and so with powerhouse, belting performances like Anna’s and Eleni’s rendition of ‘Let Me Be Your Star’ from NBC’s Smash, we also had numbers like Anna’s (Year 13) genuine and engaging ‘I’m Not Afraid of Anything’ from Jason Robert Brown’s song cycle Songs for a New World, and Eleni’s other number, the vulnerable ‘When He Sees Me’ from Waitress, showing off her real versatility as an actress, and brilliant comic timing.

Other performances included the wittily staged ‘Show Off’ from The Drowsy Chaperone by Jasmine & Lilly in Year 12, and the always brilliant Musical Theatre Choir taking on an arrangement of Hamilton’s Helpless that even girls much older and more experienced would have found challenging. As Year 7 girls took to the stage with a lively Disney medley, featuring solos from Melina, Martha, Hannah and Sophia, it was clear that the future of musical theatre at Wimbledon High is in very safe hands. We ended the show with two more similar numbers: ‘The Life I Never Led’ from Sister Act and ‘Nothing Stops Another Day’ from Ghost, sensitively performed by Millie and Shangavi (Year 12) respectively, followed by a rousing ‘We’re All In This Together’ from the upcoming Year 9 & 10 production of High School Musical.

Musical Theatre: more than jazz hands

Having a concert solely dedicated to musical theatre, and particularly lots of different numbers from different shows, allows students to experiment with the differences between acting through song compared to acting through prose, and how despite the snobbery that often surrounds it, musical theatre absolutely provides as much opportunity to get stuck into interesting, complicated characters as straight theatre.

For next year’s concert, I’m keen to develop this further, delving into shows by writers like Sondheim that challenge these stereotypes better than anything else. As a writer of musical theatre myself, I’m particularly interested in using platforms like this to explore adolescent pastoral themes, and with shows like Dear Evan Hansen and Heathers featured, we were able to open up conversations about darker issues like mental health, bullying and violence in schools, performing songs from musicals that wouldn’t necessarily be appropriate as school productions, but that are absolutely worthy of attention and that many of the girls know and love.

I also hope that it introduced both cast and audience to some lesser-known shows, further fuelling their interest in and passion for musicals, and that it demonstrates the versatility of musical theatre as an art form, showing that it isn’t all jazz hands and happy endings, but can be a medium to explore all manner of themes, issues and musical styles.

Computer Science at Wimbledon High

Veerman Sajadah, Head of Computer Science, investigates how a change in governmental policy in 2012 impacted the teaching of ICT and Computer Science to current pupils.

2012 marked a major change in secondary education. The education secretary announced that the Information Communication Technology (ICT) curriculum must be scrapped in favour of computer science. While this change was seen as a step forward by many, the debate is still on as to whether our students are missing out on the previously skill based ICT curriculum. Consequently, GCSEs in ICT have now disappeared to make way for new Computer Science (CS) GCSE courses from all major exam boards and all schools have had to adapt. At WHS, students were introduced to CS in Year 7 in 2013. These students were the first cohort to study CS instead of ICT.

The differences between the two subjects have been more contrasting than I anticipated, given that some of the CS content was already being brought into the ICT curriculum. CS offers more challenging topics and the subject content is more specific compared to ICT. ICT topics were seen as more relevant by students not aspiring to pursue a career in technology. If a student wanted to be a historian or lawyer, they could still relate to ICT but when being taught CS topics and programming, they have found it less relevant to what they aim to do in the future.

With all exam boards offering courses in Computer Science rather than ICT, it was important to look closely at their respective specifications. As of date, different exam boards expect different topics to be covered in different depths at GCSE and at A Level. This has major implications on how to structure the KS3 curriculum so that students are ready to cope with the GCSE contents by the end of Year 9.

When we started teaching CS to Year 7 back in September 2013, our students were excited to learn a subject different from what the previous groups had studied. Indeed, CS was a much welcomed change for our girls. This group of students are now in Year 12. Four girls are currently studying the subject at A Level and are keen to study it at University. They are our most senior girls in the subject and the only group from WHS who have a GCSE in CS. Last year’s year 11 result in CS saw all 11 girls score a grade A or A*, (100% A*/A, 46% A*).

Unfortunately, like in many schools, after the first wave of keen Computer Scientist, the numbers of students opting for the subject has fallen. Several studies have been conducted both nationally and internationally to investigate why it has been hard to attract students to study CS. At WHS, we have taken on board these researches and have worked on a plan to address the challenges that we face. We have restructured our KS3 curriculum by introducing key challenging topics early with the aim of making students feel more comfortable and confident with the subject by the time they decide whether to continue studying CS at GCSE. I believe that one of the reasons ICT uptake at GCSE was higher than CS was because students were confident and comfortable with the ICT curriculum. The introduction of programming in early years is also very important to achieve this aim. However, it is not simple to teach complex concepts to children who are too young to learn them. Fortunately, the emergence of several pieces of “children friendly” software that allow students to learn programming through “blockly” has aided teachers incredibly. We are now able to introduce coding to students as early as Year 4. This will produce a generation of students keen and enthusiastic in CS.

On the other hand, there can be a risk of bringing challenging topics to the KS3 curriculum. Students can be put off the subject if they find it too hard. Hence, it is paramount to strike the right balance between “fun” lessons and relevant CS concepts. At WHS, we have brought various new fun activities into our KS3 curriculum. Girls are now able to use the micro:bit to program ringtones and LED strips in Year 7 (see image 1 below). They can create websites and web apps in Year 8 (see image 2 below) and they can use Minecraft and robots to enhance their programming skills in Year 9 (see image 3 below). The department also offers various extra-curricular clubs to engage the students. We are also working with our Scientists in Residence every week to reinforce knowledge learnt in the classroom.

Image 1: Year 7 have been using the micro:bit to program LED lights.

Image 2: Year 8 have been using appshed to create web apps.

Image 3: Year 9 learn how to program the picaxe 20X2 robot.

Our efforts towards promoting this new subject at WHS remain as strong as ever. We are continuously thinking of new ways to promote CS amongst the girls with a view to preparing them for their technological future. We also reach out to Universities such as Imperial College and work with them on projects that allow female students to come in and inspire our pupils. Being a Microsoft Showcase school, we are lucky to participate in events run by Microsoft and we are also looking at inviting experts to deliver talks on latest technologies and innovations in the world of CS. The future of the subject at WHS is bright and we are all ready to embrace it.

Research articles:

1.Computing or ICT: which would serve our pupils better?

https://www.theguardian.com/teacher-network/teacher-blog/2013/aug/12/computing-ict-curriculum-teaching-debate

2.Encouraging Girls to Participate in Computer Science

https://www.slideshare.net/kimarnold28/encouraging-girls-to-participate-in-computer-science-1-092014

3.School ICT to be replaced by computer science programme

http://www.bbc.co.uk/news/education-16493929

4.Women in Computer Science: Getting Involved in STEM

https://www.computerscience.org/resources/women-in-computer-science/

 

Twitter: @CS_IT_WHS