Кіріспе

1988 жылғы E. W. Dijkstra-ның "Компьютер ғылымын шын мәнінде оқытудың қатыгездігі туралы" мақаласы – 1988 жылғы Э. В. Дикстраның ғылыми еңбегі. Онда компьютерлік бағдарламалау математиканың бір саласы ретінде қарастырылуы керек екені, ал бағдарламаның формальды түрде дәлелделуі – дұрыстықтың маңызды өлшемі екені айтылады. Атауына қарамастан, мақаланың басым бөлігі Дикстраның компьютер ғылымын ғылым саласындағы кең көрініске енгізу әрекеттеріне арналған, ал оқыту мәселесі соңында қосымша қарастырылады. Атап айтқанда, Дикстра бірінші курс студенттері үшін бағдарламалауға кіріспе курсын ұсынды, ол интерпретацияланбаған формальды жүйе ретінде Хоар логикасына негізделген.

Жүзеге асыру мүмкіндігін талқылау

"Бағдарламалық инженерия" термині енгізілгеннен бері ресми тексеру көбінесе тым көп ресурстарды қажет ететін, іске асыруға мүмкін емес деп есептелді. Күрделі қолданбаларда бағдарламаның не істеу керектігін дұрыс көрсетудің өзі қиындық тудырады және бұл қателердің жиі кездесетін себебі болып табылады. Бағдарламалық жасақтаманы сынаудың басқа әдістері көбінесе қателерді жою үшін қолданылады, сондай-ақ бағдарламалық жасақтама сапасын бағалауда көптеген факторлар ескеріледі. Өмірінің соңына дейін Дикстра есептеудің басты мәселелері оның қанағаттануына сай шешілмегенін айтты, себебі бағдарламаның дұрыстығына жеткілікті назар берілмеді (бірақ техникалық қолдау және тиімділік сияқты басқа да талаптар ескерілді).

Педагогикалық мұра

Қазіргі кезде оқытылатын компьютер ғылымы Дийкстраның барлық кеңестерін толыққанды қабыламайды. Оқу бағдарламалары көбінесе күрделілікті басқару және болашақ өзгерістерге дайындық жасау техникаларын баса назарлайды, бұл Дийкстраның ертерек жазбаларында айтылған. Оларға абстракция, келісімшарт бойынша бағдарламалау және жобалау үлгілері кіреді. Қателерден сақтану үшін бағдарламалау техникалары мен дәстүрлі бағдарламалық жасақтаманы тестілеу әдістері негізгі талаптар ретінде оқытылады, сондай-ақ студенттерге белгілі бір математикалық құралдар ұсынылады, бірақ формалды тексеру әдістері оқу бағдарламасына, әдетте, тек қана жоғары деңгейдегі тақырып ретінде ғана енгізіледі. Демек, кейбір жағынан Дийкстраның идеялары сақталған, алайда ол ең қатты сенген идеялары толыққанды жүзеге асырылмаған. Бағдарламалық жасақтаманы жасау саласындағы жаңа оқу бағдарламалары Дийкстраның ұсыныстарын қабылдады. Бұл бағдарламалардың негізгі мақсаты – жүйелік дұрыстықты формалды растауды жеңілдету үшін бағдарламалық қамтамасыз ету талаптары мен жобалаудың формалды сипаттамасын жасау. Канадада мұндай бағдарламалар физикаға негізделген инженерлік саласындағы ұқсас негізгі біліктерге ие аккредиттелген инженерлік мамандықтар болып табылады.