![]() | Тази статия се нуждае от подобрение. Необходимо е: прецизиране на понятията. Ако желаете да помогнете на Уикипедия, използвайте опцията редактиране в горното меню над статията, за да нанесете нужните корекции. |
Тази статия се нуждае от вниманието на редактор с по-задълбочени познания. Ако смятате, че имате необходимите знания, подобрете тази страница. |
![]() |
![]() |
![]() |
![]() |
Информатиката е наука за събирането, преобразуването, преноса и съхранението на информация с всякакви, включително автоматични, средства. Тя изучава информацията от гледна точка на структурираност, количествени характеристики, форми и начини на представяне; информационните процеси като композиция на основните информационни дейности, както и методите и средствата за автоматизирането им.
В англоезичните страни информатиката се нарича computer science (компютърни науки) – официално термин informatics няма, въпреки че се използва, например в името на Международната олимпиада по информатика – International Olympiad in Informatics. Думи със сходен корен се ползват в повечето европейски езици. Например Informatik на немски, informatique на френски, informatica на други романски езици.
В практиката по света има разлика в учебните програми по информатика и компютърни науки. В университетите в САЩ, където има специалност „Информатика“ (informatics), тя обхваща и човешката страна в ползването на компютри. Във Факултета по математика и информатика на Софийския университет „Свети Климент Охридски“ съществува специалност „Компютърни науки“, фокусирана върху изчислителните възможности на компютърните системи.
Най-ранните основи на днешните компютърни науки значително предхождат изобретяването на съвременния цифров компютър. Машини за изчисляване на статични числени задачи като сметалото са съществували още от древността, помагайки в изчисления като например умножение и деление. Освен това още от древността съществуват алгоритми за изчисления, преди да се появи по-сложно изчислително оборудване.
Блез Паскал проектира и изработва първия работещ механичен калкулатор наречен калкулатор на Паскал през 1642 г[1]. През 1673 г. Готфрид Лайбниц демонстрира цифров механичен калкулатор, наречен „стъпаловидният изчислител“[2]. Той може да бъде считан за първия компютърен учен и теоретик в полето на информатиката, поради факта, че документира двоичната бройна система. През 1820 Томас де Колмар стартира индустрията на механичните калкулатори когато пуска опростения аритмометър, която е първата сметачна машина, достатъчно силна и достатъчно надеждна, за да бъде използвана ежедневно и в офис среда. Чарлз Бабидж започва проектирането на първата автоматична механича сметачна машина през 1822, а впоследствие той му дава идеята за първата машина, контролирана от програма, така наречената Аналитична машина[3]. Той започва да я разработва през 1834 г. и „за по-малко от две години вече бил очертал много от характерните черти на съвременния компютър[4]“. Решителна стъпка било възприемането на системата за въвеждане на инструкции с перфокарта заимствана от жакардовия стан,[4] правейки го програмируем. През 1843 г. по време на превода на статия за Аналитичната машина Ада Лъвлейс написва в една от многото нейни съпроводителни бележки алгоритъм за изчисляване на числата на Бернули, който се счита за първата компютърна програма[5]. Около 1885 г. Херман Холерит изобретил табулатор, който използвал перфокарти за обработка на статистическа информация. Впоследствие компанията му става част от IBM. През 1937 г., 100 години след неосъществената мечта на Бабидж, Хауърд Айкен убеждава IBM, които по това време произвеждат разнообразно офис оборудване с перфокарти, да финансират създаването на програмируема електромеханична сметачна машина, Harvard Mark I, базирана на Аналитичната машина, която използва подобни карти и централен изчислителен възел. Някои я наричат „сбъднатата мечта на Бабидж“[6].
С напредъка в разработването на нови и по-мощни изчислителни устройства през 1940-те години терминът „компютър“, който дотогава означавал „човек-изчислител“ започнал да се използва за машините, а не за операторите[7]. Става ясно, че компютрите могат изпълняват много повече задачи от чисто математически изчисления и обхватът на компютърните науки се разширява. Те започват да се обособяват като отделна академична дисциплина през 1950-те и началото на 1960-те години. Първата в света учебна програма по компютърни науки е на Кеймбриджкия университет и започва през 1953. Първата програма в САЩ стартира в университета Пърдю през 1962 г.[8].
Въпреки че първоначално мнозина не смятат информатиката за самостоятелна наука, тя постепенно се утвърждава в края на 1950-те години[9][10]. Известната компания IBM е една от движещите сили в компютърната революция по това време. Тя произвежда модела IBM 704[11] и по-късно IBM 709[12], които са широко използвани в началния период на възприемането на подобна техника.
Въпреки това, работата с новите устройства е сложна. Ако потребителят обърка дори една буква в подадената на входа команда, цялата програма се сривала и трябвало целият процес да започне отначало[10]. Към края на 1950 г., компютърните науки са в стадий на развитие и подобни проблеми са често срещано явление.[9]
Постепенно компютърните технологии значително се подобряват по отношение на ползваемостта и ефективността. Съвременното общество наблюдава значителна промяна в разпространението на компютърните технологии, от ползване само от експерти и професионалисти до почти повсеместна потребителска база. Първоначално компютрите са доста скъпи, и има нужда от човешка помощ за ефективното им използване. Днес дори и малки деца могат да боравят с по-простите компютърни устройства.
Въпреки кратката си история като официална академична дисциплина, компютърната наука е направила редица фундаментални приноси към науката и обществото. В действителност, заедно с електрониката тя е една от основните науки на сегашната епоха от човешката история, наречена Информационна ера и е водач на информационната революция, разглеждана като третия голям скок в човешкия технологичен напредък след индустриалната революция (1750 – 1850) и селскостопанската революция (8000 – 5000 пр.н.е.).
Тези приноси включват:
Областта на теоретичната информатика обхваща както класическата теория на изчисление, така и широк спектър от други теми, които се фокусират върху по-абстрактни, логически и математически аспекти.
![]() | Тази статия се нуждае от подобрение. Необходимо е: проверка на превод. Ако желаете да помогнете на Уикипедия, използвайте опцията редактиране в горното меню над статията, за да нанесете нужните корекции. |
Според Питър Денинг (Peter Denning), фундаменталният въпрос в основната на компютърна наука е: „Какво може да бъде (ефективно) автоматизирано?“ [18]Теорията на изчисление е фокусирана върху отговаряне на основните въпроси за това, какво може да се изчисли и какво количество от ресурси са необходими за извършване на тези, изчисления. В опит да се отговори на първия въпрос, теорията за изчисляемост изследва кои изчислителни проблеми са решими за различни теоретични модели на изчисление.
Вторият въпрос се решава чрез сложността на изчислителната теория, която изучава разхода на време и пространство, свързани с различни подходи при решаването на множество изчислителни проблеми. Известният P = NP? Проблем е един от проблемите от наградите на хилядолетието[19]. Той е отворен проблем в теорията на изчисление.
![]() |
![]() |
P = NP? | GNITIRW-TERCES | ![]() |
Tеория на автоматизация | Теория на изчисленията |
Теория на изчислителната сложност |
Криптография | Квантовата теория |
Теорията на информацията е свързана с количествено определяне на информацията. Тя е разработена от Клод Шанън, за да се намерят основните ограничения на операциите по обработка на сигнала, като например: компресирането на данни и надеждното съхраняване и предаване на данни.[20] Теорията за кодиране представлява изследването на свойствата на кода (системи за преобразуване на информация от една форма в друга) и тяхната приспособимост за конкретно приложение. Кодове се използват за компресиране на данни, криптография, откриване на грешки и тяхната корекция, и за мрежово кодиране. Те се изучават и за достигане на целите при проектирането на ефективни и надеждни методи за предаване на данни.
Алгоритмите и структурите от данни представлява изучаването на често използвани изчислителни методи и тяхната изчислителна ефективност.
![]() |
![]() |
![]() |
![]() | |
Анализ на алгоритми |
Алгоритми | База данни | Комбинационна оптимизация |
Изчислителна |
Това е клон от компютърната наука, който се занимава с проектирането, изпълнението, анализът, характеристиката и класификацията на езиците за програмиране и техните индивидуални характеристики. Тя попада в дисциплината на компютърните науки, както в зависимост от засягащата математика, така и в софтуерното инженерство и лингвистика. Тя е активна изследователска област и е предмет на различни специализирани научни списания.
![]() |
![]() | |
Тип теория | Дизайн на компилатора |
Програмни езици |
Формалната логика представлява определен вид математически базирана техника за спецификацията, развитието и проверката на софтуерните и хардуерните системи. Използването на формална логика за изработка на дизайн на софтуер и хардуер е мотивирана от очакването, че както и в други инженерните специалности, извършване на подходящия математически анализ може да допринесе за надеждността и устойчивостта на дизайна. Тя формира важна теоретична обосновка за софтуерно инженерство, особено когато става дума за безопасността и сигурността. Формалните методи са полезно допълнение към софтуерното тестване, тъй като те помагат да се избегнат грешки и може, също така, да се създаде фреймуърк за тестване. За промишлена употреба, се изисква поддържане на инструменти. Въпреки това, високата цена за използване на формалните методи означава, че те обикновено се използват само в развитието на високо-интегрирани и критикуващи-живота системи, където безопасността или сигурността са от първостепенно значение. Формалната логика е найдобре описана чрез прилагането на достатъчно широка гама от основите на теоретичните компютърни науки, официалните езици, теорията на автоматите, и програмната семантика. Също така и от системите за типовете и алгебрични типове данни, които създават проблеми в областта на спецификацията и проверката на софтуера и хардуера.
Приложна информатика цели идентифицирането на някои компютърни науки понятия, които могат да се използват пряко в решаването на реални проблеми със света.
Изкуствен интелект (AI – Artificial intelligence) има за цел да се изисква или да синтезира целево ориентирани процеси, като решаване на проблеми, вземане на решения, адаптиране на околната среда, обучениете и комуникацията намерени както при хора, така и при животни. От произхода си в кибернетиката и в „Конференцията в Дартмоут“ (1956 г.), изследване върху изкуствения интелект е било задължително интердисциплинарно, изготвяйки експертни области като приложна математика, символична логика, семиотиката, електротехника, философия на ума, неврофизиология и социална интелигентност. AI е свързан с развитието на роботизацията. В основната сфера на приложение на практиката той е бил внедрен като компонент в области от разработката на софтуер, които изискват изчислително разбиране. Началната точка в края на 1940 г. била поставянето на въпросът на Алън Тюринг (Alan Turing) „Могат ли компютрите да мислят?“. Въпросът остава без отговор, въпреки че ефективния тест на Тюринг все още се използва, за да свързва компютърния изход от мащаба на човешката интелигентност. Но автоматизацията на оценъчните и предсказуеми задачи е все по-успешна като заместител на човешкото наблюдение и намесата в областите на компютърното приложение, включваща сложни реални данни.
![]() |
![]() |
![]() |
Машинно учене | Компютърно възприятие | Обработка на изображение |
![]() |
![]() |
![]() |
Път на възприятие | Извличане на данни | Еволюционно изчисляване |
Компютърната архитектура, или организацията на цифровия компютър, е идейният проект или фундаменталната оперативна структура на една компютърна система. Тя се фокусира до голяма степен от начина, по който централната единица за обработка извършва своевременно вътрешно достъп до адреси в паметта[21]. Полето често включва дисциплини на компютърната техника и електротехника, избор и съединяване на хардуерните компоненти за създаване на компютри. Те отговарят на целите на функционално-насочената, производително-насочената и на финансовите разходи.
Анализ на производителността на компютъра представлява изучаването на работата, преминаваща през компютрите с общите цели и за подобряване на пропускателната способност, контролирането на времето за реакция, ефективното използване на ресурсите, премахването на участъците с недостатъчен капацитет и прогнозиране на ефективността под очакваните върхови натоварвания.
Компютърна графика представлява изучаването на дигитално визуално съдържание и е свързана със синтез и манипулиране на данни с изображения. Изучаването е свързано с много други области в компютърните науки, включително компютърна визия, обработка на изображения и изчислителна геометрия. Тя е приложима най-вече в областта на специалните ефекти и видео игри.
Компютърна сигурност е клон на компютърните технологии, чиято цел включва защитата на информацията от неоторизиран достъп, прекъсване на доставките или модификация при запазване на достъпността и използваемостта на системата за своите предвидени потребители. Криптографията представлява практикуването и изучаването на скриване на данните (криптиране), следователно и дешифриране (декриптиране) на информацията. Модерната криптография е, до голяма степен, свързана с компютърните науки, тъй като много екриптиращи и декриптиращи алгоритми са базирани на тяхната изчислителна сложност.
Изчислителната наука (или научни изчисления) е в областта на занимаване с конструиране на математически модели и количествени методи за анализ и използване на компютри, за да анализират и решават научни проблеми. В практическо приложение се прилага компютърна симулация и се прилагат други допълнителни форми на изчисляване на проблеми в различни научни дисциплини.
Този клон на компютърната наука има за цел да управлява мрежи между компютри в световен мащаб.
Concurrency (съгласуване) е свойство на системи, в което няколко изчисления се изпълняват едновременно и потенциално взаимодействат помежду си. Броят на математическите модели е разработен за общо изчисление на данни, включително мрежи на Петри.
Разпределената система разширява идеята за едновременност върху множество компютри, свързани в мрежа. Компютри в рамките на същата система имат своя собствена частна памет. Информацията често се разменя помежду им за постигане на общата цел.
Базата данни е предназначена за организиране, съхранение и извличане на големи количества данни в улеснен вариант. Цифровите бази данни се управляват с помощта на системи за управление на базата данни. За съхранение, създаване, поддържане, и търсене на данни, се използват модели на бази данни и езикови заявки.
Софтуерното инженерство (Софтуерните технологии) е систематичен, дисциплиниран и измерим подход към разработването на качествен софтуер, както и към неговата реализация на пазара, експлоатация и съпровождане.
Конференциите са важни събития за компютърните научни изследвания. По време на тези конференции, изследователи от публичния и частния сектор представят новите си проучвания. За разлика от повечето други академични области, при компютърните науки престижът на доклади от конференции е по-голям от този на публикации в списания[22][23]. Обяснение за това е бързото развитие на тази сравнително нова област. Тя изисква бързо разглеждане и разпределение на резултатите.[24]
Математически основи[редактиране | редактиране на кода]Подобласти на информатиката[редактиране | редактиране на кода]
|
Пионери в информатиката[редактиране | редактиране на кода] |
The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology – the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects.