Manipulate[i=0;populationSize;sampleSize; nIter;
Dynamic[If[i< nIter,(
If[i==0,{populationSizeEstimate=Table[0,{j,nIter}];
CurrentPopulationSizeEstimate=Table[0,{j,nIter}];
population=Range[1,populationSize];}];i++;
(* RandomChoice[] does sampling WITH replacement *)
populationSizeEstimate[[i]]=2*Mean[ RandomChoice[population,sampleSize]]- 1;
CurrentPopulationSizeEstimate[[i]]=N[Mean [populationSizeEstimate[[1;;i]]]];

p1=ListPlot[CurrentPopulationSizeEstimate[[1;;i]],PlotLabel->Text["Convergence of population size estimator (2 (Subscript[(Overscript[X, -]), n])-1) as function of number of samples and sample size\n"<>"\tnumber of samples taken =  "<>ToString[i]<>
"\t      Current estimator value = "<>ToString[CurrentPopulationSizeEstimate[[i]]]<>
"\n\tCurrent estimator mean   =  "<>ToString[Mean[CurrentPopulationSizeEstimate[[1;;i]]]]<>
"\tCurrent estimator Variance = "<>ToString[Variance[CurrentPopulationSizeEstimate[[1;;i]]]]],PlotRange->{{0,nIter},{populationSize-0.05 populationSize,populationSize+0.05 populationSize}},ImageSize->500,AxesLabel->{"number of samples","Estimator value of population size"},Joined->True];
p2=Line[{{1,populationSize},{nIter,populationSize}}];
p3=Show[p1,Graphics[{Red,p2}]]
),p3]],
{{populationSize,1000,"Population Size?:"},20,5000,100,Appearance->"Labeled",ContinuousAction->False},
{{sampleSize,30,"sample Size?:"},10,200,5,Appearance->"Labeled",ContinuousAction->False},
{{nIter,1000,"number of samples to take?:"},100,50000,100,Appearance->"Labeled",ContinuousAction->False},
AutorunSequencing->{{2,120}}
]