Clear[prop, d]
prop[k_, t_] = E^(-d k^2 t) ;

Clear[a, l, px0]
px0[x_] = ((1/l) + a Sin[ k0 x] ) ;

Clear[norm]
norm = Integrate[ px0[x], {x, 0, l}] ;

Clear[pk0]
pk0[k_] = Integrate[ px0[x] E^(-I k x), {x, 0, l}]

Clear[pk]
pk[k_, t_] = prop[k, t] pk0[k] ;

Clear[ik]
ik[k_, x_, t_]  = E^(I k x) pk[k, t]/(2 Pi)

Clear[px]
(*px[x_, t_] = Integrate[ E^(I k x) pk[k, t]/(2 Pi) , {k, -Infinity, Infinity}]*)

Clear[c]
(*Integrate[ prop[k, t] E^(I k x) (1/(2 Pi)) 1/(k - c), {k, -Infinity, Infinity}]
Integrate[ prop[k, t] E^(I k x) (1/(2 Pi))  E^(e I k l)/(k - c), {k, -Infinity, Infinity}]*)

Plot[Sqrt[1/t]E^(-1/t), {t, 0, 5}, PlotRange->Full, AxesLabel->{t, (E^(-1/t))/(Sqrt[t])}]

Using the propagator for q1.(i)

Clear[ii]
ii = Integrate[ Exp[ -(xp - x)^2/(4 d t) - xp^2/(2 sigma^2)] /(2 Pi sigma Sqrt[ 2 d t]), {xp, -Infinity, Infinity}]
ii// FullSimplify

A bit of manipulation shows that this is the same as the manually calculated result.

The plot for q1(i)

Clear[pp, sigma, dd]
pp[x_, sigma_, dd_, t_] = ((E^(-((x^2)/(2 (sigma^2)+4 dd t))))/((Sqrt[2 π])  (Sqrt[2dd t+sigma^2]) ))

Manipulate[
Plot[
pp[x, sigma, dd, t]
,{x, 0, 10}
, PlotRange->Full
]

, {{t, 0}, 0, 10}
, {{sigma, 1}, 1, 10}
, {{dd, 1}, 1, 10}

]
Module[
{sigma, dd},
sigma = 1 ;
dd = 1 ;

Plot[
{pp[x, sigma, dd, 0],
pp[x, sigma, dd, 5]}
,{x, -10, 10}
, PlotRange->Full,
AxesLabel->{x, P}
]
]

ClearAll[lblPlot];
Options[lblPlot]={maxArrowedLbls->5,maxNonArrowedLbls->5,optLblsO->{}};
lblPlot[s_Graphics,myStyle_List: {FontFamily->"Times",16},OptionsPattern[]]:=(*Thanks to@WReach, @jVincent and@chris@Rojo for their useful help and code*)(*Errors,bugs and bad coding due to belisarius*)Module[{myLabel,copyToNewNB,exportLbls,printLbls,u,plotRsrv,safeGuard={"FeboAsoma"},optLbls},myLabel[{str_,{p1_,p2_,p3_}}]:={Thick,Arrow@BezierCurve[{p3,p2,p1}],Inset[Style[str,myStyle],p3,Background->White]};
myLabel[{str_,p1:{_,_}}]:={Thick,Inset[Style[str,myStyle],p1,Background->White]};
copyToNewNB[plot_,list_]:=Module[{nb},nb=NotebookCreate[];
NotebookWrite[nb,Cell[BoxData@ToBoxes@plot,"Output"]];
printLbls[nb,list];];
exportLbls[list_]:=Module[{nb},nb=NotebookCreate[];
printLbls[nb,list];];
printLbls[nb_,list_]:=(NotebookWrite[nb,Cell["Reserve the following expression in your Notebook to restore your Labels and Arrows the next time you need to include them in the Plot","Subsection",CellMargins->{{50,50},Inherited}]];
NotebookWrite[nb,Cell[BoxData@ToBoxes@Join[safeGuard,list,safeGuard],"Output"]];);
u=Array[(PlotRange/.Options[s,PlotRange])[[All,1]]+Flatten[Differences/@(PlotRange/.Options[s,PlotRange])/4] #&,3];
optLbls=OptionValue[optLblsO];
Panel@DynamicModule[{pts1={},pts2={},lbl1={},lbl2={},varRsrv="Label Import Area"},If[Head[optLbls]==List&&Length@optLbls==6&&optLbls[[1]]==optLbls[[-1]]==safeGuard[[1]],{pts1=optLbls[[2]],pts2=optLbls[[3]],lbl1=optLbls[[4]],lbl2=optLbls[[5]]}];
Column[{Dynamic@Show[plotRsrv=Show[s,Epilog->myLabel/@Join@@{MapIndexed[{lbl1[[#2[[1]]]],#1}&,Partition[pts1,3]],MapIndexed[{lbl2[[#2[[1]]]],#1}&,pts2]},ImageSize->500],Graphics[{Dynamic@MapIndexed[With[{i=#2[[1]]},Locator[Dynamic[pts1[[i]]]]]&,pts1],Dynamic@MapIndexed[With[{i=#2[[1]]},Locator[Dynamic[pts2[[i]]]]]&,pts2]},PlotRange->{{0,1},{0,1}}]],InputField[Dynamic@varRsrv,FieldSize->55,FieldHint->"Label Import Area"],Row[{Button["Add Labeled Arrow",If[Length@pts1<3 OptionValue[maxArrowedLbls],AppendTo[lbl1,"Arrow"];pts1=pts1~Join~(u)]],Button["Add Label",If[Length@pts2<OptionValue[maxNonArrowedLbls],(AppendTo[lbl2,"Label"];
AppendTo[pts2,u[[2]]])]],Button["Copy to new .nb",copyToNewNB[plotRsrv,{pts1,pts2,lbl1,lbl2}]],Button["Export Labels",exportLbls[{pts1,pts2,lbl1,lbl2}]],Button["Import Labels",(*validate the labels set,then import*)If[Head[varRsrv]==List&&Length@varRsrv==6&&varRsrv[[1]]==varRsrv[[-1]]==safeGuard[[1]],{pts1=varRsrv[[2]],pts2=varRsrv[[3]],lbl1=varRsrv[[4]],lbl2=varRsrv[[5]]},MessageDialog["You're trying to Import a label set not created by \"Export Labels\""],MessageDialog[{Head[varRsrv],varRsrv[[1]]==varRsrv[[-1]]==safeGuard}]];]}],Dynamic@Grid[Transpose[{(*arrows*){""}~Join~PadRight[Row[{#,InputField[Dynamic[lbl1[[#]]],String],Button["Delete"<>ToString@#,(lbl1=Drop[lbl1,{#,#}];
pts1=Drop[pts1,{3 #-2,3 #}])]}]&/@Range@(Length@pts1/3),Max[Length@lbl1,Length@lbl2],""],(*non-arrows*){""}~Join~PadRight[Row[{#,InputField[Dynamic[lbl2[[#]]],String],Button["Delete"<>ToString@#,(lbl2=Drop[lbl2,{#,#}];
pts2=Drop[pts2,{#}])]}]&/@Range@(Length@pts2),Max[Length@lbl1,Length@lbl2],""]}],ItemSize->30]}]]]

Clear[s]

s=
Module[
{sigma, dd},
sigma = 1 ;
dd = 1 ;
Plot[
Evaluate@Table[pp[x, sigma, dd, r],{r,{0, 1, 5}}]
,{x, -10, 10}
, PlotRange->Full
] ]
lblPlot[s,{FontFamily->"xkcd",16}]

Try q1(ii) integral using propagator

Clear[ii, l, k0, d, t, x, a]
ii = Integrate[ (1/l + a Sin[k0 xp]) Exp[ -(xp - x)^2/(4 d t) ] /Sqrt[ 4 Pi d t], {xp, 0, l}]
ii// FullSimplify

q1(ii) final plots after manual propagator calculations.

Clear[pr]
pr[x_, l_, d_, t_] = (1/2/l)(
Erf[-(l/2 + x)/(2 Sqrt[d t]),(l/2 - x)/(2 Sqrt[d t])]
) ;

Plot3D[
pr[x, 1, 1, t]
, {x, -4, 4}
, {t, 0, 10}
, AxesLabel->{x, t}
, PlotRange->Full
]

Plot[
pr[x, 1, 1, 10^(-8)]
, {x, -1, 1}
, PlotRange->{{-1,1},{0,1.2}}
]

Clear[ps]
ps[x_, t_, l_, d_, k_] = (1/(4 I)) Exp[-k^2 d t] (
Exp[ I k x] Erf[-(l/2 + x)/(2 Sqrt[d t]) -I k Sqrt[d t],(l/2 - x)/(2 Sqrt[d t]) -I k Sqrt[d t]]
- 
Exp[ -I k x] Erf[-(l/2 + x)/(2 Sqrt[d t]) +I k Sqrt[d t],(l/2 - x)/(2 Sqrt[d t]) +I k Sqrt[d t]]
) ;
Plot[
ps[x, 10^(-8),1, 1, 8 Pi ] 
, {x, -1, 1}
, PlotRange->{{-1,1},{-1.2,1.2}}
]

Plot3D[
ps[x, t,1, 1, 8 Pi ] 
, {x, -1, 1}
, {t, 0.00001, 0.01}
, AxesLabel->{x, t}
, PlotRange->Full
(*, PlotRange->{{-1,1},{1, 5},{-1.2,1.2}}*)
]

Clear[pp]
pp[x_, t_] = pr[x, 1, 1, t] + ps[x, t,1, 1, 8 Pi ] /2 ;

Plot[
{pp[x, 10^(-5)],
pp[x, 1/ (8 Pi)^2]
}
, {x, -1, 1}
, PlotRange->{{-1,1},{0,2}}
]
Plot3D[
pp[x, t]
, {x, -1, 1}
, {t, 0.00001, 0.01}
, AxesLabel->{x, t}
, PlotRange->Full
]

Clear[psNonWindowed]
psNonWindowed[x_, t_, l_, d_, k_] =  Exp[-k^2 d t] Sin[ k x ] ;


Plot3D[
psNonWindowed[x, t,1, 1, 8 Pi ] 
, {x, -1, 1}
, {t, 0.00001, 0.01}
, AxesLabel->{x, t}
, PlotRange->Full
(*, PlotRange->{{-1,1},{1, 5},{-1.2,1.2}}*)
]

Clear[ppNonWindowedSine]
ppNonWindowedSine[x_, t_] = pr[x, 1, 1, t] + psNonWindowed[x, t,1, 1, 8 Pi ] /2 ;


Plot3D[
ppNonWindowedSine[x, t]
, {x, -1, 1}
, {t, 0.00001, 0.01}
, AxesLabel->{x, t}
, PlotRange->Full
]