I would like to request help for a Fitch proof... Here is the statement I have to prove:
$$((p \rightarrow q) \rightarrow p) \rightarrow p$$
I have tried multiple things, such as using implication and negation introduction to find contradictions and try to get to the statement, but they have been unsuccessful.
 A: I think one of the proofs below will fit the bill:

or (if your $\neg$ Elim works differently):

But if you do have an explicit contradiction symbol and associated rules:

And the software program Fitch even allows a little shortcut for that proof by contradiction: 

A: 
$$\emptyset \vdash ((p \rightarrow q) \rightarrow p) \rightarrow p$$

Every (constructive) normalized natural deduction proof only contains expressions that are sub expressions of conditions and consequences.  So the subexpressions of your proof may be:
$$((p \rightarrow q) \rightarrow p) \rightarrow p \tag{1a}$$
$$(p \rightarrow q) \rightarrow p \tag{2a}$$
$$p \rightarrow q \tag{3a}$$
$$p \tag{4a}$$
$$q \tag{5a}$$
Looking at those, what rule of inference allows the construction of $((p \rightarrow q) \rightarrow p) \rightarrow p$?  Well it could be $\Rightarrow\text{Intro}$ of (2a) and (4a).  It can't be any elimination rules, as that would require larger expressions.  So the only possible proof structure is:
$$\begin{array} {r|ll}
(1) & \quad \quad (p \rightarrow q) \rightarrow p & \text{Premise} \\
    & \quad \quad \vdots & \\
(2) & \quad \quad p & \text{Unestablished} \\
(3) & ((p \rightarrow q) \rightarrow p) \rightarrow p & \Rightarrow\text{Intro} \\
\end{array}$$
So to establish $(p \rightarrow q) \rightarrow p \vdash p$ the only expressions appearing in a normalized proof are:
$$(p \rightarrow q) \rightarrow p \tag{1b}$$
$$p \rightarrow q \tag{2b}$$
$$p \tag{3b}$$
$$q \tag{4b}$$
So what rule allows the creation of $p$?  It could only be the $\Rightarrow\text{Elim}$ of (1b) and (2b).  (1b) is already established, so the proof must contain:
$$\begin{array} {r|ll}
(1) & \quad \quad (p \rightarrow q) \rightarrow p & \text{Premise} \\
    & \quad \quad \vdots & \\
(2) & \quad \quad p \rightarrow q & \text{Unestablished} \\
(3) & \quad \quad p & \Rightarrow\text{Elim} \\
\end{array}$$
So we must establish $(p \rightarrow q) \rightarrow p  \vdash p \rightarrow q$, and the only subexpressions available are the same as before, the (b) set.  The only rule of inference using those expressions creating $p \rightarrow q$ is $\Rightarrow\text{Intro}$ of (3b) and (4b).  So the proof must contain:
$$\begin{array} {r|ll}
(1) & \quad \quad (p \rightarrow q) \rightarrow p & \text{Premise} \\
(2) & \quad \quad \quad \quad p & \text{Premise} \\
    & \quad \quad \quad \quad \vdots & \\
(3) & \quad \quad \quad \quad q & \text{Unestablished} \\
(4) & \quad \quad p \rightarrow q & \Rightarrow\text{Intro} \\
\end{array}$$
So to establish $\{(p \rightarrow q) \rightarrow p,~p\} \vdash q$, we can use the same subexpressions as above (the (*b) set).  So what allows the creation of $q$?  The only possible rule is $\Rightarrow\text{Elim}$ of (2b) and (3b).  (3b) is already assumed, so (4b) must be constructed, so the proof must contain:
$$\begin{array} {r|ll}
(1) & \quad \quad (p \rightarrow q) \rightarrow p & \text{Premise} \\
(2) & \quad \quad \quad \quad p & \text{Premise} \\
    & \quad \quad \quad \quad \vdots & \\
(3) & \quad \quad \quad \quad p \rightarrow q& \\
(4) & \quad \quad \quad \quad q & \Rightarrow\text{Elim} \\
\end{array}$$
So we have to establish $\{(p \rightarrow q) \rightarrow p,~p\} \vdash p \rightarrow q$.  The only rule that allows the construction of $p \rightarrow q$ using the subexpressions is $\Rightarrow\text{Intro}$ of (3b) and (4b).  (3b) is already assumed, so (4b) must be established.
So, at this point, we can see that in order to establish $\{(p \rightarrow q) \rightarrow p,~p\} \vdash q$ (from before) we must first establish $\{(p \rightarrow q) \rightarrow p,~p\} \vdash q$.  Consequently the claim is not constructively establishable.
