nelsonic / nelsonic.github.io

📝a place to store ideas, thoughts and interesting links
29 stars 2 forks source link

Why “Show Your Working”? #881

Open nelsonic opened 1 year ago

nelsonic commented 1 year ago

Note: this post is very much still work-in-progress!!

Context

As a child I was blessed with mathematical nurturing from my mother, a brilliant teacher. We listened to times tables during car journeys and did sums for “fun” while performing household chores. Knowing what I do now, I realise just how not “normal” this was and how important nurture is both from parents/caregivers and formal educators.

The context of my mathematical ease - which some teachers labelled as “gifted” but I maintain was the winning combo of nurture + practice - is important for a specific reason: on math tests/exams I only wrote the answers. I was so used to doing “mental math” i.e. calculating the answer in my head, that I didn’t see the point of writing down the “steps” to get to the answer. I would just write down the answer, ace the test - most of the time getting 100% scores & finishing tests early - and get back to doing other things. In retrospect I can feel the frustration of my early math teachers because they had no way of reading my mind! How could they tell if my methodology was effective? One teacher even accused me of cheating when I was in the 8th grade … she obviously didn’t know me and assumed that my not paying any attention during class couldn’t possibly translate to such a high test score. My father was called in to the school and had to waste his time defending/explaining… 🙄 The topic of fixed/scarcity mindset teachers not understanding and underestimating “outlier” children is for another time, but the point is this: I only learned the importance of “show your working” much later in life.

Math Exams != Real Life?

In Math exams - at least when I was in school - if the answer was correct it was worth 100% of the available grade for that question. In life very few things have an unambiguous “right answer”. Even things you would expect to be obviously right/wrong like the law are open to interpretation that’s why there are so many millions of lawyers to argue both sides of cases and collect hundreds of $€¥’s per hour!

Showing Your Working is Often More Important than the Answer

Something learned in my 7 years study and working in accounting is that very often the “answer” will need to be recomputed/checked by someone else. Therefore the working out of that answer is often as important or even more so than the end result of the calculus. If you don’t capture the working out and the answer turns out to be off there will be questions. So in most cases showing all steps in a calculation is not optional.

Showing Working in Software Engineering

When building software, the code is the “answer”. The working is: types, tests and documentation. Let’s break each of these down in the order. If you’re using a statically typed language like Dart, Rust or Go, you get a “free” layer of “working” by using the types. The types are great for compile/runtime checks and they communicate the expected data types to fellow/future engineers. We like types. We love the Elm type system for example. But there is an undeniable learning curve for typed languages that isn’t there for dynamic languages. This isn’t the post to debate Dynamic vs. Static typed languages; both have merits. Let’s focus on “showing your working” in software engineering. The next area

https://www.tes.com/teaching-resource/show-your-working-6219382

Accounting!== Math

On the back of shockingly unhelpful “career advice” and lack of real world knowledge/experience at age 18, I spent 7 years studying and working in accounting. I learned many things but could easily have given it a miss and not wasted my time!