Proof the yeast: Stir the yeast and sugar into the warm water and let it sit undisturbed for about 8 minutes, until foamy on top. If it doesn't foam, the yeast is likely dead and you'll need a fresh packet.
Mix the dough: In a large bowl, combine the bread flour, salt and olive oil with the yeast mixture. Stir with a wooden spoon until a shaggy, sticky dough forms.
Knead the dough: Turn the dough onto a floured surface and knead for 8 to 10 minutes. It's ready when it feels smooth and elastic and springs back slowly when poked.
First rise: Place the dough in a lightly oiled bowl, cover with a damp towel, and let it rise at room temperature for 2 to 2.5 hours. It should nearly triple in size and show large bubbles beneath the surface.
Shape the loaf: Gently deflate the dough and shape it into an oval or round loaf, tucking the edges under to build surface tension. Handle it gently to keep as much trapped air as possible.
Second rise: Transfer the loaf to a baking sheet dusted with cornmeal. Cover loosely and let it proof for 30 to 40 minutes, until puffy and nearly doubled.
Preheat the oven: About 20 minutes before baking, preheat the oven to 450°F with a baking sheet or empty pan on the bottom rack for creating steam.
Score the dough: Using a sharp knife or razor blade, slash the top of the loaf 2 to 3 times at a 45-degree angle, about 1/4 inch deep. This lets the bread expand evenly as it bakes.
Add steam and bake: Place the loaf in the oven and immediately toss the ice cubes into the hot pan below to create steam. Bake for 30 to 35 minutes, until the crust is deep golden brown.
Check for doneness: Tap the bottom of the loaf; it should sound hollow. An instant-read thermometer inserted into the center should read about 200°F.
Cool completely: Transfer the bread to a wire rack and let it cool for at least 45 minutes before slicing. Cutting too soon releases steam and leaves the crumb gummy.