«Университетке барудың себептерінің бірі - қарапайым кәсіптік білім беруден шығып, оның орнына тереңірек идеяларды түсіну».

Осы сұрақ төңірегінде біраз ойланып көрейік. Бірнеше жыл бұрын информатика кафедралары мені бірқатар университеттерге дәріс оқуға шақырды. Кездейсоқ дерлік мен студенттерден, аспиранттардан және профессорлардан тұратын алғашқы аудиториямнан олардың «Информатика» анықтамасы туралы сұрадым. Әркім тек инженерлік анықтама бере алды. Мен мұны әрбір жаңа жерде жасадым және барлық жерде ұқсас нәтижелер болды.
Тағы бір сұрақ: «Дуглас Энгельбарт деген кім?» Бірнеше адам «бұл компьютердің тінтуірімен байланысты емес пе?» деді. (және бұл мені қатты ренжітті, өйткені менің ғылыми қауымдастығым бұл сұрақтың жауабы тінтуірді екі-үш рет басу арқылы мүмкін болатынына және Энгельбарттың шынымен де компьютер тінтуірімен байланысы бар екеніне көз жеткізуге көп күш жұмсады) .
Мәселенің бір бөлігі қызығушылықтың жоқтығы, ішінара оқумен байланысты емес жеке мақсаттардың тарлығы, ішінара бұл ғылымның не екенін түсінбеу және т.б.
Мен бірнеше жыл бойы Калифорния университетінің информатика бөлімінде толық емес жұмыс күніммен жұмыс істеймін (мен шын мәнінде профессормын, бірақ кафедра отырыстарына барудың қажеті жоқ). Ара-тұра сабақ беремін, кейде бірінші курс студенттеріне. Осы жылдар ішінде информатикаға қызығушылықтың онсыз да төмен деңгейі айтарлықтай төмендеді (бірақ танымалдық деңгейі де өсті, өйткені егер сіз кодтап, жоғарыдан сертификат ала алсаңыз, есептеуіш жақсы жалақы алатын жұмысқа апаратын жол ретінде қарастырылады. 10 мектеп). Тиісінше, бірде-бір студент Калифорния университетіндегі бірінші тіл C++ деп шағымданған емес!
Меніңше, біз «Компьютер» және «Ғылым» екі мағынаны да әлсіз, ауқымды ұғымдармен жойып жіберген жаңа терминді - джинсыға арналған белгі түрін - жақсы естілгенімен, бірақ әбден бос. Осыған ұқсас жойылған сәйкес термин «бағдарламалық инженерия» болып табылады, ол тағы да «бағдарламалау» және «инженерлік» ең тапқыр идеяларын пайдаланбайды, бірақ оларды жай ғана біріктірді (бұл XNUMX-шы жылдары әдейі жасалды. ойлап тапқан термин).
Университетке бару себептерінің бірі қарапайым кәсіптік білім беруден шығып, оның орнына тереңірек идеяларды түсіну болып табылады. Мамандыққа кіріспе, мүмкін болса мысалдар арқылы студенттерді шынайы өмірлік мәселелермен айналысуға және осы салада ненің шын мәнінде қызықты, маңызды және орталық екенін түсінуге тырысу өте орынды деп ойлаймын.
Бірінші сынып оқушылары басқа сызғыштың үстіндегі сызғыштың қосу машинасына қалай айналатынын, оның көмегімен 5-сыныптың балаларын бөлшектерді қосуда жеңетінін көрсеткенде қуанады. Содан кейін олар жетілдірілген қосу машиналарын әзірлеуге қатысуға қуанышты болады. Олар нақты компьютерге қол тигізді - ойлауға көмектесетін физикалық және психикалық құрал. Олар сандарды көрсетудің шынымен тиімді әдісін үйренді - мектептерде оқытылатыннан тиімдірек!
Олар «жинақтау» ретіндегі «қосу» туралы өздерінің ортақ ойларын қуатты жаңа қасиеттері бар ұқсас нәрсемен біріктіре алды. Олар оны әртүрлі мәселелерді шеше алатындай етіп бағдарламалады.
Олар да оны кеңейтті. Тағыда басқа. Бұл сандық компьютер емес. Ал бұл жаттанды бағдарламасы бар компьютер емес. Бірақ бұл компьютердің мәні. Сияқты - Бұл негізінен компьютер мен есептеуіш техниканың мәні.

Антикитериялық механизм
Істер реттелмей тұрып, абстракцияларда адаспай тұрып, біз қаншалықты алыс жүре аламыз және қанша істей аламыз? Мен әрқашан мінездемеде ішінара болдым - «Информатика» терминін ойлап тапқан болуы мүмкін Тьюринг сыйлығының бірінші лауреаты - 60-жылдары: «Информатика - бұл процестер туралы ғылым». Барлық процестер.
Quora үшін мұны одан әрі ілгерілетуге немесе оны діни догмаға айналдыруға тырыспайық. Идеяны тек қуанышпен қолданайық өз саламыз туралы жақсырақ ойлау. Әсіресе оны қалай үйрету керектігі туралы. Бізге енді «ғылымның» заманауи мағынасына қарау керек, ал Перлис оны ескі мағыналармен («білім жинағы» сияқты) және қолданумен («кітапхана ісі» немесе тіпті «әлеуметтік» сияқты) сұйылтуға болмайтынына сенімді болды. ғылымдар») «). «Ғылым» арқылы ол құбылыстарды көрсетуге, «бақылауға» және болжауға тырысатын модельдер/карталар жасау арқылы құбылысты түсінуге тырысты.

Мен ең жақсы карталар мен үлгілердің футболкаға қалай сәйкес келетіні, Максвелл теңдеулері және басқалары сияқты бірнеше сұхбат бердім. Көпірлердің көпшілігі адам қолымен жасалғанымен, ұқсастық «көпірлер туралы ғылым» бар. Бірақ көпір салынғаннан кейін ол ғалымдар зерттей алатын құбылыстарды бейнелейді, көпірлер әртүрлі үлгілерді жасауға және жан-жақты және пайдалы «көпір теорияларын» қалыптастыруға болады. Ең қызығы, сіз жаңа көпірлерді жобалай аласыз және сала аласыз (үлкен және маңызды мәселелерді шешу үшін ғалымдар мен инженерлердің бірлесіп жұмыс істеуінен қызықты ештеңе жоқ екенін жоғарыда айттым!)

Тьюринг және Нобель сыйлығының иегері Герберт Саймон мұның бәрін «жасанды ғылым» деп атады (және сол атаумен тамаша кітап жазды).

Бір мысал келтірейін. 50-жылдары компаниялар мен университеттер жадты компьютерлер жасап, оларды бағдарламалауды бастады - және 1956 жылы Фортран шыққанда ерекше сәт болды - бұл бірінші жоғары деңгейлі тіл емес, бірақ мүмкін бірінші тіл соншалықты жақсы жасалған көптеген әртүрлі салаларда, соның ішінде бұрын тек машина тілінде жасалған көптеген салаларда қолданылады.
Мұның бәрі «құбылыстарды» тудырды.

Джон МакКарти
Лисптің тарихы күрделірек, бірақ Джон Маккарти «есептеудің математикалық теориясын» табуға тырысып, барлығын мінсіз жұмыс істеуге бел байлады. Lisp-ті түсіндіретін бағалау функциясы футболкаға оңай сыйды! «Бағдарламалау жүйесімен» салыстырғанда бұл мардымсыз. Ең бастысы, бұл «есептеу теориясы» Фортранға қарағанда күшті тұжырымдама болды! Бұл ең жақсы көпір идеясы болды!
Lisp-тің миниатюралық табиғаты бағдарламалау идеясын бірнеше рет басу арқылы тереңірек деңгейде түсіруге және үлкен артефактілерді көргенде мүмкін емес болып көрінетін деңгейде ойлануға мүмкіндік береді (бұл себептердің бірі Неліктен ғалымдар математиканың жинақы және күшті болғанын ұнатады). Мұнда қолданылатын математика жаңа математика, өйткені ол «бұрын» және «кейін» сияқты ұғымдарға мүмкіндік береді және бұл «айнымалы логикаға» әкеледі, ол функционалдық тәуелділікті де, ойлаудың логикалық ағынын да сақтауға мүмкіндік береді, сонымен қатар позиция мен өтуге мүмкіндік береді. уақыт. (Бұл біздің заманымызда ситуациялық бағдарламалаудың қатыгез әлемінде әлі түсінілмейді).
Lisp қуатты бағдарламалау тілі және өз теориясын көрсете алатын метатіл ретінде шынайы информатиканың үлгісі болып табылады. Егер сіз оны және басқа да осыған ұқсас нәрселерді үйренсеңіз, сіз жай ғана Фортранда немесе оның заманауи баламалы нұсқаларында бағдарламалауды үйренгеннен гөрі тереңірек ойлана аласыз және өз тағдырыңызға жауапты бола аласыз (... сондықтан сіз бағдарламашыларға жақындай аласыз! ).
Сіз есептеулерде қажет дизайнның ерекше түрлері туралы көбірек біле аласыз (мысалы, есептеулер көбінесе есептеу ортасынан тыс шығуды талап ететін кезде бұл әдетте бағаланбайды: сақталған жұмсақ есептеулердің ерекше сипаттамаларының бірі - бұл жай ғана емес. бағдарламаға арналған материал, бірақ мүлдем жаңа компьютерге арналған материал).
Перлис анықтамасын таңдаудың тағы бір себебі, жалпы алғанда, есептеуіш алгоритмдер, «деректер құрылымдары» немесе тіпті бағдарламалаудың өзінен гөрі көптеген түрдегі жүйелерді құрумен көбірек айналысады. Мысалы, компьютер – жүйе, есептеуіш – жүйе, жергілікті желі және Интернет – жүйе, және бағдарламалардың көпшілігі олардан жақсырақ жүйелер болуы керек (50-ші жылдардағы бағдарламалаудың ескі стилі бағдарламалау керек сияқты көрінгенге дейін созылды. бұл сияқты - шындықтан басқа ештеңе болуы мүмкін емес).
Интернет жақсы үлгі болып табылады - қазіргі кездегі көптеген бағдарламалық жасақтамалардан айырмашылығы, Интернетті ештеңені түзету немесе жақсарту үшін тоқтатудың қажеті жоқ - ол көптеген адамдар есептеу жүйесі деп ойлағаннан гөрі биологиялық жүйеге көбірек ұқсайды - біздің ниетіміз бойынша. Және ол қазіргі кездегі барлық дерлік бағдарламалық жүйелерге қарағанда әлдеқайда ауқымды және сенімді. Жаңадан бастаған бағдарламашыларға күші аз ұғымдарды үйретпес бұрын бұл туралы ойлануға тұрарлық!
Сонымен, Информатика курсының бірінші курсында не істеуіміз керек, студенттердің ең басында немен айналысуы мүмкін екенін ескеру, содан кейін оларға шынымен маңызды нәрсеге жетуге көмектесу үшін олардың «танымдық жүктемесінде» қалуға тырысу. «Шынайы болу» және интеллектуалдық тұрғыдан адал және жаңадан бастағандар үшін қолайлы жолдарды табу маңызды. (Жаман идеяларды олар сәл қарапайым болып көрінгендіктен ғана үйретпеңіз - көптеген жаман идеялар шынымен оңайырақ!).
Студенттер мен осында талқылаған көптеген маңызды сипаттамаларға ие нәрсені жасаудан бастау керек. Ол бірнеше динамикалық өзара әрекеттесетін бөліктер жүйесі болуы керек және т.б. Қай бағдарламалау тілін қолдану керектігін шешудің жақсы жолы - мыңдаған өзара әрекеттесетін бөліктері бар нәрсені жасау! Егер жоқ болса, онда біреуін табу керек. Сіз жасай алатын ең жаман нәрсе - студенттерді тым аз еркін сөйлеу жолына қою, бұл үлкен идеяларды айтарлықтай шектейді. Бұл жай ғана оларды өлтіреді - және біз оларды өлтіргіміз емес, өсіргіміз келеді.
GoTo School туралы

- 17-30 маусым, 15-28 шілде, 12-25 тамыз
Ақпарат көзі: www.habr.com
