I am taking a course on smooth manifolds. We have just defined a tangent space of a manifold $M$ at a point $p\in M$ using paths $\gamma:\mathbb{R}\to M$, $\gamma(0)=p$. So $T_pM:=\{\gamma:\mathbb{R}\to M\;|\;\gamma(0)=p\}/\sim$, where $\sim$ is the equivalence relation of two paths having the same speed. That is, for two paths $\gamma_1,\gamma_2$ and a chart $\phi$,
$$\left.\frac{d}{dt}\phi\circ\gamma_1\right|_{t=0}=\left.\frac{d}{dt}\phi\circ\gamma_2\right|_{t=0}\iff\text{$\gamma_1$ and $\gamma_2$ have the same speed.}$$
We defined addition and scalar multiplication of paths as follows:
$$[\gamma_1]+\lambda[\gamma_2]:=[\phi^{-1}(\phi\circ\gamma_1+\lambda\phi\circ\gamma_2)],$$
where $\phi$ is a chart.
Now there's an exercise that I really don't know how to do. Given a smooth function $f:\mathbb{R}^m\to\mathbb{R}^n$, compute $f_*:T_p\mathbb{R}^m\to T_{f(p)}\mathbb{R}^n$ in the basis given by the coordinate vectors. Here $f_*$ is the function defined by $f_*:[\gamma]\mapsto[f\circ\gamma]$.
I am not even sure where to start. I have already shown that $f_*$ is linear.
EDIT:
I think this works. Write $f=(f_1,\ldots,f_n)$ where $f_i:\mathbb{R}^m\to\mathbb{R}$ and let $\gamma:\mathbb{R}\to\mathbb{R}^m$ be a path with $\gamma(0)=p=(p_1,\ldots,p_m)\in\mathbb{R}^m$. Let $\tilde{\gamma}_i(t):=(p_1,\ldots,p_{i-1},p_i+t,p_{i+1},\ldots,p_m)$ be the path along the $i$th basis vector in $\mathbb{R}^m$ through $p$. Then we have $\lambda_i\in\mathbb{R}$ such that $\gamma=\sum_{i=1}^m\lambda_i\tilde{\gamma}_i$. We have
$$\begin{aligned}
f_*[\gamma]&=f_*\left[\sum_{i=1}^n\lambda_i\tilde{\gamma}_i\right]\\
&=\sum_{i=1}^m\lambda_if_*[\tilde{\gamma}_i]\\
&=\sum_{i=1}^m\lambda_i[f\circ\tilde{\gamma}_i]\\
&=\sum_{i=1}^m\lambda_i\left.\frac{d}{dt}f\circ\tilde{\gamma}_i(t)\right|_{t=0}\\
&=\sum_{i=1}^m\lambda_iDf(\tilde{\gamma}_i(0))\left.\frac{d}{dt}\tilde{\gamma}_i(t)\right|_{t=0}\\
&=\sum_{i=1}^m\lambda_iDf(p)\left.\frac{d}{dt}\tilde{\gamma}_i(t)\right|_{t=0}\\
&=Df(p)\sum_{i=1}^m\left.\frac{d}{dt}\lambda_i\tilde{\gamma}_i\right|_{t=0}\\
&=Df(p)[\gamma].
\end{aligned}$$
So this yields that the matrix of $f_*$ is $Df$ at $p$.
Is this correct?
First, $\sim$ is the equivalence class of paths where the paths have the same velocity at time $t = 0$, not the same speed.
Since $f_*$ is linear, you know it's enough to compute $f$ for the given basis of coordinate vectors, which I'll denote $(\partial_{x^i})_p$. Moreover, by composing with translations we may as well align our charts so that $p = 0 \in \mathbb{R}^m$ and $f(0) = 0 \in \mathbb{R}^n$. This isn't strictly necessary, but given our definition of path addition it makes notation much cleaner.
Now, by definition, the $i$th coordinate vector $(\partial_{x^i})_0 \in T_0 \mathbb{R}^m$ at the point $0 \in \mathbb{R}^m$ is the equivalence class containing the curve $\gamma_i$ such that (1) is at $0$ at time zero (i.e., $\gamma_i(0) = 0$), and moves in the $i$th coordinate direction with unit speed, namely, $$\gamma_i(t) = (0, \ldots, 0, t, 0, \ldots, 0),$$ where $t$ is in the $i$th slot.
Now, we can compute the curve $f \circ \gamma_i$ in $\mathbb{R}^n$ that represents the pushforward $f_* [\gamma_i] = [f \circ \gamma_i]$. If we write $f$ in terms of its component functions, so that $$f(x^1, \ldots, x^m) = (f_1(x^1, \ldots, x^m), \ldots, f_n(x^1, \ldots, x^m)),$$ its $j$th component is $$f_j(x^1, \ldots, x^m),$$ and the $j$th component $(f \circ \gamma_i)_j = f_j \circ \gamma_i$ is $$f_j(0, \ldots, 0, t, 0, \ldots, 0).$$
The initial velocity $\left.\frac{d}{dt}\right\vert_0(f \circ \gamma_i)$ has $j$th component (in the coordinates $(y^j)$ on $\mathbb{R}^n$) is $$\left.\frac{d}{dt}\right\vert_0(f \circ \gamma_i)_j = \left.\frac{d}{dt}\right\vert_0(f \circ \gamma_i)_j = \left.\frac{d}{dt}\right\vert_0 f_j(0, \ldots, 0, t, 0, \ldots, 0),$$ which by the chain rule is just $$\frac{\partial f_j}{\partial x^i}(0),$$ and so the initial velocity of $f \circ \gamma_i$ is $$\left(\frac{\partial f_1}{\partial x^i}(0), \ldots, \frac{\partial f_n}{\partial x^i}(0)\right) \qquad (\ast)$$
Now, to compute the pushforward with respect to the coordinate vector basis $(\partial_{y^j})$, we must find curves that represent those coordinate vectors, and then decompose some representative of $[f \circ \gamma_i]$ as a linear combination of those curves. As before, we can pick as representative of each $\partial_{y^j}$ the curve $$\theta_j(t) := (0, \ldots, 0, t, 0, \ldots, 0),$$ where $t$ is in the $j$th slot.
It's now easy to write down a (unique) linear combination of the $\theta_j$'s in $[f \circ \gamma_i]$, that is, that has initial velocity $(\ast)$, because we already know the components w.r.t. to the coordinate basis, namely $$\sum_{j = 1}^n \frac{\partial f_j}{\partial x^i}(0) \theta_j,$$ and passing to equivalence classes gives that $$f_* [\gamma_i] = [f \circ \gamma_i] = \left[\sum_{j = 1}^n \frac{\partial f_j}{\partial x^i}(0) \theta_j\right] = \sum_{j = 1}^n \frac{\partial f_j}{\partial x^i}(0) [\theta_j].$$
So, the $(j, i)$ entry of the matrix representation of the pushforward $f_*: T_0 \mathbb{R}^m \to T_0 \mathbb{R}^n$, with respect to the bases $(\partial_{x^i}) = ([\gamma_i])$ of $T_0 \mathbb{R}^m$ and $(\partial_{y^j}) = ([\theta_j])$ of $T_0 \mathbb{R}^n$, is the partial derivative $\frac{\partial f_j}{\partial x^i}(0)$. But by definition this matrix is precisely the Jacobian $(Df)(0)$.
As an aside, in the setting of differential geometry, I actually prefer the functorial notation $T_p f$ instead of $f_*$ (or, as this exercise justifies, $(Df)(p)$, so that the pushforward of the map $f: M \to N$ at $p \in M$ is $T_p f: T_p M \to T_{f(p)} N$, which in particular emphasizes that the pushforward really is a map at a point.