EDIT: I was extremely foolish earlier - my construction worked, but my verification was nonsense. Fixed!
Call a sequence of sets $A_i\subseteq [0, 1]$ ($i\in\mathbb{N}$) a good sequence if
Each $A_i$ is nowhere dense.
The $A_i$s are disjoint.
The set $B=\bigcup_{i\in\mathbb{N}} A_i$ is uncountably dense in $[0, 1]$: for any $0<\alpha<\beta<1$, $B\cap (\alpha,\beta)$ is uncountable.
Exercise: show that a good sequence exists.
Now given a good sequence, there is an associated function $f$, given by $f(x)=n$ if $x\in A_n$, and $f(x)=0$ if $x\not\in B$. I claim this function has the desired property.
First, we'll show that $f$ is continuous on $[0, 1]\setminus B$. We can show that $\lim_{x\rightarrow a}f(x)=0$ for all $a\in[0, 1]\setminus B$, since each $A_i$ is closed, as follows: fix $a\in [0, 1]\setminus B$ and $\epsilon>0$. Taking $n>{1\over \epsilon}$ and using the fact that finite unions of closed sets are closed, we may find an open interval $I\ni a$ which doesn't intersect $A_1\cup ... \cup A_n$; on this interval, $f$ is always $<\epsilon$. So $\lim_{x\rightarrow a}f(x)=0$.
Now since $f(a)=0$ for $a\not\in B$, this means that $f$ is continuous on $[0, 1]\setminus B$.
Next, we'll argue that $[0, 1]\setminus B$ is uncountably dense. This follows from the fact that the $A_i$s are each nowhere dense, using the Baire category theorem. Suppose otherwise; then for some $0\le\alpha<\beta\le1$, $B\cap [\alpha, \beta]$ must be countable. But
So $[\alpha, \beta]$ is meager; but this contradicts the Baire category theorem.
So the set of points of continuity of $f$ contains $[0, 1]\setminus B$, and hence is uncountably dense; it only remains to show that the set of points of discontinuity of $f$ is uncountably dense.
But this follows easily from the result above, and the easy fact that if a function $g(x)$ is constant (say, $=c$) on some dense set $D$ and $g(a)\not=c$ then $g$ is not continuous at $a$. So $f$ is discontinuous at every point in $B$. Since we already know by choice of $A_i$s that $B$ is uncountably dense, this means that the set of points of discontinuity of $f$ is uncountably dense (and with that we've used the final property of good sequences), so we are done.