Dijkstra, makalesinde , bilgisayar bilimlerini öğretmenin zulmü üzerine , bir giriş programlama kursu için aşağıdaki öneride bulundu:
Bir yandan, belirleyici hesabın neye benzediğini öğretiyoruz, ancak bunu filozoflardan çok farklı yapıyoruz. Acemi programcıyı yorumlanmamış formüllerin manipülasyonunda eğitmek için, öğrenciye mantıksal bağlaçların tüm cebirsel özelliklerini tanıyarak, boolean cebiri olarak öğretiyoruz. Sezgiye olan bağlantıları daha da kesmek için, boolean alanın {true, false} değerlerini {black, white} olarak yeniden adlandırıyoruz.
Öte yandan, basit, temiz, zorunlu bir programlama dili, temel ifadeler olarak bir atlama ve çoklu atama ile, yerel değişkenler için blok bir yapı, ifade kompozisyonu için operatör olarak noktalı virgül, güzel bir alternatif yapı, güzel tekrarlama ve eğer istenirse bir prosedür çağrısı. Buna boolean, integer, karakter ve string gibi minimum veri türlerini ekliyoruz. Önemli olan, ne tanıtırsak sunalım, karşılık gelen anlambilimin kendisiyle birlikte gelen ispat kuralları ile tanımlanmış olmasıdır.
En başından ve tüm kurs boyunca, programcının görevinin yalnızca bir program yazmak değil, aynı zamanda ana görevinin de önerdiği programın eşit olarak resmi işlevsel şartnameye uygun olduğuna dair resmi bir kanıt vermek olduğunu vurguluyoruz. Ellerinde kanıtlar ve programlar tasarlanırken, öğrenci manipülatif çevikliğini yordayıcı hesap ile mükemmelleştirmek için geniş bir fırsat elde eder. Son olarak, bu tanıtıcı programlama kursunun öncelikle resmi bir matematik dersi olduğu mesajını eve götürmek için, söz konusu programlama dilinin kampüste uygulanmadığını, böylece öğrencilerin programlarını test etme isteğinden korunduğunu görüyoruz. .
Bunun ciddi bir öneri olduğunu vurguluyor ve fikrinin "tamamen gerçekçi değil" ve "çok zor" olduğu da dahil olmak üzere çeşitli olası itirazları ortaya koyuyor.
Ancak bu uçurtmanın her iki varsayım için de uçmayacağı kanıtlandı: 80'li yılların başından bu yana, böyle bir tanıtım programı kursu her yıl yüzlerce üniversite birinci sınıf öğrencisine başarıyla verildi. [Tecrübelerime göre, bir kez bunun yeterli olmadığını söylemek, önceki cümlenin en az iki kez tekrarlanması gerekir.]
Dijkstra hangi kursa atıfta bulunuyor ve onu tartışacak başka literatür var mı?
Deneme 1988'de Dijkstra'nın Austin'deki Texas Üniversitesi'ndeyken ortaya çıktı, muhtemelen bir ipucuydu - Dijkstra arşivine ev sahipliği yaptılar, ancak çok büyük ve özellikle bu kurs hakkında başkalarından duymak istiyorum.
Dijkstra'nın fikrinin burada iyi veya gerçekçi olup olmadığını tartışmak istemiyorum. Bunu cstheory.se veya cs.se'ye göndermeyi düşündüm, ancak buraya yerleştiğim için: a) bir eğitimci topluluğunun kolayca cevap verebilecek birisine sahip olma olasılığı daha yüksek olabilir ve b) Dijkstra'nın kendi kursunun "öncelikle" resmi matematik. " Kabul etmiyorsanız, geçişi işaretlemek için çekinmeyin.