The students in my country are supposed to be able to work with and answer questions about functions at the age of around 15. This is asserted in the standard mathematics curriculum for middle school students.

Personally, I think the definition of a function is extremely abstract and technical. Of course, I understand its importance in higher mathematics, but we are not only preparing kids to become mathematicians. Additionally, the definition of a function is rather cumbersome, and I have trouble stating it clearly at any level.

I question why we put so much emphasis on the concept of a "function" while we could be broadening our scope a bit to all relations between variables. As an example, the equation of a circle does not fall directly under the "function" category. Why does the term "function" even need to be taught to most children?

Most of the text books only deal with linear functions, quadratic functions, and 1/x.


Why should or shouldn't we teach functions to 15 year olds?

  • 7
    $\begingroup$ I share your view that it is difficult to teach functions due to the abstractness of the concept, kids struggle a lot with it. But the questions as posed seem to invite opinion-based answers. I suppose you could improve the question by phrasing it as "why do we teach/emphasize functions (per the abstract definition)" $\endgroup$ Apr 18, 2021 at 22:25
  • 17
    $\begingroup$ Should we also stop teaching them sets because their definition is difficult? $\endgroup$
    – user5402
    Apr 18, 2021 at 22:59
  • 8
    $\begingroup$ Of course you don't discuss functions as sets of ordered pairs. Instead you do examples, $f(x) = 3x-2$ or "a rotation of the plane". At some point you talk about trigonometric functions. $\endgroup$ Apr 19, 2021 at 0:15
  • 4
    $\begingroup$ "we could be broadening our scope a bit to all relations between variables" This is a slippery slope. You can always broaden the scope to something a bit more general and it's easy to think it will be trivial when you already understand the material. "Why does the term "function" even need to be taught to most children?" This can be flipped around: Why should relations be taught to most children when most of them will only ever use functions? $\endgroup$
    – DKNguyen
    Apr 19, 2021 at 20:17
  • 8
    $\begingroup$ I can think of two definitions for a function right off the top of my head. The simple one is a set of ordered pairs, which is not hard to teach or grasp for students who know how to graph points on a Cartesian plane. The more challenging one might be teaching functions as a subset of a the cartesian cross product between two sets. My point being that the phrase "the definition of a function" in the question has got me a bit uncertain about what exactly you're asking about teaching. Personally I don't think 12 is too young for functions. $\endgroup$ Apr 20, 2021 at 4:49

7 Answers 7


In the U.S. Common Core standards, functions are supposed to be introduced in the 8th grade, i.e., around age 13-14. So arguably age 15 is a year or two behind where they ought to be.

The standard for the 8th grade says:

Understand that a function is a rule that assigns to each input exactly one output.

So honestly that really doesn't seem like a hugely complicated idea to introduce.

Consider that things called "functions" will, at this point or very soon, be all around the students. They are intrinsic to:

  • Mathematics
  • Computer programming
  • Standard office software like Excel

Therefore it seems highly reasonable to give them the general concept at this time or earlier.

If motivation for why it's important is required, then you should provide that. As a first stab I can usually say something like: It's easier to deal with a process when we know it has just one result, rather than possibly many. (In the back of my head I'm thinking about things like 1-to-1 vs. 1-to-many relationships in a database, and the very different ways we have to handle that.)

  • 22
    $\begingroup$ Do USA standards really determine when pupils all over the world ought to learn things? $\endgroup$
    – Tommi
    Apr 19, 2021 at 5:16
  • 20
    $\begingroup$ @Tommi: Feel free to provide additional data points. $\endgroup$ Apr 19, 2021 at 13:26
  • 15
    $\begingroup$ Your choice of words implies that the USA standard tell what pupils "ought" to know. The second sentence in your post. Other examples would not change this. $\endgroup$
    – Tommi
    Apr 19, 2021 at 16:25
  • 13
    $\begingroup$ @Tommi: You're ignoring the word "arguably" which indicates a tentative hypothesis based on preliminary available data. Again, feel free to add your own answer with more data or research-based results. I'll be leaving this answer as-is for community voting. $\endgroup$ Apr 19, 2021 at 16:39
  • 4
    $\begingroup$ When making the connection to computer science / programming, beware that the word "function" is widely misused as a synonym for "procedure", and only a subset of procedures actually qualify as true functions. $\endgroup$
    – Ben Voigt
    Apr 21, 2021 at 17:03

I think "function" is one of those notions that can be presented in different ways to people at different ages and who have different levels of ambition in math. This is similar to the notion of a "set," which I was taught in school ca. age 5 or 6 in an age-appropriate way, but then learned about at a different level in college.

At a basic level, there is not much to say about functions that is very difficult or complicated:

  1. A function takes an input and gives an output.
  2. We usually write the function to the left of its input: $\sin x$, $f(x)$. But sometimes we use other types of notation, such as $|x|$.
  3. Strictly speaking, a function is supposed to have one well-defined output, which makes it like a function on a calculator. By this definition, the square root is not a function, but we can make it into a function by specifying the positive root, or we can relax our notion of "function" to include multi-valued functions.

When students get to the point where they're drawing graphs of functions, they can be told that rule 3 is the vertical line test. Notions like inverting a function, composition of functions, one-to-one functions, and so on do not have to be introduced early on. I don't see the point of introducing non-obvious terminology at this stage, such as domain, range, and so on. I would not take a typical class of 15 year olds and start teaching them how to notate the composition of functions, nor would I belabor the fact that a function cannot always be written down as a formula.

  • 8
    $\begingroup$ I was taught that "the square root" is a function because it was defined as the positive square root. $\endgroup$
    – user253751
    Apr 19, 2021 at 16:41
  • 7
    $\begingroup$ I was taught functions between 13 or 15 so we could graph equations, but the mathy mathy part about functions like mapping did not come until later. Mathematicians sometimes forget that you don't need everything at the start. Imagine being introduced to Pi as an infinite series. $\endgroup$
    – DKNguyen
    Apr 19, 2021 at 20:14
  • $\begingroup$ @user253751: That is one way to teach it. It tends to be more common today, but was less common in the past. $\endgroup$
    – user507
    Apr 19, 2021 at 21:23
  • $\begingroup$ "Strictly speaking, a function is supposed to have one well-defined output,...". I don't think you need to say this. It is part of (1). Take the square root example. If I say "Let $f$ be the function that assigns to a positive real number $x$, the real number $y$ such that $y^{2} = x$", then that's not a function, not because (3) doesn't hold, but because that rule simply doesn't give an output. $\endgroup$
    – Peter
    Apr 19, 2021 at 22:41
  • 4
    $\begingroup$ @Peter I disagree. Pretend that I am a machine. You say "3", I say "2", you say "3", I say "1". I have given an "output" in each case. $\endgroup$
    – Improve
    Apr 20, 2021 at 8:25

Functions are far broader and more applicable than you give them credit for. Consider the following:

Country or state Capital Elevation (in meters)
Bolivia Sucre 2783
Ecuador Quito 2763
Colombia Bogata 2619
Eritrea Asmara 2363
Ethiopia Addis Ababa 2362
Mexico Ciudad de Mexico 2216
New Mexico Santa Fe 2152
Wyoming Cheyenne 1856
Colorado Denver 1613
Nevada Carson City 1462
Utah Salt Lake City 1308
Montana Helena 1262

Your students would be able to determine the elevation of Quito or the capital of Wyoming by interpreting that table far earlier than 15, and they're evaluating functions in order to do it. The only other thing you need to do is show them an example of where a table fails to be useful.

January 31
February 28
February 29
March 31
April 30

Again, much younger students would be able to describe why that table is deficient. So a function is a "math thing" that unambiguously associates exactly one output to any input. From there, you go on to talking about how we typically use it in mathematics, to evaluate an expression with one or more variables.

  • 1
    $\begingroup$ As you say, they don't need to know the abstract concept of a function to be able to read tables. I am aware that lots of things are functions, but to me that doesn't justify focusing on defining functions to $15$ year olds. Why don't we just as well formulate and define group actions? When learning the clock we don't emphasize that it is a $\mathbb{Z}$-set. When learning about symmetries of the plane we don't emphasize that they form a group. In physics we don't say that energy and time are $\mathbb{R}$-torsors. In all of these cases kids are still able to use the related properties. $\endgroup$
    – Improve
    Apr 19, 2021 at 14:25
  • $\begingroup$ Both tables illustrate functions: Quito has elevation 2763 meters, and January has 31 days. I don't find this kind of functions that cannot be defined with a formula, useful for teaching functions. Even a simple linear function representing distance traveled as a function of time allows finding distance for any time simply by plugging it into the formula, the elevation table does not allow that. A travel distance function represents a physical process, uniform motion, while a bunch of altitudes are just numbers that do not allow to generalize. American texbooks are full of stuff like this. $\endgroup$
    – Rusty Core
    Apr 19, 2021 at 16:07
  • 9
    $\begingroup$ @RustyCore: The table serves to emphasize that a function is a set of ordered pairs. You would be surprised by the number of high school students who believe a function is some kind of complicated abstract algebra thing with an "x" in it. $\endgroup$
    – Kevin
    Apr 19, 2021 at 16:49
  • 4
    $\begingroup$ @RustyCore The second table does not represent a "function". (How many days in February?) I think that's one of the clearest illustrations I've seen for why two outputs for one input might be problematic. $\endgroup$ Apr 19, 2021 at 17:37
  • $\begingroup$ @user3067860, Doh! Two Februaries, I was not attentive enough. Thanks. $\endgroup$
    – Rusty Core
    Apr 19, 2021 at 17:40

Some abstraction is perfect for children. Mitsumasa Anno was a Japanese writer of children's books and he had many innovative approaches to introduction functions. This is from Anno's Math Games II. You can even see the introduction of function inverse.

enter image description here

  • 2
    $\begingroup$ (+1) British curriculums indeed introduce functions via "function machines", essentially flowcharts that take an input and produce an output. The notion of an inverse function is introduced by reversing the steps of the flowchart. This version of "function" is taught at a lower age, but introducing notation for functions usually takes place around ages 13-16. For an example of teaching material using the "function machine", see bbc.co.uk/bitesize/guides/zt2scj6/revision/2 $\endgroup$
    – Silverfish
    Apr 20, 2021 at 17:31
  • 3
    $\begingroup$ "You can even see the introduction of function inverse." Maybe you can, but I have absolutely zero idea what's going on in that picture! (I've seen a book by Anno and liked it, so I believe you that he introduces functions nicely.) $\endgroup$
    – Thierry
    Apr 21, 2021 at 2:02
  • 3
    $\begingroup$ @Thierry what I see, going from right to left <--, is a function that takes a symmetrical object--perhaps a top or a loaf of bread--cuts it in half along a vertical plane of symmetry, and then flattens the color to gray. The "magic" is going left to right-->, where the child conjures up and creates with their imagination an object for the bottom right. Of course different people see different things and there is no "right answer" and this is what makes Anno's approach fun for people of all ages. $\endgroup$
    – user52817
    Apr 21, 2021 at 2:55
  • 1
    $\begingroup$ So why is the dude in the bottom right not holding his miso soup bowl as he ought to? $\endgroup$
    – Will
    Apr 22, 2021 at 0:05
  • 2
    $\begingroup$ @nick012000 Probably, yes; but I feel maybe that should be made a bit more explicit with a question mark in the bottom right or something, instead of a dude staring seemingly confused into the black void of the magic machine. At first I felt like I was supposed to figure out why the grey miso bowl fragment caused the magic machine to malfunction... A whole lot of irrelevant distraction and potential confusion in an attempt to convey an inherently straightforward mathematical concept IMO. $\endgroup$
    – Will
    Apr 22, 2021 at 5:57

If 10-11 year olds can learn programming (which some have done even before Scratch was a thing), then it's hardly a leap at all to suggest that 15 year olds can learn functions since they are a common element of programming languages.

Every student is going to be different and some are going to be better at math than others, but I think this notion that there is some predefined linear order of teaching math is a little misguided. Even the most intimidating concepts, such as quaternions, can be taught with the right approach, something that surprises me every time with e.g. 3Blue1Brown's videos.

Just because any given subject in math has all sorts of crazy depth to it and endless connections to other mathematical concepts, there is still a ton of value in just the surface level concepts. You don't need to teach in-depth category theory to teach functions when a basic understanding of domain and range is enough to solve the problems at hand.

  • 3
    $\begingroup$ Some of us learned programming at an early age using BASIC on now ancient machines. $\endgroup$
    – J W
    Apr 22, 2021 at 9:50
  • 1
    $\begingroup$ In practice, very few 10-11 year olds learn programming. It is also debatable whether being able to use scratch or basic or something similar really constitutes knowing how to program, or helps learn what is necessary to program in languages such as Python or C. Precisely what is lacking is abstraction. $\endgroup$
    – Dan Fox
    Apr 24, 2021 at 12:12
  • 1
    $\begingroup$ @DanFox C is an old-school imperative language, its most complicated concept is of a pointer, and pointer arithmetic as well as explicit memory allocation are the most error-prone areas. Scratch has concepts and features many languages do not have, like subscribing and broadcasting messages, events, or multithreading. $\endgroup$
    – Rusty Core
    Apr 24, 2021 at 16:12
  • 1
    $\begingroup$ @DanFox it's true that few 10-11 year olds learn programming, but the point here is that there really isn't a specific prerequisite age for learning these kinds of concepts. Approaching any topic from the right angle gives the ability to teach just about anything. $\endgroup$
    – Beefster
    Apr 26, 2021 at 15:33

Most of pre 1900 mathematics can be done without the modern function concept. Hints that this was actually the case can be found in this hsm question Who first considered the $f$ in $f(x)$ as an object in itself, and who decided to call it a function? or if you skim through Leonard Eulers books on differentiation and integration (you'll have to look very hard to ever find an $f(x)$).

So for the mathematics most people will ever learn in a modern curriculum, instead of using functions, one could express almost anything of interest just using variable quantities and equations between them. For instance, instead of writing $f(x)=x^2$ you could just write $y=x^2$ and continue from there. That's implicitly what's still happening when students are taught the modern function concept at the age of 15: teachers introduce it but rarely use it in isolation later on. Just like in many programming languages we can use $f(x)$ but we'll never need (or be able) to use $f$ as an object itself. This indirect use of $f$ probably makes it harder for students to understand what the fuss is all about.

Also mathematicians pre 1900 where much more lax about the idea of a unique value of the dependent variable corresponding to a given value of the independent one, which is why for instance we still talk of an "implicit function" when we discuss the equation of the circle. So they had the broader perspective you mention.

In summary I doubt that people need to learn the modern definition with 15.

  • $\begingroup$ Programming languages that treat functions as first class objects allow expressing algorithms in a more compact and more generic form, just like mathematical formulas. $\endgroup$
    – Rusty Core
    May 8, 2021 at 17:07

We shouldn't need to teach functions to 15 year olds, because ideally they should have already learned programming since primary school, including mathematical and general functions and inverse functions. Programming, including demos, games and robotics, is the best motivator to learn math in my opinion.

  • 5
    $\begingroup$ I think one thing we need to deal with is the reality that many children don't learn programming in primary school (or even secondary school). For many, it's a brand new subject at university. That said, I guess it varies from country to country. $\endgroup$
    – J W
    Apr 22, 2021 at 9:54
  • 1
    $\begingroup$ But then they should really learn a functional programming language in primary school, not C, right? $\endgroup$ May 8, 2021 at 7:05
  • $\begingroup$ Not necessarily, just explain the difference between "pure functions" and procedures with side effects. That said, C is not a great choice for primary school. Did someone suggest to teach C to primary school children? It's possible but you'd better give them a nice set of non-pure functions to play with, for graphics / robotic or what have you. $\endgroup$ May 13, 2021 at 4:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.