Cura converts digital 3D models (.stl and other formats) into printing instructions (G-code) for your 3D printer. It cuts the model into horizontal slices (layers), generates toolpaths to fill them and calculates the amount of material to be extruded.
Cura is easy to use for novices and provides over 200 settings to adjust for the expert. It can output G-Code for several series of 3D printers, most notably the Ultimaker.
It provides a graphical user interface. For batch mode, check out cura-engine.