I am having trouble with the following exercise:
Given a smooth function $f: R^2 \to R^4$ and $S^{1}$ embedded in $R^2$, then $\forall \epsilon >0$ there exists a smooth function $f_{1}$ such that $sup|f(x)-f_{1}(x)|< \epsilon$, which is an immersion when restricted to $S^1$.
Here's a sketch of an elementary solution if you know the transversality theorem (e.g., see Guillemin & Pollack or "Parametric transversality theorem" here).
(1) Observe that you only need to perturb $f$ near $S^1$ to obtain the result. So let $\rho\colon \Bbb R^2\to\Bbb R$ be a smooth function that is $1$ in a small neighborhood of $S^1$ and $0$ outside a slightly larger neighborhood.
(2) When $A$ is a $4\times 2$ matrix, let $g_A(x) = f(x)+Ax$. Note that $h_A(x) = (dg_A)_x = df_x + A$. Since the matrices of rank $1$ in the space of $2\times 4$ matrices form a submanifold $Z$ of dimension $5$, if a map $h_A$ on $S^1$ is transverse to $Z$, it must be transverse by default and have image disjoint from $Z$. Likewise for the $0$ matrix. So, by the transversality theorem, $h_A(S^1)$ will be disjoint from $Z\cup \{0\}$ for almost every $A$, and this means that for such $A$, $g_A$ will be an immersion on $S^1$. Choose such an $A$ so that $|Ax|<\epsilon/2$ for all $x\in S^1$.
(3) Take $f_1 = f + \rho A$.
I leave it to you to work out the details (including a careful definition of the small and slightly larger neighborhoods). After all, this is an exercise for you :)