The following Java applet indicates the basic idea:
We define the jumpiness of a function f(x) over an interval [a-r,a+r]
as indicated by the following picture:
We then ask what happens when we shrink the interval towards x=a. Two possibilities can occur. First of all the green bounding box of the graph can shrink to a point. In this case we say that the jumpiness of f(x) at x=a is 0. The following picture illustrates this case:
The other possibility is that the green bounding box of the graph shrinks to a vertical interval. This case is illustrated by the following picture:
Thus jumpiness at a point is a quantitive measure of continuity or lack thereof of a function at that point. Thus students can not only be asked to label points of discontinuity but also asked to compute the jumpiness at such points. Depending on the level of the students, this can be covered in more or less detail.
At the most basic level these ideas can be treated purely graphically with students asked to supply the value of jumpiness of a function at a discontinuity by eyeballing the graph. Even at this level students would get a deeper understanding of the notion of continuity than they get from vague statements like as x comes close to a, f(x) comes close to f(a).
Limits can then be defined in terms of continuity: we say that the limit of f(x) at x=a is L if we (re)define f(a)=L, then the resulting function is continuous. ( A reason to prefer assigning a value for f(a) before computing jumpiness is furnished by the function 1/(x*x). If f(0) is left undefined, the bounding boxes for the graph vanish away to infinity, which would be rather disconcerting.)
Limits at infinity can be treated using "horizontal asymptote" as the primary
notion. So you would hypothesize a horizontal asymptote and test your hypothesis
by measuring the jumpiness over [R,\infty) of the configuration consisting
of the graph of f(x) together with the hypothetical horizontal asymptote.
The notion of jumpiness is by no means new. It occurs in various analysis books (often relegated to problems) under such names as "oscillation" or "modulus of continuity" (cf. E. Goursat, A Course in Mathematical Analysis, Vol 1, Dover 1959, p. 142-143.) I prefer the term "jumpiness" for various reasons:
One formalises the definition of continuity in this setting as follows: f(x) is continuous at x=a if given any epsilon>0 we can find a delta>0 so that for r<delta we have
To see that this is logically equivalent to the usual epsilon-delta definition, we introduce a slightly different measure of jumpiness over an interval: the jump radius of f(x) over [a-r,a+r] is defined to be the larger of the distance between the horizontal line y=f(a) and the top of the bounding box and the distance between y=f(a) and the bottom of the bounding box.
Then the usual definition of continuity is that given epsilon>0 we can find a delta>0 so that r<delta implies that
This sort of formalization is probably more appropriate for more advanced students. (To appreciate the sort of difficulty students might have with the formal definition, you might try the following continuity quiz.)