Компјутерска наука

Од Википедија — слободната енциклопедија
Прејди на прегледникот Прејди на пребарувањето

Компјутерската наука или науката за пресметување (понекогаш скратено со CS) е проучување на теоретската основа на информациите и пресметката, како и на практичните техники за нивна имплементација и примена во компјутерските системи. Често е опишана како систематско проучување на алгоритамските процеси кои создаваат, опишуваат и трансформираат информација. Според Peter J. Denning, основното прашање во потенцирањето на компјутерската наука е „Што може (ефикасно) да се автоматизира?“ Компјутерската наука има повеќе подобласти; некои како компјутерската графика ја нагласуваат пресметката на специфични резултати, додека другите, како теоријата за пресметковната комплексност,ги проучуваат особините на пресметковните проблеми. Сепак, други се фокусираат на предизвиците за примена на пресметките. На пример, теоријата за програмерскиот јазик ги проучува пристапите за опишување на пресметките, додека компјутерското програмирање применува специфични програмерски јазици за да решат одредени пресметковни проблеми, а човек - компјутер интеракцијата се фокусира на предизвиците за ги направи компјутерите и пресметките корисни, употребливи и универзално достапни за луѓето.

Општата јавност понекогаш ја збркува компјутерската наука со кариерите кои се занимаваат со компјутерите (како именката Информатичка Технологија), или сметаат дека таа се поврзува со нивното искуство со компјутери што карактеристично ги вклучува активностите како играње, прелистување на интернет и обработка на текст. Сепак, фокусот на компјутерската наука е повеќе во разбирањето на особините на програмите кои се користат за имплементирање на софтвер како што се игрите или прелистувачите на интернет, користејќи го тоа разбирање да креираат нови програми или да ги подобрат постојните.

Историја[уреди | уреди извор]

Главна статија: Историја на компјутерската наука Раните основи на она што стана компјутерска наука претходат на пронаоѓањето на модерниот дигитален компјутер. Машините за пресметување на фиксни нумерички задачи, како сметалката постоеле уште од антиката. Wilhelm Schickard го креирал првиот механички дигитрон во 1623 год. Charles Babbage дизајнирал диференцијална машина во викторијанското време со помош на Ada Lovelace. Околу 1900 год. беа воведени машините за бушени картички. Сепак, сите овие машини биле ограничени да изведуваат единствена задача или најмногу подгрупа на сите можни задачи.

За време на 1940-тите, беа развиени понови и помоќни машини за пресметување, со терминот компјутер се означувале повеќе машините отколку човечките претходници. Како што стана јасно дека компјутерите можат да се користат многу повеќе отколку само за математички пресметки, областа на компјутерската наука се прошири за да го проучува пресметувањето воопшто. Компјутерската наука почна да се воведува како одвоена академска дисциплина во 1950-тите и раните 1960-ти. Првата факултетска насока по компјутерска наука во САД беше формирана на Purdue Универзитетот во 1962 год. Оттогаш станаа достапни практичните компјутери, многу апликации во пресметувањето станаа одвоени области за проучување со свои сопствени права.

Иако многумина на почетокот сметале дека е невозможно самите компјутери да станат посебна научна област за проучување, во доцните 50-ти години постепено тоа стана прифатливо за поголемиот дел од академската популација. Познатиот денешен IBM бренд е всушност дел од револуцијата на компјутерската наука во тоа време. IBM (скратено од International Business Machines – Машини за меѓународен бизнис) ги лансира IBM 704 , а подоцна IBM 709 компјутерите, кои беа широко користени во периодот на истражувањето на таквите направи. „Сепак, работењето со IBM (компјутер) беше фрустрирачко..ако си ставил на погрешно место барем една буква во една инструкција, програмот ќе се урне, а ти ќе треба да го започнеш од почеток целиот процес.“ За време на доцните 1950-ти дисциплината компјутерска наука беше во најголем дел во развојна фаза, па таквите проблеми беа обични. Со време се забележаа значајни подобрувања во употребливоста и ефикасноста на технологијата за компјутерска наука. Модерното општество виде значајни промени од компјутери кои се користеле само од експерти и професионалци до база на пошироко распространети корисници.

Области на компјутерската наука[уреди | уреди извор]

Како дисциплина, компјутерската наука се протега во низа на наслови од теоретски проучувања на алгоритамите и лимитите на пресметување до практични проблеми во имплементирањето на компјутерските системи во хардверот и софтверот. Одборот за акредитација на компјутерските науки (CSAB) – кого го сочинуваат претставници од Асоцијацијата за пресметковна машинерија (АСМ), Институтот за електрични и електронски инженери (IEEE) и Асоцијацијата за информатички системи (AIS) – идентификува четири области кои се сметаат за клучни во дисциплината на компјутерската наука: теоријата за пресметување, алгоритамите и структурите со податоци, методологијата и јазиците за програмирање и компјутерските елементи и архитектура. Како дополнување на овие четири области, CSAB исто така идентификува и компјутерско поврзување и комуникација, систем со бази на податоци, паралелно пресметување, распределено пресметување, интеракција компјутер - човек, компјутерска графика, оперативни системи, нумеричко и симболичко пресметување како важни области во компјутерската наука.


Теоретска информатика[уреди | уреди извор]

Пошироката област на теоретската информатика вклучува и класична теорија за пресметување и поширока низа од други теми кои се фокусираат на поапстрактни, логични и математички аспекти на пресметувањето.

Теорија на пресметувањето[уреди | уреди извор]

Проучувањето на теоријата на пресметувањето се фокусира врз одговарање на основните прашања за тоа што може да се пресмета и колкава количина на ресурси се потребни за да се изведат тие пресметки. Во напорот да се одговори на првото прашање, теоријата за пресметувањето испитува кои пресметковни проблеми се решливи со различни теоретски модели на пресметување. Второто прашање се однесува на теоријата за сложеноста на пресметувањето, која ги проучува трошоците на времето и просторот поврзани со различни пристапи за решавање на пресметковните проблеми. Познатиот „P=NP?“ проблем, еден од проблемите за милениумски награди (Millennium Prize Problems), е отворен проблем во теоријата на пресметувањето.


Компјутерска наука[уреди | уреди извор]

Компјутерската наука (или науката за пресметување) е област на проучување која се занимава со конструирање на математички модели и техники на квантитативна анализа и ги користи компјутерите за да ги анализира и реши научните проблеми. Во практичната примена, тоа е карактеристично примената на компјутерската симулација и другите форми на пресметување до проблемите во различни научни дисциплини.

Вештачка интелигенција[уреди | уреди извор]

Оваа гранка од компјутерската наука има за цел да создава синтетички системи кои решаваат пресметковни проблеми, размислуваат и/или комуницираат како што тоа го прават животните и луѓето. Оваа теоретска и применета подобласт бара многу прецизна и интегрирана стручност во повеќе предметни област како применета математика, логика, семиотика, електротехничко инженерство, филозофија на умот, невропсихологија и социјална интелигенција кои можат да се користат за да го унапредат полето на истражување на интелигенцијата или да се применат во други предметни области кои бараат пресметковно разбирање и моделирање како што е во финансиите или физичките науки. Се започнат со дедото на компјутерската наука и вештачката интелигенција Alan Turing, кој го предложи тестот Turing со цел да одговори на најголемото прашање.... „Можат ли компјутерите да мислат?“.

Софтверски инженеринг[уреди | уреди извор]

Областа на софтверскиот инженеринг специјализира во складирање, пренос и соопштување на податоците наместо пресметковна анализа на податоците. Иако многу информатичари бараат работат со софтверскиот инженеринг, тој не е многу поврзан со компјутерската наука. Во 2004 год., беше воведена нова факултетска насока софтверски инженеринг од страна на ACM и IEEE за да упатува на овие прашања; документ наречен CCSE е напишан за да ги објасни деталите. Освен тоа, оние кои имаат дипломи по информатичка технологија или менаџмент на информатичките системи често се гледа дека имаат неопходно поддржувачки улоги и во софтверскиот инженеринг и во пресметковната работа.


Образование по компјутерска наука[уреди | уреди извор]

Некои универзитети предаваат компјутерска наука како проучување на пресметувањето и алгоритамското резонирање. Овие програми често меѓу другото ја прикажуваат теоријата на пресметувањето, анализата на алгоритамите, формалните методи, теоријата за конкурентност , базите на податоци, компјутерската графика и анализата на системи. Тие исто така карактеристични предаваат и компјутерско програмирање, но го третираат како сад за поддршка на другите области од компјутерската наука, наместо да биде централен фокус на проучувањето од повисоко ниво.

Другите факултети и универзитети, како и средните училишта и стручните програми што предаваат компјутерска наука, ја нагласуваат практиката на напредното програмирање наместо теоријата на алгоритамите и пресметувањето во нивната наставна програма за компјутерска наука. Таквите наставни програми имаат цел да се фокусираат врз вештините кои се важни за работниците кои влегуваат во софтверската индустрија. Практичните аспекти од компјутерското програмирање се често упатувани како софтверски инженеринг. Сепак, постои големо несогласување за значењето на поимот и за тоа дали е или не е иста работа со програмирањето.