Sachverhalt: A. Der tunesische Staatsangehörige A._ ersuchte am 25. Oktober 2006 den Stadtschulrat der Stadt Schaffhausen, seine beiden Söhne X._ (geb. 1995) und Y._ (geb. 1997) vom obligatorischen Schwimmunterricht an der Primarschule Steingut (5. bzw. 4. Klasse) zu dispensieren. Er verwies darauf, dass seine Familie dem Islam angehöre und ein geschlechtlich gemischter Schwimmunterricht mit ihren religiösen Überzeugungen nicht vereinbar sei. Die zuständige Kreisschulbehörde des Stadtschulrats lehnte das Gesuch am 1. November 2006 ab. Der Erziehungsrat des Kantons Schaffhausen wies den Rekurs, den X._ und Y._ gegen diesen Entscheid erhoben hatten, am 11. April 2007 ebenfalls ab. Die beim Obergericht des Kantons Schaffhausen dagegen eingereichte Beschwerde blieb ohne Erfolg. B. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragen X._ und Y._ dem Bundesgericht, den Entscheid des Obergerichts des Kantons Schaffhausen vom 14. Dezember 2007 aufzuheben und die Sache zu neuem Entscheid an dieses zurückzuweisen, eventuell sie vom gemeinsamen Schwimmunterricht mit den Mädchen zu dispensieren. Der Stadtschulrat und der Erziehungsrat stellen gemeinsam den Antrag, die Beschwerde abzuweisen, soweit darauf einzutreten sei. Das Obergericht hat sich zur Beschwerde vernehmen lassen, ohne einen ausdrücklichen Antrag zu stellen. Das Bundesgericht hat die Beschwerde in öffentlicher Sitzung beurteilt. 