The Homework on Section 3.6 includes 3a and 3c.
Here I’ll do 3b.  Modify these cells to plot your solutions to 3a.

points3b = {{1,1}, {1.25, 1.5}, {5, 3}, {6,2}};
Show[Graphics[{Green,Line[points3b],Red,Point[points3b]},Axes->True] ]

Use algorithm 3.6 to compute the a’s and b’s and  then run the next cell

xoft[t_] := a0 + a1 t + a2 t^2 + a3 t^3
yoft[t_] := b0 + b1 t + b2 t^2 + b3 t^3
pBezier = ParametricPlot[{xoft[t], yoft[t]}, {t, 0, 1}]

Now, show the points and guidepoints along with the curve, pBezier, you just plotted.

Show[Graphics[{Green,Line[points3b],Red,Point[points3b]},Axes->True], pBezier ]

Mathematica has a built-in BezierCurve function:

Graphics[{Green,Line[points3b],Red,Point[points3b],Blue,BezierCurve[points3b]},Axes->True]

Here is the way to do 3d.  You can modify this to do 3b and 4.

firstData= {{0,0}, {0.5, 0.5}, {3,1}, {2,1}};
secondData = {{2,1},{3,1}, {5,1}, {4,0}};
thirdData= {{4,0}, {3, -1}, {6.5, -0.25}, {6,-1}};
Graphics[{BezierCurve[firstData], BezierCurve[secondData], BezierCurve[thirdData], Red, Line[firstData], Blue,Line[secondData], Red,Line[thirdData]}, Axes -> True]