<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="https://www.applyingmaths.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.applyingmaths.com/" rel="alternate" type="text/html" /><updated>2026-02-01T13:00:02+00:00</updated><id>https://www.applyingmaths.com/feed.xml</id><title type="html">Applying Maths</title><subtitle>Resources and teaching ideas for Higher Applications of Mathematics, and much more.</subtitle><entry><title type="html">Maths is an Endangered Species</title><link href="https://www.applyingmaths.com/2026/02/01/maths-is-an-endangered-species.html" rel="alternate" type="text/html" title="Maths is an Endangered Species" /><published>2026-02-01T00:45:01+00:00</published><updated>2026-02-01T00:45:01+00:00</updated><id>https://www.applyingmaths.com/2026/02/01/maths-is-an-endangered-species</id><content type="html" xml:base="https://www.applyingmaths.com/2026/02/01/maths-is-an-endangered-species.html"><![CDATA[<p><img src="/assets/images/leila-boujnane-qSSAO8Rn6ic-unsplash.jpg" alt="" />
In Scotland, mathematics lessons are in danger of becoming extinct. A recruitment crisis, and a systemic indifference are conspiring to make maths a thing of the past.</p>

<h2 id="environmental-factors">Environmental Factors</h2>

<p>I’ve <a href="https://applyingmaths.com/2025/09/07/whos-teaching-maths-monday">written before</a> about recruitment. We are repeatedly missing targets for new maths PGDEs. And the targets are unambitious in the first place. In 2024 we only managed to recruite 75 students. We also have the <a href="https://www.eis.org.uk/workload-ballot/workloadballot">EIS ballot</a> to reduce workload. I think every teacher reading this will agree we need to reduce workload, but we must be clear-eyed about what this means for mathematics. We would need to either cut the amount of maths taught, or be forced to hire more maths teachers.</p>

<p>We’re already stretched to the limit. Hiring primary school teachers to take S1-S3s is commonplace. Job adverts go unanswered. Maths lessons are pushed out of the timetable.</p>

<p>For some people in education in Scotland, this is seen as a good thing. “<a href="https://www.tes.com/magazine/news/secondary/hayward-review-ades-scottish-government">Get Hayward Done</a>” is the cry.</p>

<p>The view is that instead of learning mathematics, delivered by an expert teacher, students can learn through working through projects. And forget those pesky exams - let’s mark them internally.</p>

<p>“Get Hayward Done” - borrowing heavily from Boris Johnson’s “Get Brexit Done.” I look forward to reading the “oven-ready” Hayward implementation plan.</p>

<h2 id="nearly-extinct">Nearly extinct</h2>

<p>Let me paint a picture of what will happen if no action is taken. Recruitment won’t pick up. Schools will need to rebalance their timetables so maths teachers only teach senior phase. The Broad General Education (BGE) phase will be taught by non-experts, with students guided through projects with mixed success. Schools in less affluent areas will get a lower quality of maths education- hit harder by poor recruitment, and this increases student apathy.</p>

<p>National 5 results nosedive. Quality teaching in the BGE has reduced and the knock-on effect is plain to see. The exams become easier, but grade boundaries still hit the floor. The attainment gap increases.</p>

<p>Exams are scrapped in the name of equity.</p>

<p>Numeracy now is awarded through a Hayward project. Schools aspire to have every student achieve a level 5. Those aspirations are not subject to external scrutiny. The Education Secretary is able to tell parliament about how a record number of young people are achieving in maths.</p>

<p>Higher still exists. The brightest students in S1 are put onto the Higher track and still receive maths teacher input. Many maths teachers make money on the side tutoring for Highers - the market for it has grown!</p>

<p>The attainment gap for Higher is huge. The kids who are tutored tend to have wealthier parents. But don’t worry - there’s now a level 6 project that students seem to do really well at. Politicians are therefore judged positively on their tackling of the attainment gap.</p>

<h2 id="were-all-responsible">We’re all responsible</h2>

<p>I’d love to blame politicians for this mess. But the truth is we’re all responsible here. We’ve failed to defend mathematics as a subject.</p>

<p>Maths is often pitched as a utility. It’s the useful subject. It’s valued by workplaces, it can be used to solve problems. This is all true, but this isn’t why we teach the subject.</p>

<p>More often I see maths is pitched as a piece of paper. Achieving National 5 will open doors. A Higher Maths is needed for the university course. I think this thinking has lead to so much procedural learning in the maths classroom.</p>

<p>There is a sentiment I see far too often, which is “Our kids can’t.” The view that our kids, in our particular school, are not capable of understanding maths.</p>

<p>“Just show them the process - it’s all they need.”</p>

<p>“She isn’t a Nat 5 kid. That will do for Nat 4.”</p>

<p>“They won’t understand what the word “operation” means.”</p>

<p>If, as maths teachers, we aren’t in the room to teach students maths… then what exactly are we there to do? We are a profession who have forgotten our purpose.</p>

<p>National 5 is too procedural and has promoted bad teaching. National 4 is corrosive, and had gutted our BGE curriculum. We must reclaim our classrooms.</p>

<h2 id="last-chance-to-save">Last Chance to Save</h2>

<p>Why do we teach mathematics? Do I believe that teaching maths helps the workforce? Do I believe that a massive improvement in maths education would positively affect our GDP? Yes. (For the politicians reading - keep that money coming!)</p>

<p>But this isn’t why. And I can’t say things any better than <a href="https://x.com/EmathsUK/status/1834277537276391528">Mark McCourt</a>.</p>

<p>“Mathematics is more than a set of tools for economic utility or a series of hoops students jump through to meet societal expectations. It is a way of thinking, a profound human endeavour, and an intellectual pursuit that shapes our understanding of the world and ourselves. … By defending mathematics as an intellectual pursuit, we restore its rightful place in education: not as a means to an end but as a discipline that transforms minds and grows thinkers who can tackle the most profound challenges of our time. Mathematics is not just for the marketplace—it is for the human mind.”</p>

<p>To save mathematics education, we must:</p>
<ul>
  <li>Teach mathematics in a way that promotes student understanding, not merely memorising procedures;</li>
  <li>Insist that external assessments are introduced for National 4, and resist the Hayward reforms;</li>
  <li>Accept that to make maths recruitment work, we are going to have to make some difficult decisions. This either means paying maths teachers more, or changing how we recruit teachers. I make some proposals <a href="https://applyingmaths.com/2025/09/07/whos-teaching-maths-monday">here</a>.</li>
</ul>

<p>If any of this blog post resonates with you, please come and work with me. DMs are open.</p>

<p>Maths teaching has always been a difficult beast. But if the Mountain Gorilla can be saved from extinction, maybe there’s some hope left.</p>

<p>Photo credit: Photo by <a href="https://unsplash.com/@leilaboujnane">Leila Boujnane</a>.</p>]]></content><author><name></name></author><category term="Hayward" /><category term="Recruitment" /><summary type="html"><![CDATA[In Scotland, mathematics lessons are in danger of becoming extinct. A recruitment crisis, and a systemic indifference are conspiring to make maths a thing of the past.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.applyingmaths.com/assets/images/leila-boujnane-qSSAO8Rn6ic-unsplash.jpg" /><media:content medium="image" url="https://www.applyingmaths.com/assets/images/leila-boujnane-qSSAO8Rn6ic-unsplash.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Christmas Treats</title><link href="https://www.applyingmaths.com/2025/12/14/christmas-treats.html" rel="alternate" type="text/html" title="Christmas Treats" /><published>2025-12-14T00:45:01+00:00</published><updated>2025-12-14T00:45:01+00:00</updated><id>https://www.applyingmaths.com/2025/12/14/christmas-treats</id><content type="html" xml:base="https://www.applyingmaths.com/2025/12/14/christmas-treats.html"><![CDATA[<p>Christmas Themed Advanced Higher Maths and Higher Applications resources.
<img src="/assets/images/christmas-image.avif" alt="" /></p>

<h1 id="advanced-higher">Advanced Higher</h1>

<p><a href="/assets/pdfs/advanced-higher-christmas-2025.pdf">Advanced Higher Christmas Problems 2025</a></p>

<h1 id="higher-apps">Higher Apps</h1>

<p><a href="/assets/pdfs/higher-apps-christmas-2025.pdf">Higher Apps Christmas Problems 2025</a></p>

<h1 id="national-5">National 5</h1>
<p><a href="/assets/pdfs/nat5-christmas-2025.pdf">National 5 Christmas Problems 2025</a></p>

<p>Enjoy!</p>

<p>Photo credit: <a href="https://unsplash.com/@melpoole">Mel Poole</a></p>]]></content><author><name></name></author><category term="Advanced-Higher" /><category term="Higher-Apps" /><category term="National 5" /><category term="Christmas" /><summary type="html"><![CDATA[Christmas Themed Advanced Higher Maths and Higher Applications resources.]]></summary></entry><entry><title type="html">Interactive Gantt Charts</title><link href="https://www.applyingmaths.com/2025/09/12/interactive-gantt-charts.html" rel="alternate" type="text/html" title="Interactive Gantt Charts" /><published>2025-09-12T00:45:01+00:00</published><updated>2025-09-12T00:45:01+00:00</updated><id>https://www.applyingmaths.com/2025/09/12/interactive-gantt-charts</id><content type="html" xml:base="https://www.applyingmaths.com/2025/09/12/interactive-gantt-charts.html"><![CDATA[<p>I’ve created a tool that lets you make interactive Gantt charts - you can find it <a href="/gantt-maker">here</a>.</p>

<p>I created this tool because I felt one of the hardest questions on the 2025 Higher Apps paper was this one:</p>

<p><img src="/assets/images/2025-09-12-teddy-gantt-question.png" alt="2025 Q4c" /></p>

<p>I think if you can visualise sliding the tasks within the float times, you can see that there’s only one hour where all three employees are needed simultaneously.</p>

<p>A demonstration:
<img src="/assets/images/2025-09-25-teddy-demo.gif" alt="" /></p>

<p>The Gantt chart has past paper questions pre-programmed, as well as a bank of random projects. Suggested teaching approach:</p>
<ul>
  <li>Display the precedence table to the class.</li>
  <li>Have students produce a Gantt chart - <a href="/assets/downloads/blank-gantt-grids.docx">these blank Gantt grids</a> might be useful.</li>
  <li>Throw in your own questions - “What happens if activity D is delayed by an hour?”, “How quickly can the project be completed if there are only 2 employees working in it?”, “State the critical path.”</li>
</ul>

<p>You can also edit the activities and make your own questions. Have fun!</p>

<p>If you find the tool useful, let me know!</p>]]></content><author><name></name></author><category term="Gantt-charts" /><category term="Higher-Apps" /><summary type="html"><![CDATA[I’ve created a tool that lets you make interactive Gantt charts - you can find it here.]]></summary></entry><entry><title type="html">Who’s Teaching Maths on Monday?</title><link href="https://www.applyingmaths.com/2025/09/07/whos-teaching-maths-monday.html" rel="alternate" type="text/html" title="Who’s Teaching Maths on Monday?" /><published>2025-09-07T00:45:01+00:00</published><updated>2025-09-07T00:45:01+00:00</updated><id>https://www.applyingmaths.com/2025/09/07/whos-teaching-maths-monday</id><content type="html" xml:base="https://www.applyingmaths.com/2025/09/07/whos-teaching-maths-monday.html"><![CDATA[<p>There are 75 people currently on an Initial Teacher Training (ITE) course in Scotland to become a maths teacher, well short of the 250 2024 target. And this isn’t a one-off, the target hasn’t been met in years, and it’s getting worse.</p>

<p><img src="/assets/images/whos-teaching-maths-monday-ITE-graph.svg" alt="A graph showing the decline of maths recruits to ITE" /></p>

<p>75 is the upper limit of new teachers - not all of them will complete the course, pass their placements, or continue teaching after probation. And 75 is a small number. Right now there are 20 maths vacancies in Scotland - and we’re only weeks into the term.</p>

<h1 id="grow-your-own">Grow Your Own</h1>

<p>One solution is the grow-your-own approach, where primary or non-maths secondary teachers are taken on as “Teacher of BGE” or similar. At its best, these teachers are supported through dual registration, teaching S1-S3 Broad General Education (BGE) mathematics while completing university credits to be able to become a full secondary maths teacher.</p>

<p>But the worry is in many cases non-specialists are simply being used to prop up mathematics departments that just wouldn’t function without them. My biggest worry here is that the mathematics curriculum gets reduced down to the National 3 and National 4 specification. These qualifications have no external exams and are completed in class, and offer poor prospects of progression onto National 5. But giving teachers of BGE some low sets, and a pack of practice National 4 papers, will seem tempting for many schools.</p>

<p>The General Teaching Council for Scotland (GTCS) are obviously concerned about this, and <a href="https://www.tes.com/magazine/news/general/primary-teachers-secondary-schools-scotland-undermines-registration">wrote to the Directors of Education back in February</a>.</p>

<p>Throw into the mix the recent ballot by EIS, Scotland’s largest teaching union, to <a href="https://www.eis.org.uk/campaigns/workloadballot">cut contact time</a>, and we’re heading for disaster. If teachers have fewer periods, and there’s no new staff to plug the gaps, the obvious casualties will be Higher classes, and cuts to the number of BGE maths classes.</p>

<p>We can’t keep stumbling on like this.</p>

<h1 id="solutions">Solutions</h1>

<p>I propose two solutions, neither of which I expect to be popular.</p>

<ul>
  <li>Shortage Subject Supplement</li>
</ul>

<p>Centrally funded cash to pay maths (and other shortage subjects) more money.
I don’t think this needs much explanation, the economics is simple. We need to pay people to get them through the door, and pay them more to keep them.</p>

<ul>
  <li>Teach First</li>
</ul>

<p>I find that in Scotland people seem to have taken against the idea of Teach First. Or more accurately: they’ve taken against what they reckon Teach First is.</p>

<p>I declare an interest here, as I trained through Teach First, so obviously I have a bias.</p>

<p>The training programme was research based, academic, and high quality. You take a bunch of enthusiastic graduates, put them through training, embed them in a school, and then work continuously with them for two years to make them highly effective.</p>

<p>The schools get a supply of teachers - and cheap ones. The trainees get a school mentor, a university mentor, and a Teach First mentor - plenty of support.</p>

<p>As a Head of Department at a school with a low average <a href="https://www.gov.scot/collections/scottish-index-of-multiple-deprivation-2020/">SIMD</a> I need to say it clearly: We need Teach First.</p>

<h1 id="leadership">Leadership</h1>

<p>Right now we need political leadership. We can’t just sit tight and hope for the best, or things will continue to decline. Neither of my proposals will be widely welcomed, but what’s the solution I’ve missed?</p>

<p>I named this blog: “Who’s teaching Maths on Monday?” There’s an academic debate to be had about teacher salaries, or the structure of ITE courses in Scotland. But for those of us on the front line the impact is very real and very immediate. Period 1 on Monday, I have 33 students coming into a classroom to learn some maths. Who’s going to teach them?</p>]]></content><author><name></name></author><category term="Recruitment" /><category term="Teach-First" /><summary type="html"><![CDATA[There are 75 people currently on an Initial Teacher Training (ITE) course in Scotland to become a maths teacher, well short of the 250 2024 target. And this isn’t a one-off, the target hasn’t been met in years, and it’s getting worse.]]></summary></entry><entry><title type="html">SMC 2025</title><link href="https://www.applyingmaths.com/2025/05/18/smc-2025.html" rel="alternate" type="text/html" title="SMC 2025" /><published>2025-05-18T00:00:00+00:00</published><updated>2025-05-18T00:00:00+00:00</updated><id>https://www.applyingmaths.com/2025/05/18/smc-2025</id><content type="html" xml:base="https://www.applyingmaths.com/2025/05/18/smc-2025.html"><![CDATA[<p>Thanks to everybody who came to the SMC, my presentation and a bunch of related files can be downloaded here:</p>

<p><a href="/assets/downloads/SMC-2025-Files.zip">Download me!</a></p>]]></content><author><name></name></author><category term="SMC" /><category term="Mastery" /><category term="Motivation" /><summary type="html"><![CDATA[Thanks to everybody who came to the SMC, my presentation and a bunch of related files can be downloaded here:]]></summary></entry><entry><title type="html">Save That Baby</title><link href="https://www.applyingmaths.com/2025/02/04/save-that-baby.html" rel="alternate" type="text/html" title="Save That Baby" /><published>2025-02-04T00:00:00+00:00</published><updated>2025-02-04T00:00:00+00:00</updated><id>https://www.applyingmaths.com/2025/02/04/save-that-baby</id><content type="html" xml:base="https://www.applyingmaths.com/2025/02/04/save-that-baby.html"><![CDATA[<p>Save That Baby is a four lesson programme that covers:</p>

<ul>
  <li>Interpreting Charts</li>
  <li>Substituting into Formulae</li>
  <li>Converting Metric Units</li>
  <li>Simple Ratio</li>
</ul>

<p>The programme sets these topics in the context of paediatric care.</p>

<p>You will require:</p>

<ul>
  <li>A baby doll</li>
  <li>A weighing scale</li>
  <li>A  medicine dosage measurer- the type found in packs of Calpol</li>
</ul>

<p><img src="/assets/images/PXL_20250205_102524166.MP.jpg" alt="Save That baby Essentials" /></p>

<p>The programme is for students in their first year of high school. The purposes are as follows:</p>

<ul>
  <li>To allow students to see mathematics being used in a simple to understand applied context.</li>
  <li>To build student confidence.</li>
  <li>To give students a fun and memorable experience with mathematics in their first year of high school.</li>
</ul>

<p>This document will share the lesson outlines, as well as links to templates that can be used in delivering the class. In the final section you can read about the context in which this programme was used at Kirkcaldy High School in Fife.</p>
<h1 id="lesson-1">Lesson 1</h1>

<p>The focus is on interpreting tables and graphs.
Students are presented with the following blood pressure chart:</p>

<p><img src="/assets/images/bp-range-chart.jpg" alt="Blood Pressure Chart" /></p>

<p>The teacher can model looking up a few examples, plotting the location of the points.</p>

<p>The students now answer the questions on the first page of “Lesson 1 Worksheet”. These questions could be asked via mini-whiteboards.</p>

<p>Next up students are shown this busy looking chart:
<img src="/assets/images/DosageTable_diphenhydramine_sharp.jpg" alt="Dosage table" /></p>

<p>Again the teacher can model using the table, and pose the questions on the second half of the “Lesson 1 Worksheet”.</p>

<h1 id="lesson-2">Lesson 2</h1>

<p>The focus of this lesson is substituting into a formula.</p>

<p>To work out a dosage, measured in milligrams, students are given two formulae:</p>

<p><strong>Weight-based formula</strong></p>

\[Dosage = 100 + Mass \times 250\]

<p>Where mass is measured in kilograms.</p>

<p><strong>Age-based formula</strong></p>

\[Dosage = 50 + Age \times 300\]

<p>Where age is measured in months.</p>

<p>Students are to use these formulae to work out the dosage of medicine required for infants, so all examples will use a mass between  3 kg and 12 kg, and ages between 2 months and 24 months.</p>

<p>Mini-whiteboards are useful for this task, or projecting questions on the board. Example questions:</p>

<ol>
  <li>6 months old</li>
  <li>9 months old</li>
  <li>1 year old</li>
  <li>
    <ol>
      <li>5 kg</li>
    </ol>
  </li>
  <li>3.7 kg</li>
  <li>4500 g</li>
</ol>

<p>The final question above can lead to a discussion about converting metric units. “Kilo” means “thousand”, and “milli” means “thousandth”.</p>

<p>Students are give the following task:</p>

<p>Convert the following to grams (g):</p>
<ol>
  <li>3 kg</li>
  <li>3.2 kg</li>
  <li>25 kg</li>
  <li>4000 mg</li>
  <li>5500 mg</li>
  <li>3 mg</li>
  <li>0.04 kg</li>
</ol>

<p>Finally, students are asked to put everything together. They are given the following table to use:</p>

<table>
  <thead>
    <tr>
      <th>Age Group</th>
      <th>Weight Range</th>
      <th>Formula</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1-3 months</td>
      <td>≤ 5 kg</td>
      <td>Age-Based</td>
    </tr>
    <tr>
      <td>1-3 months</td>
      <td>&gt; 5 kg</td>
      <td>Weight-Based</td>
    </tr>
    <tr>
      <td>4-6 months</td>
      <td>≤ 7 kg</td>
      <td>Age-Based</td>
    </tr>
    <tr>
      <td>4-6 months</td>
      <td>&gt; 7 kg</td>
      <td>Weight-Based</td>
    </tr>
    <tr>
      <td>7-12 months</td>
      <td>≤ 9 kg</td>
      <td>Age-Based</td>
    </tr>
    <tr>
      <td>7-12 months</td>
      <td>&gt; 9 kg</td>
      <td>Weight-Based</td>
    </tr>
  </tbody>
</table>

<p>Question: “Calculate the dosage, in grams, needed for a 5 month old who weighs 7.3 kg.”</p>

<p>Here students must correctly identify the correct formula to use, substitute into that formula, and then convert their answer to grams.</p>

<h1 id="lesson-3">Lesson 3</h1>

<p>The focus of lesson 3 is using ratio, with a focus on using the notation correctly.</p>

<p>Begin Lesson 3 with a recap, showing the table from lesson 2 and have the students work out a few more dosages based on different masses and ages.</p>

<p>Model the following example:</p>

<p>“Medicine X is a liquid.</p>

<p>It contains 1g per ml.</p>

<p>How many ml do I need to give my baby if it needs 5g of Medicine X?”</p>

\[1\thinspace g : 1 \thinspace ml\]

\[5 \thinspace g : 5 \thinspace ml\]

<p>Add arrows showing both sides are multiplied by 5, because $5 \div 1 = 5$.</p>

<p>Similarly model:</p>

<p>“Medicine Y is a liquid.</p>

<p>It contains 0.2g per ml.</p>

<p>How many ml do I need to give my baby if it needs 10g of Medicine X?”</p>

\[0.2\thinspace g : 1 \thinspace ml\]

\[10 \thinspace g : 50 \thinspace ml\]

<p>Add arrows showing both sides are multiplied by 50, because \(10 \div 0.2 = 50\).</p>

<p>The “Lesson 3 Worksheet” can then be used.</p>

<p>Care should be taken to ensure that students are confident completing question 4.</p>

<h1 id="lesson-4---save-that-baby">Lesson 4 - Save That Baby</h1>

<p>The final lesson is when students get to show off their skills.</p>

<p>Print a colour copy of “Save That Baby” and laminate it. If you prefer to edit the document you can on Canva via this link: <a href="https://www.canva.com/design/DAGdedF_AjQ/Br90uEitRabogeM0TFslHw/view?utm_content=DAGdedF_AjQ&amp;utm_campaign=designshare&amp;utm_medium=link&amp;utm_source=publishsharelink&amp;mode=preview">Canva</a></p>

<p>Give the students access to the baby, the weighing scale, some liquid (water and food colouring), and the Save That Baby sheet.</p>

<p>On the board, or printed, have the two Dosage formulae and the table from lesson 2.</p>

<p>Students must weigh the baby. Because a doll will be light, I instruct the students to multiply their mass by 10. Adjust this as necessary.</p>

<p>Using the table, have the student describe which formula they will use.</p>

<p>The student then uses the formula, and converts their answer into grams.</p>

<p>Using the worksheet, the student finds the amount of medicine (in grams) for 1 ml, 2.5 ml and 5 ml of liquid medicine, and decides which of the 3 is most suitable.</p>

<p>Finally they use the dosage measurer to get the correct amount.</p>

<p>If successful, they have “Saved That Baby” and get a certificate. Certificates are easy to generate online.</p>

<p>The one I used can be found <a href="https://www.canva.com/design/DAGeCum5uHE/s17QExj0GYWBjyOzIIKSyQ/view?utm_content=DAGeCum5uHE&amp;utm_campaign=designshare&amp;utm_medium=link&amp;utm_source=publishsharelink&amp;mode=preview">here</a>.</p>

<p><img src="/assets/images/save-that-baby.png" alt="Certificate" /></p>

<p>Students can complete individually, or in pairs. Have several sheets printed and people can complete the task concurrently.</p>

<p>When it’s not their turn, have students working on another task. When I run this, I have the other students complete a task where they plot bar charts and dot plots.</p>
<h1 id="context">Context</h1>

<p>At Kirkcaldy High School, we gave S1 pupils the chance to decide between different elective “Numeracy Periods.” The overall aim was to give students some choice and increase the enjoyment of mathematics. Students do one numeracy period a week for a term, and then move on to a different numeracy class.</p>

<p>“Save That Baby” was a four lesson run under “Medical Maths”, which explored medicine as a context for practicing different numeracy topics.</p>

<p>By the elective nature of the class, students had a range of prior knowledge before taking joining the class. Some had no experience of algebra or ratio notation for example, whilst others did.</p>

<p>The sole purpose was to give students a taste of success and enjoyment in mathematics.</p>

<p>I’d recommend using the programme as part of a run of lessons early into the first year of high school.</p>

<p>Adjust the material to suit the needs of the students and your own teaching style. As you can see from the certificate design, kitsch was the order of the day. I found pretending the baby was real “remember to support the neck” and having it visible during the earlier lessons was important.</p>

<p>Feedback from students has been positive. We surveyed whether the programme helped them “see how maths is used in real life” (100% agreed), whether they enjoyed the programme (83%), whether they felt more confident in their maths abilities (83%) and whether the programme was memorable (92%).</p>

<p>Perhaps the most important feedback came from two students who didn’t want to put their certificates in their bags. “Can we get it laminated?”</p>]]></content><author><name></name></author><category term="Metric" /><category term="Substitution" /><category term="ratio" /><category term="charts" /><summary type="html"><![CDATA[Save That Baby is a four lesson programme that covers:]]></summary></entry><entry><title type="html">Maths Conf 33 Materials – Not Your Average Lesson</title><link href="https://www.applyingmaths.com/2023/10/08/maths-conf-33-materials-not-your-average-lesson.html" rel="alternate" type="text/html" title="Maths Conf 33 Materials – Not Your Average Lesson" /><published>2023-10-08T18:16:01+00:00</published><updated>2023-10-08T18:16:01+00:00</updated><id>https://www.applyingmaths.com/2023/10/08/maths-conf-33-materials-not-your-average-lesson</id><content type="html" xml:base="https://www.applyingmaths.com/2023/10/08/maths-conf-33-materials-not-your-average-lesson.html"><![CDATA[<p>Thanks to everybody who came along to my session at Maths Conf 33.</p>

<p>You can download all the slides and resources here:</p>

<p><a href="/assets/downloads/2023-10-08-Not-Your-Average-Lesson-1.pptx">Not Your Average Lesson</a></p>

<p><a href="/assets/downloads/2023-10-08-Dot-Plots-Task.pptx">Dot Plot Task</a></p>

<p><a href="/assets/downloads/2023-10-08-Which-Average-2-1.pdf">Which Average Worksheet</a></p>

<p><a href="/assets/downloads/2023-10-08-Histograms-1.pptx">Histogram Task</a></p>]]></content><author><name></name></author><category term="Statistics Averages MathsConf" /><summary type="html"><![CDATA[Thanks to everybody who came along to my session at Maths Conf 33.]]></summary></entry><entry><title type="html">Randomly Create Datasets</title><link href="https://www.applyingmaths.com/2023/09/11/randomly-create-datasets.html" rel="alternate" type="text/html" title="Randomly Create Datasets" /><published>2023-09-11T20:16:01+00:00</published><updated>2023-09-11T20:16:01+00:00</updated><id>https://www.applyingmaths.com/2023/09/11/randomly-create-datasets</id><content type="html" xml:base="https://www.applyingmaths.com/2023/09/11/randomly-create-datasets.html"><![CDATA[<h1 id="warning-very-geeky">Warning: Very Geeky</h1>

<p>If you’re here because you want some nice datasets to use, then head <a href="/datasets-for-higher-apps">here</a>.</p>

<p>I wanted to see if it was possible to write some code in R that would randomly create a dataset suitable to perform a t.test, cor.test or prop.test on.</p>

<p>I’ve not got much coding experience but I thought it was worth a punt. So below I share what I’ve come up with…</p>

<p>First copy and paste the following code into R Studio:</p>

<div class="language-r highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">
</span><span class="c1">######## Functions 2.0</span><span class="w">


</span><span class="c1">### First run these libraries</span><span class="w">

</span><span class="n">Install</span><span class="w"> </span><span class="n">dplyr</span><span class="w"> </span><span class="n">package</span><span class="w">
</span><span class="n">install.packages</span><span class="p">(</span><span class="s2">"dplyr"</span><span class="p">)</span><span class="w">   

</span><span class="c1"># Load dplyr package    </span><span class="w">
</span><span class="n">library</span><span class="p">(</span><span class="s2">"dplyr"</span><span class="p">)</span><span class="w"> 

</span><span class="c1">### Now Run overthing between the #########------------</span><span class="w">


</span><span class="c1">#########------------</span><span class="w">

</span><span class="c1">### Cor test</span><span class="w">


</span><span class="n">cor_test_data_creator</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="k">function</span><span class="p">(</span><span class="n">dataset_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"mydata.csv"</span><span class="p">,</span><span class="w">
                                  </span><span class="n">first_column_name</span><span class="o">=</span><span class="s2">"First"</span><span class="p">,</span><span class="w"> 
                                  </span><span class="n">second_coloumn_name</span><span class="o">=</span><span class="s2">"Second"</span><span class="p">,</span><span class="w"> 
                                  </span><span class="n">mean_x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">50</span><span class="p">,</span><span class="w"> 
                                  </span><span class="n">sd_x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">3</span><span class="p">,</span><span class="w"> 
                                  </span><span class="n">max_y</span><span class="o">=</span><span class="m">100</span><span class="p">,</span><span class="w"> 
                                  </span><span class="n">min_y</span><span class="o">=</span><span class="m">0</span><span class="p">,</span><span class="w"> 
                                  </span><span class="n">m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">1</span><span class="p">,</span><span class="w"> 
                                  </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">5</span><span class="p">,</span><span class="w"> 
                                  </span><span class="n">R</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"Strong"</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w">
  </span><span class="c1">#Sample size</span><span class="w">
  </span><span class="n">n</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="m">30</span><span class="o">:</span><span class="m">110</span><span class="p">,</span><span class="w"> </span><span class="m">1</span><span class="p">)</span><span class="w">
  
  
  </span><span class="c1">#x data</span><span class="w">
  </span><span class="n">x</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">round</span><span class="p">(</span><span class="n">rnorm</span><span class="p">(</span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">mean</span><span class="o">=</span><span class="n">mean_x</span><span class="p">,</span><span class="w"> </span><span class="n">sd</span><span class="o">=</span><span class="n">sd_x</span><span class="p">),</span><span class="m">1</span><span class="p">)</span><span class="w">
  
  </span><span class="c1">#strong or weak?</span><span class="w">
  

  </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">R</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s2">"Strong"</span><span class="p">){</span><span class="w">
    </span><span class="n">fuzz_max</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="m">1.06</span><span class="w">
    </span><span class="n">fuzz_min</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="m">0.94</span><span class="w">
  
  </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">R</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s2">"Weak"</span><span class="p">){</span><span class="w">
      
      </span><span class="n">fuzz_max</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="m">1.18</span><span class="w">
      </span><span class="n">fuzz_min</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="m">0.82</span><span class="w">
      
    </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="n">y</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">round</span><span class="p">(</span><span class="n">rnorm</span><span class="p">(</span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">mean</span><span class="o">=</span><span class="n">mean</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">*</span><span class="n">m</span><span class="o">+</span><span class="n">c</span><span class="p">,</span><span class="w"> </span><span class="n">sd_x</span><span class="o">*</span><span class="n">m</span><span class="o">+</span><span class="n">c</span><span class="p">),</span><span class="m">1</span><span class="p">)</span><span class="w">
      </span><span class="c1">## dataframe</span><span class="w">
      
      </span><span class="n">df</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">data.frame</span><span class="p">(</span><span class="n">first_column_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">second_coloumn_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w">
      </span><span class="nf">names</span><span class="p">(</span><span class="n">df</span><span class="p">)[</span><span class="m">1</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">first_column_name</span><span class="w">
      </span><span class="nf">names</span><span class="p">(</span><span class="n">df</span><span class="p">)[</span><span class="m">2</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">second_coloumn_name</span><span class="w">
      
      </span><span class="c1">#create csv file</span><span class="w">
      </span><span class="n">file_location</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">paste</span><span class="p">(</span><span class="s2">"C:\\Users\\YOU\\Desktop\\"</span><span class="p">,</span><span class="w"> </span><span class="n">dataset_name</span><span class="p">,</span><span class="w"> </span><span class="n">sep</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span><span class="w">
      
      
      </span><span class="n">write.csv</span><span class="p">(</span><span class="n">df</span><span class="p">,</span><span class="w"> </span><span class="n">file_location</span><span class="p">,</span><span class="w"> </span><span class="n">row.names</span><span class="o">=</span><span class="kc">FALSE</span><span class="p">)</span><span class="w">
      </span><span class="n">print</span><span class="p">(</span><span class="n">cor.test</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">))</span><span class="w">
      </span><span class="nf">return</span><span class="p">()</span><span class="w">
      
    </span><span class="p">}</span><span class="w"> 
  </span><span class="p">}</span><span class="w">
  
  
  </span><span class="c1"># y data</span><span class="w">
  
  </span><span class="n">length_of_y</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">length</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="w">
  
  </span><span class="n">y</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">vector</span><span class="p">(</span><span class="n">mode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"numeric"</span><span class="p">,</span><span class="w"> </span><span class="n">length_of_y</span><span class="p">)</span><span class="w">
  
  </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="m">1</span><span class="o">:</span><span class="n">length_of_y</span><span class="p">){</span><span class="w">
    </span><span class="n">y</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">round</span><span class="p">((</span><span class="n">x</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">*</span><span class="n">runif</span><span class="p">(</span><span class="m">1</span><span class="p">,</span><span class="w"> </span><span class="n">fuzz_min</span><span class="p">,</span><span class="w"> </span><span class="n">fuzz_max</span><span class="p">))</span><span class="o">*</span><span class="n">m</span><span class="o">+</span><span class="n">c</span><span class="o">*</span><span class="n">runif</span><span class="p">(</span><span class="m">1</span><span class="p">,</span><span class="w"> </span><span class="n">fuzz_min</span><span class="p">,</span><span class="w"> </span><span class="n">fuzz_max</span><span class="p">),</span><span class="m">1</span><span class="p">)</span><span class="w">
    </span><span class="c1">#validate</span><span class="w">
    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">between</span><span class="p">(</span><span class="n">y</span><span class="p">[</span><span class="n">i</span><span class="p">],</span><span class="n">min_y</span><span class="p">,</span><span class="w"> </span><span class="n">max_y</span><span class="p">)){</span><span class="w">
      
    </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="n">y</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">round</span><span class="p">(</span><span class="n">rnorm</span><span class="p">(</span><span class="m">1</span><span class="p">,</span><span class="w"> </span><span class="n">mean</span><span class="o">=</span><span class="n">mean</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">*</span><span class="n">m</span><span class="o">+</span><span class="n">c</span><span class="p">,</span><span class="w"> </span><span class="n">sd_x</span><span class="o">*</span><span class="n">m</span><span class="o">+</span><span class="n">c</span><span class="p">),</span><span class="m">1</span><span class="p">)</span><span class="w">
      </span><span class="n">print</span><span class="p">(</span><span class="s2">"Out of bounds"</span><span class="p">)</span><span class="w">
    </span><span class="p">}</span><span class="w">

  </span><span class="p">}</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">y</span><span class="p">)</span><span class="w">
  
  </span><span class="c1">## dataframe</span><span class="w">
  
  </span><span class="n">df</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">data.frame</span><span class="p">(</span><span class="n">first_column_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">second_coloumn_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w">
  </span><span class="nf">names</span><span class="p">(</span><span class="n">df</span><span class="p">)[</span><span class="m">1</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">first_column_name</span><span class="w">
  </span><span class="nf">names</span><span class="p">(</span><span class="n">df</span><span class="p">)[</span><span class="m">2</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">second_coloumn_name</span><span class="w">
  
  </span><span class="c1">#create csv file</span><span class="w">
  </span><span class="n">file_location</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">paste</span><span class="p">(</span><span class="s2">"C:\\Users\\YOU\\Desktop\\"</span><span class="p">,</span><span class="w"> </span><span class="n">dataset_name</span><span class="p">,</span><span class="w"> </span><span class="n">sep</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span><span class="w">
  
  
  </span><span class="n">write.csv</span><span class="p">(</span><span class="n">df</span><span class="p">,</span><span class="w"> </span><span class="n">file_location</span><span class="p">,</span><span class="w"> </span><span class="n">row.names</span><span class="o">=</span><span class="kc">FALSE</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">df</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">cor.test</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">))</span><span class="w">
  
</span><span class="p">}</span><span class="w">

</span><span class="c1">### Z-test</span><span class="w">

</span><span class="n">z_test_data_creator</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="k">function</span><span class="p">(</span><span class="n">dataset_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"mydata.csv"</span><span class="p">,</span><span class="w">
                                </span><span class="n">first_column_name</span><span class="o">=</span><span class="s2">"First"</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">second_coloumn_name</span><span class="o">=</span><span class="s2">"Second"</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">category1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"Male"</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">category2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"Female"</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">Expected</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">0.5</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">Different</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">TRUE</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w">
  </span><span class="c1">#Sample size</span><span class="w">
  </span><span class="n">n</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="m">30</span><span class="o">:</span><span class="m">60</span><span class="p">,</span><span class="w"> </span><span class="m">1</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">n</span><span class="p">)</span><span class="w">
  
  </span><span class="c1">#If different, higher or lower</span><span class="w">
  </span><span class="n">up</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="nf">c</span><span class="p">(</span><span class="kc">TRUE</span><span class="p">,</span><span class="w"> </span><span class="kc">FALSE</span><span class="p">),</span><span class="w"> </span><span class="m">1</span><span class="p">)</span><span class="w">
  </span><span class="k">if</span><span class="p">(</span><span class="n">up</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kc">TRUE</span><span class="p">){</span><span class="w">
    </span><span class="n">fuzzy</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="m">1.8</span><span class="w">
  </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="n">fuzzy</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="m">0.2</span><span class="w">
  </span><span class="p">}</span><span class="w">
  
  </span><span class="c1">#create vectors just of the categories</span><span class="w">
  </span><span class="n">first_cat</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">c</span><span class="p">(</span><span class="n">category1</span><span class="p">)</span><span class="w">
  </span><span class="n">second_cat</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">c</span><span class="p">(</span><span class="n">category2</span><span class="p">)</span><span class="w">
  
  </span><span class="c1"># Create a vector of the possible categories</span><span class="w">
  </span><span class="n">categories_first</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">c</span><span class="p">(</span><span class="n">category1</span><span class="p">,</span><span class="w"> </span><span class="n">category2</span><span class="p">)</span><span class="w">
  
  </span><span class="c1">#Number expected</span><span class="w">
  </span><span class="n">expected_number</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">round</span><span class="p">(</span><span class="n">Expected</span><span class="o">*</span><span class="n">n</span><span class="p">,</span><span class="m">0</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="s2">"expected:"</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">expected_number</span><span class="p">)</span><span class="w">
  
  </span><span class="c1">#Create category pool</span><span class="w">
  </span><span class="n">yes_pool</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="n">first_cat</span><span class="p">,</span><span class="w"> </span><span class="m">10</span><span class="o">*</span><span class="n">expected_number</span><span class="p">,</span><span class="w"> </span><span class="n">replace</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">TRUE</span><span class="p">)</span><span class="w">
  </span><span class="n">no_pool</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="n">second_cat</span><span class="p">,</span><span class="w"> </span><span class="m">10</span><span class="o">*</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="n">expected_number</span><span class="p">),</span><span class="w"> </span><span class="n">replace</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">TRUE</span><span class="p">)</span><span class="w">
  
  </span><span class="n">pool</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">c</span><span class="p">(</span><span class="n">yes_pool</span><span class="p">,</span><span class="w"> </span><span class="n">no_pool</span><span class="p">)</span><span class="w">
  
  
  </span><span class="c1">#First column</span><span class="w">
  </span><span class="n">x</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="n">pool</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">replace</span><span class="o">=</span><span class="kc">TRUE</span><span class="p">)</span><span class="w">
  
  </span><span class="c1"># second column</span><span class="w">
  
  </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">Different</span><span class="o">==</span><span class="kc">FALSE</span><span class="p">){</span><span class="w">
    </span><span class="n">y</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="n">pool</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">replace</span><span class="o">=</span><span class="kc">TRUE</span><span class="p">)</span><span class="w">
  </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="n">new_expected_number</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">round</span><span class="p">(</span><span class="n">fuzzy</span><span class="o">*</span><span class="n">Expected</span><span class="o">*</span><span class="n">n</span><span class="p">,</span><span class="m">0</span><span class="p">)</span><span class="w">
    </span><span class="n">print</span><span class="p">(</span><span class="n">new_expected_number</span><span class="p">)</span><span class="w">
    </span><span class="n">print</span><span class="p">(</span><span class="n">n</span><span class="p">)</span><span class="w">
    </span><span class="n">yes_pool</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="n">first_cat</span><span class="p">,</span><span class="w"> </span><span class="m">10</span><span class="o">*</span><span class="n">new_expected_number</span><span class="p">,</span><span class="w"> </span><span class="n">replace</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">TRUE</span><span class="p">)</span><span class="w">
    </span><span class="n">no_pool</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="n">second_cat</span><span class="p">,</span><span class="w"> </span><span class="m">10</span><span class="o">*</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="n">new_expected_number</span><span class="p">),</span><span class="w"> </span><span class="n">replace</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">TRUE</span><span class="p">)</span><span class="w">
    
    </span><span class="n">pool</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">c</span><span class="p">(</span><span class="n">yes_pool</span><span class="p">,</span><span class="w"> </span><span class="n">no_pool</span><span class="p">)</span><span class="w">
    
    </span><span class="n">y</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="n">pool</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">replace</span><span class="o">=</span><span class="kc">TRUE</span><span class="p">)</span><span class="w">
  </span><span class="p">}</span><span class="w">
  
    </span><span class="c1">### Making the data frame</span><span class="w">

  </span><span class="n">df</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">data.frame</span><span class="p">(</span><span class="n">first_column_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">second_coloumn_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w">
  </span><span class="nf">names</span><span class="p">(</span><span class="n">df</span><span class="p">)[</span><span class="m">1</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">first_column_name</span><span class="w">
  </span><span class="nf">names</span><span class="p">(</span><span class="n">df</span><span class="p">)[</span><span class="m">2</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">second_coloumn_name</span><span class="w">
  
  </span><span class="c1">#check</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">df</span><span class="p">)</span><span class="w">
  
  </span><span class="c1">#create csv file</span><span class="w">
  </span><span class="n">file_location</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">paste</span><span class="p">(</span><span class="s2">"C:\\Users\\YOU\\Desktop\\"</span><span class="p">,</span><span class="w"> </span><span class="n">dataset_name</span><span class="p">,</span><span class="w"> </span><span class="n">sep</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">file_location</span><span class="p">)</span><span class="w">
  
  </span><span class="n">write.csv</span><span class="p">(</span><span class="n">df</span><span class="p">,</span><span class="w"> </span><span class="n">file_location</span><span class="p">,</span><span class="w"> </span><span class="n">row.names</span><span class="o">=</span><span class="kc">FALSE</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">table</span><span class="p">(</span><span class="n">x</span><span class="p">))</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">table</span><span class="p">(</span><span class="n">y</span><span class="p">))</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">n</span><span class="p">)</span><span class="w">
  </span><span class="n">prop.test</span><span class="p">(</span><span class="w">
    </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">c</span><span class="p">(</span><span class="nf">as.numeric</span><span class="p">(</span><span class="n">table</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="m">1</span><span class="p">]),</span><span class="w"> </span><span class="nf">as.numeric</span><span class="p">(</span><span class="n">table</span><span class="p">(</span><span class="n">y</span><span class="p">)[</span><span class="m">1</span><span class="p">])),</span><span class="w"> 
    </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">c</span><span class="p">(</span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">))</span><span class="w">
</span><span class="p">}</span><span class="w">

</span><span class="c1">### t-test</span><span class="w">



</span><span class="n">t_test_data_creator</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="k">function</span><span class="p">(</span><span class="n">dataset_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"mydata.csv"</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">first_column_name</span><span class="o">=</span><span class="s2">"First"</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">mean_x</span><span class="o">=</span><span class="m">50</span><span class="p">,</span><span class="w"> </span><span class="n">sd_x</span><span class="o">=</span><span class="m">2</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">second_coloumn_name</span><span class="o">=</span><span class="s2">"Second"</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">mean_y</span><span class="o">=</span><span class="m">50</span><span class="p">,</span><span class="w"> 
                                </span><span class="n">sd_y</span><span class="o">=</span><span class="m">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w">
  </span><span class="c1">### Create the two columns</span><span class="w">
  
  </span><span class="c1">#Sample size</span><span class="w">
  </span><span class="n">n</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">sample</span><span class="p">(</span><span class="m">30</span><span class="o">:</span><span class="m">110</span><span class="p">,</span><span class="w"> </span><span class="m">1</span><span class="p">)</span><span class="w">
  </span><span class="c1"># The two sets</span><span class="w">
  </span><span class="n">x</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">round</span><span class="p">(</span><span class="n">rnorm</span><span class="p">(</span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">mean</span><span class="o">=</span><span class="n">mean_x</span><span class="p">,</span><span class="w"> </span><span class="n">sd</span><span class="o">=</span><span class="n">sd_x</span><span class="p">),</span><span class="m">1</span><span class="p">)</span><span class="w">
  </span><span class="n">y</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="nf">round</span><span class="p">(</span><span class="n">rnorm</span><span class="p">(</span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">mean</span><span class="o">=</span><span class="n">mean_y</span><span class="p">,</span><span class="w"> </span><span class="n">sd</span><span class="o">=</span><span class="n">sd_y</span><span class="p">),</span><span class="m">1</span><span class="p">)</span><span class="w">
  
  </span><span class="c1">#create the dataframe</span><span class="w">
  </span><span class="n">df</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">data.frame</span><span class="p">(</span><span class="n">first_column_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">second_coloumn_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w">
  </span><span class="nf">names</span><span class="p">(</span><span class="n">df</span><span class="p">)[</span><span class="m">1</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">first_column_name</span><span class="w">
  </span><span class="nf">names</span><span class="p">(</span><span class="n">df</span><span class="p">)[</span><span class="m">2</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">second_coloumn_name</span><span class="w">
  
  </span><span class="c1">#check</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">df</span><span class="p">)</span><span class="w">
  
  </span><span class="c1">#create csv file</span><span class="w">
  </span><span class="n">file_location</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">paste</span><span class="p">(</span><span class="s2">"C:\\Users\\YOU\\Desktop\\"</span><span class="p">,</span><span class="w"> </span><span class="n">dataset_name</span><span class="p">,</span><span class="w"> </span><span class="n">sep</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">file_location</span><span class="p">)</span><span class="w">
  
  </span><span class="n">write.csv</span><span class="p">(</span><span class="n">df</span><span class="p">,</span><span class="w"> </span><span class="n">file_location</span><span class="p">,</span><span class="w"> </span><span class="n">row.names</span><span class="o">=</span><span class="kc">FALSE</span><span class="p">)</span><span class="w">
  </span><span class="n">print</span><span class="p">(</span><span class="n">t.test</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">))</span><span class="w">
</span><span class="p">}</span><span class="w">




</span><span class="c1">#########------------</span><span class="w">
</span></code></pre></div></div>

<p>In the code above you’ll need to replace the code that says “C:\Users\YOU\Desktop\” with the file path for where you want the datasets to be created. Note it should be in quotes, and also note the double slash \.</p>

<p>Here are some examples of how to use the functions:</p>

<div class="language-R highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># Cor tests</span><span class="w">

</span><span class="n">args</span><span class="p">(</span><span class="n">cor_test_data_creator</span><span class="p">)</span><span class="w">

</span><span class="n">cor_test_data_creator</span><span class="p">(</span><span class="s2">"car_value.csv"</span><span class="p">,</span><span class="w"> </span><span class="s2">"age_months"</span><span class="p">,</span><span class="w"> </span><span class="s2">"value"</span><span class="p">,</span><span class="w"> </span><span class="m">60</span><span class="p">,</span><span class="w"> </span><span class="m">15</span><span class="p">,</span><span class="w"> </span><span class="m">35000</span><span class="p">,</span><span class="w"> </span><span class="m">1000</span><span class="p">,</span><span class="w"> </span><span class="m">-218.75</span><span class="p">,</span><span class="w"> </span><span class="m">25000</span><span class="p">,</span><span class="w"> </span><span class="s2">"Weak"</span><span class="p">)</span><span class="w">

</span><span class="n">cor_test_data_creator</span><span class="p">(</span><span class="s2">"charity_walk.csv"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Distance_(miles)"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Money_Raised"</span><span class="p">,</span><span class="w"> </span><span class="m">12</span><span class="p">,</span><span class="w"> </span><span class="m">3</span><span class="p">,</span><span class="w"> </span><span class="m">200</span><span class="p">,</span><span class="w"> </span><span class="m">10</span><span class="p">,</span><span class="w"> </span><span class="m">7.91</span><span class="p">,</span><span class="w"> </span><span class="m">5</span><span class="p">,</span><span class="w"> </span><span class="s2">"Weak"</span><span class="p">)</span><span class="w">

</span><span class="n">cor_test_data_creator</span><span class="p">(</span><span class="s2">"temperature_test.csv"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Temperature"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Test_Score"</span><span class="p">,</span><span class="w"> </span><span class="m">20</span><span class="p">,</span><span class="w"> </span><span class="m">7.5</span><span class="p">,</span><span class="w"> </span><span class="m">100</span><span class="p">,</span><span class="w"> </span><span class="m">0</span><span class="p">,</span><span class="w"> </span><span class="m">5</span><span class="p">,</span><span class="w"> </span><span class="m">-25</span><span class="p">,</span><span class="w"> </span><span class="s2">"None"</span><span class="p">)</span><span class="w">

</span><span class="c1">### Z tests</span><span class="w">

</span><span class="n">args</span><span class="p">(</span><span class="n">z_test_data_creator</span><span class="p">)</span><span class="w">

</span><span class="n">z_test_data_creator</span><span class="p">(</span><span class="s2">"twenty_twenty_vision.csv"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Female"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Male"</span><span class="p">,</span><span class="w"> </span><span class="s2">"20-20"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Not 20-20"</span><span class="p">,</span><span class="w"> </span><span class="m">0.35</span><span class="p">,</span><span class="w"> </span><span class="kc">FALSE</span><span class="p">)</span><span class="w">

</span><span class="n">z_test_data_creator</span><span class="p">(</span><span class="s2">"smokers.csv"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Edinburgh"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Kirkcaldy"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Smoker"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Non-smoker"</span><span class="p">,</span><span class="w"> </span><span class="m">0.22</span><span class="p">,</span><span class="w"> </span><span class="kc">TRUE</span><span class="p">)</span><span class="w">

</span><span class="n">z_test_data_creator</span><span class="p">(</span><span class="s2">"football_fans.csv"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Fan"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Not Fan"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Male"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Female"</span><span class="p">,</span><span class="w"> </span><span class="m">0.6</span><span class="p">,</span><span class="w"> </span><span class="kc">FALSE</span><span class="p">)</span><span class="w">

</span><span class="c1">### t-test</span><span class="w">

</span><span class="n">args</span><span class="p">(</span><span class="n">t_test_data_creator</span><span class="p">)</span><span class="w">

</span><span class="n">t_test_data_creator</span><span class="p">(</span><span class="s2">"handspan.csv"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Piano_Players"</span><span class="p">,</span><span class="w"> </span><span class="m">24.6</span><span class="p">,</span><span class="w"> </span><span class="m">1.16</span><span class="p">,</span><span class="w"> </span><span class="s2">"Not_Piano_Player"</span><span class="p">,</span><span class="w"> </span><span class="m">22.1</span><span class="p">,</span><span class="w"> </span><span class="m">1.2</span><span class="p">)</span><span class="w">

</span><span class="n">t_test_data_creator</span><span class="p">(</span><span class="s2">"red_snapper.csv"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Male"</span><span class="p">,</span><span class="w"> </span><span class="m">60</span><span class="p">,</span><span class="w"> </span><span class="m">19.5</span><span class="p">,</span><span class="w"> </span><span class="s2">"Female"</span><span class="p">,</span><span class="w"> </span><span class="m">60</span><span class="p">,</span><span class="w"> </span><span class="m">18.5</span><span class="p">)</span><span class="w">
</span></code></pre></div></div>

<p>For correlation you include the name of the dataset (with .csv!), the name of column 1, the name of column 2, the mean for column 1, the standard deviation for column 1, the maximum value for column 1, the minimum value, the gradient of the line of best fit, the intercept for the line of best fit, and finally whether “Strong”/”Weak”/”No” correlation.</p>

<p>For example the average car age was 60 months with a SD of 15. I wanted the value between £35,000 and £1000. The gradient and intercept come from a back of the envelope calculation to make those facts work, using imagined data-points.</p>

<p>For the z-test you include the dataset name, column 1 name, column 2 name, category 1, category 2, the proportion you’re expecting to see category 1 appear, and TRUE/FALSE depending on whether you want a difference between the proportions or not.</p>

<p>For example with the 20-20 vision we have columns called “female” and “male”, we expected 35% of the population to have 20-20 vision, and we don’t want there to be a difference.</p>

<p>For the t test you take the dataset name, column 1 name, mean, standard deviation, column 2 name, mean, standard deviation. With the piano example I gave the musicians a boost in order to make the t-test have a p-value less than 5%.</p>

<p>I’m sure the code has many faults. But it was quite a fun coding challenge.</p>

<video controls="" preload="metadata" width="640" height="360">
  <source src="/assets/videos/2023-09-11-dataset-explainer.mp4" type="video/mp4" />
  Your browser does not support the video tag.
</video>]]></content><author><name></name></author><category term="Higher-Apps Data-Sets" /><summary type="html"><![CDATA[Warning: Very Geeky]]></summary></entry><entry><title type="html">A Reaction to the Hayward Report</title><link href="https://www.applyingmaths.com/2023/06/27/a-reaction-to-the-hayward-report.html" rel="alternate" type="text/html" title="A Reaction to the Hayward Report" /><published>2023-06-27T18:16:01+00:00</published><updated>2023-06-27T18:16:01+00:00</updated><id>https://www.applyingmaths.com/2023/06/27/a-reaction-to-the-hayward-report</id><content type="html" xml:base="https://www.applyingmaths.com/2023/06/27/a-reaction-to-the-hayward-report.html"><![CDATA[<p>Assessment in Scotland is in need of radical reform. The Hayward report gets it spectacularly wrong.</p>

<h2 id="high-hopes">High Hopes</h2>

<p>The Hayward report has finally been published. Here is a quick summary:</p>

<p>Scrap all exams before S5 and S6. This would mean no exams at National 5.
Have students work towards a Scottish Diploma of Achievement (SPA), made up of “programmes of learning” (normal classes like French, Maths, Art etc.), 
“A personal pathway” which takes into account extracurricular activities, and an ungraded project where students look into a topic in depth.
The recommendations seek to end the “two term dash”, and bring the senior phase in line with the vision of curriculum for excellence.
There is a desire for parity of esteem between Highers and SCQF 6.</p>

<p>Assessment in Scotland is in need of radical reform. The Hayward report gets it spectacularly wrong.</p>

<h2 id="a-harmful-substance">A Harmful Substance</h2>

<p>To begin we need to talk about the worst part of our assessments: National 4. Students do not value it. Parents do not value it. It is the butt of jokes in staff rooms. Why?</p>

<p>Teachers are under pressure to have students pass National 4. We are also told exactly what the assessments look like- in maths we know what questions will be asked, and we have booklets of questions that are nearly identical to the tests for students to practice. National 4 creates a massive incentive to teach in a procedural way. It’s teaching to the test at its very worst- we know what’s on the test and can spoon-feed students. This procedural teaching fails to help students understand the material, and sets them up to fail when they progress to National 5. Ask any teacher “does National 4 prepare your students for National 5?” and just drink in their facial expression.</p>

<p>What strikes me most about National 4 though is its corrosive effect on the Broad General Education (BGE). There is a widespread problem in Scotland of “Assessment Banking.” This is a practice whereby BGE students (S1-S3) are made to sit National assessments, so that evidence can be banked. This means that some schools are losing a significant portion of BGE time, where deep understanding of the subject is meant to be developed, in order to pursue a qualification that actively undermines their chances of achieving at a higher level.</p>

<p>Teachers also don’t know how to assign students as being at Curriculum for Excellence (CfE) levels. Many schools actually use National 3/4 assessments as their way of assigning levels. I’ve spoken with plenty of teachers who have been candid with me about how levels are assigned, and to say that the Curriculum for Excellence is not working would be an understatement. National levels are effectively all we have.</p>

<p>One of the motivating factors behind the Hayward Report is the idea that there is a disconnect between the Curriculum for Excellence and the senior phase. Hayward is suggesting that we make the senior phase more like CfE- are the writers of the review really not aware that CfE has failed? Are they not aware that National levels have usurped CfE ones?</p>

<p>Another aim of the proposals is to avoid “the two term dash.” In my subject, Maths, our curriculum is not full. We have a fraction of the material to cover for National 5 than English students have for their GCSEs. This two term dash is caused by time lost during the precious BGE phase. The Curriculum for Excellence 4th level is only really a whisker below where National 5 is. There’s no need to dash.</p>

<p>When you put pressure on teachers to have all students pass an assessment, you give teachers poor quality worksheets designed to aid spoon-feeding of students, and tell the teachers exactly what questions will be asked in the assessment… you kill all chances of learning, along with the motivation and dignity of students for whom these assessments were created.</p>

<h2 id="a-sorry-addiction">A Sorry Addiction</h2>

<p>Education is Scotland is driven by bad statistics. Take the headline statistics for Numeracy and Literacy:</p>

<p><img src="\assets\images\Blog-Hayward-Reaction.png" alt="Numeracy and Literacy rates" /></p>

<p>You could be forgiven for thinking that over 70% of school leavers achieved a National 5 in maths in recent years. But “SCQF Level 5” includes not only National 5 Maths and Apps, but also the “National 5 Numeracy unit.” The numeracy unit is similar to National 4- an assessment that teachers can see before students sit it. These statistics are largely meaningless- are students achieving a valued qualification or aren’t they? Is 70% good?</p>

<p>There has been a race to the bottom in Scotland, and schools have gone to extreme lengths to boost the numbers of students achieving these levels. Cheating is part of the fabric of Scottish education. Students who have missed swaths of time at school come back, are spirited away to a quiet room, and miraculously have passed their unit assessments.</p>

<p>It’s time that we start calling things out for what they are. Giving students multiple practice questions, nearly identical to the real test questions, is cheating. Assessing students question by question, so no thought from the student is needed, is cheating.</p>

<p>Councils and schools are addicted to boosting statistics that are largely irrelevant. Our core purpose should be serving our students, and working in their interests. When we devalue a qualification by cheating, or pull a student out of lessons to pass a random unit with no understanding, just to give them a piece of paper valued by nobody… who exactly are we helping?
Talk to Frank</p>

<p>Jenny Gilruth, the Education Secretary, announced that any reform will be paused until teachers have been consulted.</p>

<p>That fact that Gilruth has called for more consultation with teachers is a clear sign the government are well aware there will be implementation issues. It’s also a tacit acceptance that teachers have not been properly consulted with up to this point. The issues are plain to see to those actually teaching on a day to day basis.</p>

<p>For me, the Hayward report comes across to me as naïve. Give me a school of 400 middle-class children and I reckon we could give these proposals a jolly good go as is. But in schools of 1500 students, with the behaviour issues, apathy and the relentless pressure for students to pass, the proposals aren’t workable. What is going to happen when some students refuse to engage in a project, but the council makes it clear everybody is meant to achieve a Scottish Diploma of Achievement?</p>

<p>I see a future where students have “project” on their timetables, and they turn up to be cajoled through a “project booklet” that’s impossible to fail at. The vicious cycle starts and projects become the new National 4- any meaning they aspired to have will be stripped out of them, a hoop to jump through.</p>

<p>External assessments are the fairest way of awarding qualifications. Properly set, they can encourage conceptual teaching, rather than teaching to the booklet/test.</p>

<p>In my view we need more assessments not fewer. I’d propose a modular assessment scheme- exams in December and May in S4, S5 and S6. Exams would cover a smaller amount of skills, and by having more of them the pressure on any particular exam would be less. Students could take modules in e.g. Level 4 Statistics, Level 5 Quadratics, Level 6 Mathematical Modelling… and achieve the equivalents of National 5 and Higher by building these up. Each unit would be assessed externally, with exams assessing both procedural knowledge and the ability to apply knowledge to rich problem solving tasks.</p>

<p>Wouldn’t that be a better move than the Hayward recommendations?</p>

<h2 id="just-say-no">Just Say No</h2>

<p>So I have a modest proposal for Scotland’s teachers: Just Say No.</p>

<p>We should have said no when councils started to undermine Standard Grade and Credit by bringing Intermediate into S4 because it was easier.</p>

<p>We should have said no to National 4s replacing fair, external assessments with easy to game internal assessments which bring massive workload issues with them.</p>

<p>We should have said no when the dignity of National 4 students was taken from them, when teaching to the test and pulling students out of classes to ’just get them a pass’ started to become the norm.</p>

<p>It’s time to say no now. We’re not doing it. Having taught outside of Scotland before coming here, I sometimes find it difficult not to grab teachers by the shoulders and shake them: You do realise this isn’t normal, and this isn’t right?</p>

<p>No more cheating. It’s time to get clean. And as soon as the Government decides it wants to listen, let’s be ready to tell it like it is.</p>]]></content><author><name></name></author><category term="Hayward Assessment-reform" /><summary type="html"><![CDATA[Assessment in Scotland is in need of radical reform. The Hayward report gets it spectacularly wrong.]]></summary></entry><entry><title type="html">SMC 2023</title><link href="https://www.applyingmaths.com/2023/05/20/smc-2023.html" rel="alternate" type="text/html" title="SMC 2023" /><published>2023-05-20T20:16:01+00:00</published><updated>2023-05-20T20:16:01+00:00</updated><id>https://www.applyingmaths.com/2023/05/20/smc-2023</id><content type="html" xml:base="https://www.applyingmaths.com/2023/05/20/smc-2023.html"><![CDATA[<p>Higher Applications – Computer Help!</p>

<p>My presentation for the Scottish Maths Conference 2023 can be found here!</p>

<p><a href="/assets/downloads/SMC-Files-2023.zip">Download SMC 2023 Files</a></p>

<p>It includes two worksheets, a PowerPoint with videos covering Goal Seek and R Studio, as well as a data set.</p>

<p>The original dataset can be found here: <a href="https://corgis-edu.github.io/corgis/csv/coffee/">Corgis Coffee Dataset</a>.</p>

<p>Information about, and a sample of, the Leckie textbook can be found here: <a href="https://www.applyingmaths.com/higher-apps-textbook/">https://www.applyingmaths.com/higher-apps-textbook/</a>.</p>]]></content><author><name></name></author><category term="SMC Higher-Apps" /><summary type="html"><![CDATA[Higher Applications – Computer Help!]]></summary></entry></feed>