Informatyka
Informatyka |
---|
Informatyka to nauka o obliczeniach , automatyzacji i informacji . Informatyka obejmuje dyscypliny teoretyczne (takie jak algorytmy , teoria obliczeń , teoria informacji i automatyzacja) oraz dyscypliny praktyczne (w tym projektowanie i wdrażanie sprzętu i oprogramowania ). Informatyka jest ogólnie uważana za dyscyplinę akademicką i różni się od programowania komputerowego .
Algorytmy i struktury danych mają kluczowe znaczenie dla informatyki. Teoria obliczeń dotyczy abstrakcyjnych modeli obliczeń i ogólnych klas problemów , które można za ich pomocą rozwiązać. Dziedziny kryptografii i bezpieczeństwa komputerowego obejmują badanie środków bezpiecznej komunikacji i zapobiegania lukom w zabezpieczeniach . Grafika komputerowa i geometria obliczeniowa dotyczą generowania obrazów. Teoria języka programowania uwzględnia różne sposoby opisywania procesów obliczeniowych, a teoria baz danych dotyczy zarządzania repozytoriami danych. Interakcja człowiek-komputer bada interfejsy, za pośrednictwem których ludzie i komputery wchodzą w interakcje, a inżynieria oprogramowania koncentruje się na projektowaniu i zasadach leżących u podstaw tworzenia oprogramowania. Obszary takie jak systemy operacyjne , sieci i systemy wbudowane badają zasady i konstrukcję złożonych systemów . Architektura komputera opisuje budowę komponentów komputerowych i sprzętu obsługiwanego przez komputer. Sztuczna inteligencja i uczenie maszynowe mają na celu syntezę zorientowanych na cel procesów, takich jak rozwiązywanie problemów, podejmowanie decyzji, adaptacja do środowiska, planowanie i uczenie się występujących u ludzi i zwierząt. W ramach sztucznej inteligencji wizja komputerowa ma na celu zrozumienie i przetwarzanie danych obrazu i wideo, podczas gdy przetwarzanie języka naturalnego ma na celu zrozumienie i przetwarzanie danych tekstowych i językowych.
Podstawową troską informatyki jest określenie, co można, a czego nie można zautomatyzować. Nagroda Turinga jest powszechnie uznawana za najwyższe wyróżnienie w informatyce.
Historia
Historia |
---|
sprzętu komputerowego |
Oprogramowanie |
Informatyka |
Nowoczesne koncepcje |
Według kraju |
Oś czasu obliczeń |
Słowniczek informatyki |
Najwcześniejsze podstawy tego, co miało stać się informatyką, powstały przed wynalezieniem nowoczesnego komputera cyfrowego . Maszyny do obliczania stałych zadań numerycznych, takie jak liczydło , istniały od starożytności, pomagając w obliczeniach, takich jak mnożenie i dzielenie. Algorytmy wykonywania obliczeń istniały od starożytności, jeszcze przed rozwojem zaawansowanego sprzętu komputerowego.
Wilhelm Schickard zaprojektował i skonstruował pierwszy działający kalkulator mechaniczny w 1623 r. W 1673 r. Gottfried Leibniz zademonstrował cyfrowy kalkulator mechaniczny, zwany Stepped Reckoner . Leibniza można uznać za pierwszego informatyka i teoretyka informacji, z różnych powodów, między innymi dlatego, że udokumentował system liczb binarnych. W 1820 roku Thomas de Colmar zapoczątkował przemysł kalkulatorów mechanicznych , kiedy wynalazł swój uproszczony arytmometr , pierwszą maszynę liczącą wystarczająco mocną i niezawodną, aby mogła być używana codziennie w środowisku biurowym. Charles Babbage rozpoczął projektowanie pierwszego automatycznego kalkulatora mechanicznego , swojego silnika różnicowego , w 1822 roku, co ostatecznie podsunęło mu pomysł pierwszego programowalnego kalkulatora mechanicznego , jego silnika analitycznego . Zaczął rozwijać tę maszynę w 1834 roku i „w mniej niż dwa lata naszkicował wiele najistotniejszych cech współczesnego komputera”. „Kluczowym krokiem było przyjęcie systemu kart perforowanych wywodzącego się z krosna żakardowego ”, dzięki czemu można go programować w nieskończoność. W 1843 roku, podczas tłumaczenia francuskiego artykułu na temat silnika analitycznego, Ada Lovelace napisała w jednej z wielu notatek, które załączyła, algorytm do obliczania liczb Bernoulliego , który jest uważany za pierwszy opublikowany algorytm specjalnie dostosowany do implementacji na komputerze. Około 1885 roku Herman Hollerith wynalazł tabulator , który wykorzystywał karty perforowane do przetwarzania informacji statystycznych; ostatecznie jego firma stała się częścią IBM . Po Babbage'u, choć nieświadomy jego wcześniejszej pracy, Percy Ludgate w 1909 roku opublikował drugi z zaledwie dwóch projektów mechanicznych silników analitycznych w historii. W 1937 roku, sto lat po niemożliwym śnie Babbage'a, Howard Aiken przekonał firmę IBM, która produkowała wszelkiego rodzaju sprzęt do kart perforowanych i zajmowała się również kalkulatorami, do opracowania swojego gigantycznego programowalnego kalkulatora, ASCC /Harvard Mark I , opartego na Analytical Babbage'a Silnik, który sam wykorzystywał karty i centralną jednostkę obliczeniową. Kiedy maszyna została ukończona, niektórzy okrzyknęli ją „spełnieniem marzeń Babbage'a”.
W latach czterdziestych XX wieku, wraz z rozwojem nowych i potężniejszych maszyn obliczeniowych , takich jak komputer Atanasoff-Berry i ENIAC , termin komputer zaczął odnosić się raczej do maszyn niż do ich ludzkich poprzedników. Kiedy stało się jasne, że komputery mogą być używane nie tylko do obliczeń matematycznych, dziedzina informatyki rozszerzyła się o ogólne badanie obliczeń . W 1945 roku IBM założył Watson Scientific Computing Laboratory na Uniwersytecie Columbia w Nowym Jorku . Odnowiony dom bractwa na West Side na Manhattanie był pierwszym laboratorium IBM poświęconym czystej nauce. Laboratorium jest prekursorem Działu Badawczego IBM, który obecnie prowadzi obiekty badawcze na całym świecie. Ostatecznie bliskie relacje między IBM a Columbia University odegrały kluczową rolę w pojawieniu się nowej dyscypliny naukowej, a Columbia oferowała jeden z pierwszych kursów akademickich z informatyki w 1946 r. Informatyka zaczęła być ustanawiana jako odrębna dyscyplina akademicka w lata pięćdziesiąte i początek lat sześćdziesiątych. Pierwszy na świecie program studiów informatycznych, Cambridge Diploma in Computer Science , rozpoczął się w University of Cambridge Computer Laboratory w 1953 r. Pierwszy wydział informatyki w Stanach Zjednoczonych powstał na Uniwersytecie Purdue w 1962 r. Odkąd praktyczne komputery stały się dostępne, wiele zastosowania informatyki stały się odrębnymi obszarami badań na własnych prawach.
Etymologia
Chociaż po raz pierwszy zaproponowano w 1956 r., Termin „informatyka” pojawia się w artykule z 1959 r. W Communications of the ACM , w którym Louis Fein opowiada się za utworzeniem Graduate School in Computer Sciences, analogicznie do utworzenia Harvard Business School w 1921 r. Louis uzasadnia nazwę argumentując, że podobnie jak nauki o zarządzaniu , przedmiot ma charakter aplikacyjny i interdyscyplinarny, a jednocześnie posiada cechy charakterystyczne dla dyscypliny akademickiej. Jego wysiłki i wysiłki innych, takich jak analityk numeryczny George Forsythe , zostały nagrodzone: uniwersytety tworzyły takie wydziały, poczynając od Purdue w 1962 roku. Pomimo swojej nazwy znaczna część informatyki nie obejmuje badania samych komputerów. Z tego powodu zaproponowano kilka alternatywnych nazw. Niektóre wydziały głównych uniwersytetów preferują termin informatyka , aby dokładnie podkreślić tę różnicę. Duński naukowiec Peter Naur zaproponował termin datalogia , aby odzwierciedlić fakt, że dyscyplina naukowa obraca się wokół danych i przetwarzania danych, niekoniecznie z wykorzystaniem komputerów. Pierwszą instytucją naukową, która użyła tego terminu, był Wydział Datalogii Uniwersytetu w Kopenhadze, założony w 1969 roku, a Peter Naur był pierwszym profesorem datalogii. Termin ten jest używany głównie w krajach skandynawskich. Alternatywnym terminem, również zaproponowanym przez Naura, jest nauka o danych ; jest to obecnie wykorzystywane w multidyscyplinarnej dziedzinie analizy danych, w tym w statystykach i bazach danych.
komunikatach ACM zasugerowano szereg terminów określających praktyków w dziedzinie informatyki — turingineer , turolog , człowiek-wykresy blokowe , metamatematyk stosowany i epistemolog stosowany . Trzy miesiące później w tym samym czasopiśmie zaproponowano komptologa , aw następnym roku hipologa . Zasugerowano również termin informatyka . W Europie często używa się terminów wywodzących się z zleconych tłumaczeń wyrażenia „informacja automatyczna” (np. „informazione automatica” w języku włoskim) lub „informacja i matematyka”, np. informatique (francuski), Informatik (niemiecki) , informatica ( włoski , niderlandzki ), informática (hiszpański, portugalski), informatika ( języki słowiańskie i węgierski ) lub pliroforiki ( πληροφορική , czyli informatyka) po grecku . Podobne słowa przyjęto również w Wielkiej Brytanii (jak w School of Informatics, University of Edinburgh ). „Jednak w USA informatyka jest powiązana z informatyką stosowaną, czyli informatyką w kontekście innej dziedziny”.
Edsgerowi Dijkstrze , ale prawie na pewno nie sformułowany jako pierwszy , stwierdza, że „informatyka nie dotyczy komputerów bardziej niż astronomia teleskopów”. Projektowanie i wdrażanie komputerów i systemów komputerowych jest ogólnie uważane za domenę dyscyplin innych niż informatyka. Na przykład badanie sprzętu komputerowego jest zwykle uważane za część inżynierii komputerowej , podczas gdy badanie komercyjnych systemów komputerowych i ich wdrażania jest często nazywane technologią informacyjną lub systemami informacyjnymi . Jednak nastąpiła wymiana pomysłów między różnymi dyscyplinami związanymi z komputerami. Badania informatyczne często przecinają również inne dyscypliny, takie jak kognitywistyka , językoznawstwo , matematyka , fizyka , biologia , nauki o Ziemi , statystyka , filozofia i logika .
Niektórzy uważają, że informatyka ma znacznie bliższy związek z matematyką niż wiele dyscyplin naukowych, a niektórzy obserwatorzy twierdzą, że informatyka jest nauką matematyczną. Wczesna informatyka pozostawała pod silnym wpływem prac matematyków, takich jak Kurt Gödel , Alan Turing , John von Neumann , Rózsa Péter i Alonzo Church , i nadal istnieje użyteczna wymiana pomysłów między tymi dwiema dziedzinami w takich dziedzinach, jak logika matematyczna , kategoria teoria , teoria dziedzin i algebra .
Związek między informatyką a inżynierią oprogramowania jest kwestią sporną, którą dodatkowo zaciemniają spory o to, co oznacza termin „inżynieria oprogramowania” i jak definiuje się informatykę. David Parnas , wzorując się na związkach między innymi dyscyplinami inżynieryjnymi i naukowymi, twierdził, że głównym celem informatyki jest badanie właściwości obliczeń w ogóle, podczas gdy głównym celem inżynierii oprogramowania jest projektowanie określonych obliczeń w celu osiągnięcia praktycznych cele, czyniąc dwie odrębne, ale uzupełniające się dyscypliny.
Aspekty akademickie, polityczne i finansowe informatyki zwykle zależą od tego, czy wydział jest tworzony z naciskiem matematycznym, czy inżynierskim. Wydziały informatyki z naciskiem na matematykę i orientacją numeryczną rozważają dostosowanie do nauk obliczeniowych . Oba typy wydziałów mają tendencję do podejmowania wysiłków, aby połączyć dziedzinę pod względem edukacyjnym, jeśli nie we wszystkich badaniach.
Filozofia
Epistemologia informatyki
Pomimo słowa „nauka” w nazwie, toczy się debata na temat tego, czy informatyka jest dyscypliną nauk ścisłych, matematyki czy inżynierii. Allen Newell i Herbert A. Simon argumentowali w 1975 r.,
Informatyka jest dyscypliną empiryczną. Nazwalibyśmy to nauką eksperymentalną, ale podobnie jak astronomia, ekonomia i geologia, niektóre z jej unikalnych form obserwacji i doświadczenia nie pasują do wąskiego stereotypu metody eksperymentalnej. Niemniej jednak są to eksperymenty. Każda budowana nowa maszyna jest eksperymentem. Właściwie zbudowanie maszyny stawia przyrodzie pytanie; a my słuchamy odpowiedzi, obserwując pracę maszyny i analizując ją wszelkimi dostępnymi środkami analitycznymi i pomiarowymi.
Od tego czasu argumentowano, że informatyka może być sklasyfikowana jako nauka empiryczna, ponieważ wykorzystuje testy empiryczne do oceny poprawności programów , ale pozostaje problem w zdefiniowaniu praw i twierdzeń informatyki (jeśli takie istnieją) oraz zdefiniowaniu charakter eksperymentów w informatyce. Zwolennicy klasyfikacji informatyki jako dyscypliny inżynierskiej twierdzą, że niezawodność systemów obliczeniowych jest badana w taki sam sposób, jak mosty w inżynierii lądowej i samoloty w inżynierii lotniczej . Twierdzą również, że podczas gdy nauki empiryczne obserwują to, co obecnie istnieje, informatyka obserwuje to, co istnieje, a podczas gdy naukowcy odkrywają prawa na podstawie obserwacji, w informatyce nie znaleziono odpowiednich praw i zamiast tego zajmuje się tworzeniem zjawisk.
Zwolennicy klasyfikacji informatyki jako dyscypliny matematycznej argumentują, że programy komputerowe są fizycznymi realizacjami bytów matematycznych, a programy można rozumować dedukcyjnie za pomocą matematycznych metod formalnych . Informatycy Edsger W. Dijkstra i Tony Hoare traktują instrukcje programów komputerowych jako zdania matematyczne, a formalną semantykę języków programowania interpretują jako matematyczne systemy aksjomatyczne .
Paradygmaty informatyki
Wielu informatyków opowiadało się za rozróżnieniem trzech odrębnych paradygmatów w informatyce. Peter Wegner argumentował, że te paradygmaty to nauka, technologia i matematyka. Grupa robocza Petera Denninga argumentowała, że są to teoria, abstrakcja (modelowanie) i projekt. Amnon H. Eden opisał je jako „paradygmat racjonalistyczny” (traktujący informatykę jako gałąź matematyki, dominujący w informatyce teoretycznej i wykorzystujący głównie rozumowanie dedukcyjne), „paradygmat technokratyczny” (który można znaleźć w inżynierii podejścia, najbardziej widoczne w inżynierii oprogramowania) oraz „paradygmat naukowy” (który podchodzi do artefaktów związanych z komputerami z empirycznej perspektywy nauk przyrodniczych , możliwej do zidentyfikowania w niektórych gałęziach sztucznej inteligencji ). Informatyka koncentruje się na metodach związanych z projektowaniem, specyfikacją, programowaniem, weryfikacją, wdrażaniem i testowaniem systemów komputerowych stworzonych przez człowieka.
Pola
Jako dyscyplina informatyka obejmuje szereg tematów, od teoretycznych badań algorytmów i ograniczeń obliczeń po praktyczne zagadnienia wdrażania systemów komputerowych w sprzęcie i oprogramowaniu. CSAB , dawniej Computing Sciences Accreditation Board, składająca się z przedstawicieli Association for Computing Machinery (ACM) oraz IEEE Computer Society (IEEE CS) — identyfikuje cztery obszary, które uważa za kluczowe dla dyscypliny informatyki: teoria obliczeń , algorytmów i struktur danych , metodologii i języków programowania oraz elementów i architektury komputerów . Oprócz tych czterech obszarów CSAB identyfikuje również takie dziedziny, jak inżynieria oprogramowania, sztuczna inteligencja, sieci komputerowe i komunikacja, systemy baz danych, obliczenia równoległe, obliczenia rozproszone, interakcja człowiek-komputer, grafika komputerowa, systemy operacyjne oraz obliczenia numeryczne i symboliczne jako są ważnymi dziedzinami informatyki.
Informatyka nie dotyczy komputerów bardziej niż astronomia teleskopów.
Informatyka teoretyczna
Informatyka teoretyczna jest matematyczna i abstrakcyjna w duchu, ale czerpie swoją motywację z praktycznych i codziennych obliczeń. Jego celem jest zrozumienie natury obliczeń i, w konsekwencji tego zrozumienia, zapewnienie bardziej wydajnych metodologii.
Teoria obliczeń
Według Petera Denninga fundamentalne pytanie leżące u podstaw informatyki brzmi: „Co można zautomatyzować?” Teoria obliczeń koncentruje się na odpowiadaniu na podstawowe pytania dotyczące tego, co można obliczyć i jaka ilość zasobów jest wymagana do wykonania tych obliczeń. Próbując odpowiedzieć na pierwsze pytanie, teoria obliczalności bada, które problemy obliczeniowe można rozwiązać za pomocą różnych teoretycznych modeli obliczeń . Drugie pytanie dotyczy teorii złożoności obliczeniowej , która bada koszty czasowe i przestrzenne związane z różnymi podejściami do rozwiązywania wielu problemów obliczeniowych.
Słynne P = NP? problem, jeden z problemów nagrody milenijnej , jest otwartym problemem w teorii obliczeń.
Teoria automatów | Języki formalne | Teoria obliczalności | Teoria złożoności obliczeniowej |
Modele obliczeń | Teoria obliczeń kwantowych | Teoria obwodów logicznych | Automaty komórkowe |
Teoria informacji i kodowania
Teoria informacji, ściśle związana z prawdopodobieństwem i statystyką , jest związana z kwantyfikacją informacji. Zostało to opracowane przez Claude'a Shannona w celu znalezienia podstawowych ograniczeń operacji przetwarzania sygnału, takich jak kompresja danych oraz niezawodne przechowywanie i przesyłanie danych. Teoria kodowania to badanie właściwości kodów (systemów służących do przekształcania informacji z jednej formy w inną) oraz ich przydatności do określonego zastosowania. Kody są używane do kompresji danych , kryptografii , wykrywania i poprawiania błędów , a ostatnio także do kodowania sieci . Kody są badane w celu zaprojektowania wydajnych i niezawodnych transmisji danych .
Teoria kodowania | Pojemność kanału | Algorytmiczna teoria informacji | Teoria detekcji sygnału | Złożoność Kołmogorowa |
Struktury danych i algorytmy
Struktury danych i algorytmy to badania powszechnie stosowanych metod obliczeniowych i ich wydajności obliczeniowej.
O ( n 2 ) | |||||
Analiza algorytmów | Projekt algorytmu | Struktury danych | Optymalizacja kombinatoryczna | Geometria obliczeniowa | Algorytmy losowe |
Teoria języka programowania i metody formalne
Teoria języków programowania to dziedzina informatyki zajmująca się projektowaniem, wdrażaniem, analizą, charakteryzacją i klasyfikacją języków programowania oraz ich indywidualnych cech . Wchodzi w zakres dyscypliny informatyki, zarówno zależnej, jak i wpływającej na matematykę , inżynierię oprogramowania i językoznawstwo . Jest to aktywny obszar badawczy, z licznymi dedykowanymi czasopismami akademickimi.
Metody formalne to szczególny rodzaj matematycznej techniki specyfikacji , rozwoju i weryfikacji oprogramowania i systemów sprzętowych . Stosowanie formalnych metod projektowania oprogramowania i sprzętu jest motywowane oczekiwaniem, że podobnie jak w innych dyscyplinach inżynierskich, wykonanie odpowiedniej analizy matematycznej może przyczynić się do niezawodności i solidności projektu. Stanowią one ważną podstawę teoretyczną dla inżynierii oprogramowania, zwłaszcza tam, gdzie w grę wchodzi bezpieczeństwo lub ochrona. Metody formalne są użytecznym dodatkiem do testowania oprogramowania, ponieważ pomagają unikać błędów, a także mogą stanowić ramy dla testowania. Do zastosowań przemysłowych wymagana jest podpórka narzędziowa. Jednak wysokie koszty stosowania metod formalnych oznaczają, że są one zwykle stosowane tylko przy opracowywaniu systemów o wysokiej integralności i krytycznych dla życia , w których bezpieczeństwo ma ogromne znaczenie. Metody formalne można najlepiej opisać jako zastosowanie dość szerokiej gamy teoretycznych podstaw informatyki , w szczególności rachunków logicznych , języków formalnych , teorii automatów i semantyki programów , ale także systemów typów i algebraicznych typów danych do problemów związanych ze specyfikacją oprogramowania i sprzętu oraz weryfikacja.
Semantyka formalna | Teoria typów | Projekt kompilatora | Języki programowania | Weryfikacja formalna | Zautomatyzowane dowodzenie twierdzeń |
Informatyka stosowana
Grafika komputerowa i wizualizacja
Grafika komputerowa to nauka o cyfrowych treściach wizualnych, która obejmuje syntezę i przetwarzanie danych obrazu. Badanie jest powiązane z wieloma innymi dziedzinami informatyki, w tym wizją komputerową , przetwarzaniem obrazu i geometrią obliczeniową , i jest intensywnie stosowane w dziedzinie efektów specjalnych i gier wideo .
Grafika komputerowa 2D | Animacja komputerowa | Wykonanie | Rzeczywistość mieszana | Wirtualna rzeczywistość | Solidne modelowanie |
Przetwarzanie obrazu i dźwięku
Informacje mogą przybierać formę obrazów, dźwięku, wideo lub innych multimediów. Bity informacji mogą być przesyłane strumieniowo za pomocą sygnałów . Jego przetwarzanie jest centralnym pojęciem informatyki , europejskiego spojrzenia na informatykę , które bada algorytmy przetwarzania informacji niezależnie od rodzaju nośnika informacji – czy jest to elektryczny, mechaniczny czy biologiczny. Dziedzina ta odgrywa ważną rolę w teorii informacji , telekomunikacji , inżynierii informacyjnej i ma zastosowanie między innymi w przetwarzaniu obrazu medycznego i syntezie mowy . Jaka jest dolna granica złożoności algorytmów szybkiej transformacji Fouriera ? jest jednym z nierozwiązanych problemów w informatyce teoretycznej .
Algorytmy FFT | Przetwarzanie obrazu | Rozpoznawanie mowy | Kompresja danych | Obliczenia obrazu medycznego | Synteza mowy |
Informatyka, finanse i inżynieria
Obliczenia naukowe (lub nauki obliczeniowe ) to dziedzina nauki zajmująca się konstruowaniem modeli matematycznych i technikami analizy ilościowej oraz wykorzystaniem komputerów do analizowania i rozwiązywania problemów naukowych . Głównym zastosowaniem obliczeń naukowych jest symulacja różnych procesów, w tym obliczeniowej dynamiki płynów , systemów i obwodów fizycznych, elektrycznych i elektronicznych, a także społeczeństw i sytuacji społecznych (zwłaszcza gier wojennych) wraz z ich siedliskami i wieloma innymi. Nowoczesne komputery umożliwiają optymalizację takich projektów jak kompletne samoloty. W projektowaniu obwodów elektrycznych i elektronicznych godne uwagi są SPICE, a także oprogramowanie do fizycznej realizacji nowych (lub zmodyfikowanych) projektów. Ta ostatnia obejmuje niezbędne oprogramowanie do projektowania układów scalonych .
Analiza numeryczna | Fizyka obliczeniowa | Chemia obliczeniowa | Bioinformatyka | Neuroinformatyka | Psychoinformatyka | Informatyka medyczna | Inżynieria obliczeniowa | Muzykologia obliczeniowa |
Obliczenia społecznościowe i interakcja człowiek-komputer
Obliczenia społecznościowe to obszar, który dotyczy skrzyżowania zachowań społecznych i systemów obliczeniowych. Badania interakcji człowiek-komputer rozwijają teorie, zasady i wytyczne dla projektantów interfejsów użytkownika.
Inżynieria oprogramowania
Inżynieria oprogramowania to nauka o projektowaniu, wdrażaniu i modyfikowaniu oprogramowania w celu zapewnienia, że jest ono wysokiej jakości, niedrogie, łatwe w utrzymaniu i szybkie w budowie. Jest to systematyczne podejście do projektowania oprogramowania, obejmujące stosowanie praktyk inżynierskich do oprogramowania. Inżynieria oprogramowania zajmuje się organizowaniem i analizowaniem oprogramowania — nie zajmuje się tylko tworzeniem lub produkcją nowego oprogramowania, ale także jego wewnętrzną aranżacją i konserwacją. Na przykład testowanie oprogramowania , inżynieria systemów , dług techniczny i procesy rozwoju oprogramowania .
Sztuczna inteligencja
Sztuczna inteligencja (AI) ma na celu lub jest wymagana do syntezy procesów zorientowanych na cel, takich jak rozwiązywanie problemów, podejmowanie decyzji, adaptacja do środowiska, uczenie się i komunikacja występująca u ludzi i zwierząt. Od swoich początków w cybernetyce i na konferencji w Dartmouth (1956), badania nad sztuczną inteligencją były z konieczności interdyscyplinarne, opierając się na obszarach wiedzy, takich jak matematyka stosowana , logika symboliczna , semiotyka , elektrotechnika , filozofia umysłu , neurofizjologia i społeczne inteligencja . Sztuczna inteligencja jest w powszechnym przekonaniu kojarzona z rozwojem robotów , ale głównym obszarem praktycznego zastosowania jest wbudowany komponent w obszarach tworzenia oprogramowania , które wymagają zrozumienia obliczeniowego. Punktem wyjścia w późnych latach czterdziestych XX wieku było Alana Turinga „Czy komputery mogą myśleć?”, A pytanie pozostaje faktycznie bez odpowiedzi, chociaż test Turinga jest nadal używany do oceny wydajności komputera w skali ludzkiej inteligencji. Jednak automatyzacja zadań oceniających i predykcyjnych odnosi coraz większe sukcesy jako substytut monitorowania i interwencji człowieka w dziedzinach aplikacji komputerowych obejmujących złożone dane ze świata rzeczywistego.
Systemy komputerowe
Architektura i organizacja komputerów
Architektura komputera lub cyfrowa organizacja komputera to projekt koncepcyjny i podstawowa struktura operacyjna systemu komputerowego. Skupia się głównie na sposobie, w jaki jednostka centralna działa wewnętrznie i uzyskuje dostęp do adresów w pamięci. Inżynierowie komputerowi badają logikę obliczeniową i projektowanie sprzętu komputerowego , od poszczególnych komponentów procesora , mikrokontrolerów , komputerów osobistych po superkomputery i systemy wbudowane . Termin „architektura” w literaturze komputerowej wywodzi się z prac Lyle'a R. Johnsona i Fredericka P. Brooksa Jr. , członków działu organizacji maszyn w głównym ośrodku badawczym IBM w 1959 roku.
Przetwarzanie współbieżne, równoległe i rozproszone
Współbieżność jest właściwością systemów, w których kilka obliczeń jest wykonywanych jednocześnie i potencjalnie oddziałuje ze sobą. Opracowano szereg modeli matematycznych do ogólnych obliczeń współbieżnych, w tym sieci Petriego , rachunki procesowe i model równoległej maszyny o swobodnym dostępie . Gdy wiele komputerów jest połączonych w sieci przy użyciu współbieżności, jest to znane jako system rozproszony. Komputery w tym systemie rozproszonym mają własną pamięć prywatną, a informacje mogą być wymieniane w celu osiągnięcia wspólnych celów.
Sieć komputerowa
Ta gałąź informatyki ma na celu zarządzanie sieciami między komputerami na całym świecie.
Bezpieczeństwo komputerowe i kryptografia
Bezpieczeństwo komputerowe to gałąź technologii komputerowej, której celem jest ochrona informacji przed nieautoryzowanym dostępem, zakłóceniami lub modyfikacjami przy jednoczesnym zachowaniu dostępności i użyteczności systemu dla jego zamierzonych użytkowników.
Kryptografia historyczna to sztuka pisania i odszyfrowywania tajnych wiadomości. Współczesna kryptografia to naukowe badanie problemów związanych z obliczeniami rozproszonymi, które można zaatakować. Technologie badane we współczesnej kryptografii obejmują szyfrowanie symetryczne i asymetryczne , podpisy cyfrowe , kryptograficzne funkcje skrótu , protokoły uzgodnień kluczy , łańcuch bloków , dowody zerowej wiedzy i zniekształcone obwody .
Bazy danych i eksploracja danych
Baza danych jest przeznaczona do łatwego organizowania, przechowywania i pobierania dużych ilości danych. Cyfrowe bazy danych są zarządzane za pomocą systemów zarządzania bazami danych do przechowywania, tworzenia, utrzymywania i wyszukiwania danych za pomocą modeli baz danych i języków zapytań . Eksploracja danych to proces odkrywania wzorców w dużych zbiorach danych.
Odkrycia
Filozof informatyki Bill Rapaport zauważył trzy wielkie spostrzeżenia informatyki :
- Gottfrieda Wilhelma Leibniza , George'a Boole'a , Alana Turinga , Claude'a Shannona i Samuela Morse'a : są tylko dwa obiekty , z którymi komputer musi sobie radzić, aby reprezentować "cokolwiek".
- Wszystkie informacje o dowolnym problemie obliczeniowym można przedstawić za pomocą tylko 0 i 1 (lub dowolnej innej pary bistabilnej, która może przełączać się między dwoma łatwo rozróżnialnymi stanami, takimi jak „włączony/wyłączony”, „namagnesowany/odmagnesowany”, „wysoki -napięciowe/niskie napięcie" itp.).
- Alana Turinga : jest tylko pięć czynności , które komputer musi wykonać, aby zrobić „cokolwiek”.
- Każdy algorytm można wyrazić w języku komputerowym składającym się tylko z pięciu podstawowych instrukcji:
- przesuń się w lewo o jedno miejsce;
- przesuń się w prawo o jedno miejsce;
- przeczytaj symbol w bieżącej lokalizacji;
- wypisz 0 w bieżącej lokalizacji;
- wydrukuj 1 w bieżącej lokalizacji.
- Każdy algorytm można wyrazić w języku komputerowym składającym się tylko z pięciu podstawowych instrukcji:
- Corrado Böhma i Giuseppe Jacopiniego: istnieją tylko trzy sposoby łączenia tych działań (w bardziej złożone), które są potrzebne, aby komputer mógł zrobić „wszystko”.
- Potrzebne są tylko trzy zasady, aby połączyć dowolny zestaw podstawowych instrukcji w bardziej złożone:
- sekwencja : najpierw zrób to, potem zrób tamto;
- wybór : JEŚLI jest tak a tak, TO zrób to, W PRZECIWNYM PRZYPADKU zrób tamto;
- powtórzenie : JEŚLI jest tak a tak, ZRÓB to.
- Zauważ, że trzy zasady wglądu Boehma i Jacopiniego można jeszcze bardziej uprościć za pomocą goto (co oznacza, że jest bardziej elementarne niż programowanie strukturalne ).
- Potrzebne są tylko trzy zasady, aby połączyć dowolny zestaw podstawowych instrukcji w bardziej złożone:
Paradygmaty programowania
Języki programowania mogą być używane do wykonywania różnych zadań na różne sposoby. Typowe paradygmaty programowania obejmują:
- Programowanie funkcyjne , styl budowania struktury i elementów programów komputerowych, który traktuje obliczenia jako ocenę funkcji matematycznych i unika danych stanu i zmiennych. Jest to paradygmat programowania deklaratywnego, co oznacza, że programowanie odbywa się za pomocą wyrażeń lub deklaracji zamiast instrukcji.
- Programowanie imperatywne , paradygmat programowania wykorzystujący instrukcje zmieniające stan programu. W podobny sposób, w jaki tryb rozkazujący w językach naturalnych wyraża polecenia, program rozkazujący składa się z poleceń do wykonania przez komputer. Programowanie imperatywne koncentruje się na opisaniu sposobu działania programu.
- Programowanie zorientowane obiektowo , paradygmat programowania oparty na koncepcji „obiektów”, które mogą zawierać dane w postaci pól, często nazywanych atrybutami; i kod w postaci procedur, często nazywanych metodami. Cechą obiektów jest to, że procedury obiektu mogą uzyskiwać dostęp i często modyfikować pola danych obiektu, z którym są powiązane. W ten sposób zorientowane obiektowo programy komputerowe składają się z obiektów, które wchodzą ze sobą w interakcje.
- Programowanie zorientowane na usługi , paradygmat programowania wykorzystujący „usługi” jako jednostkę pracy komputera do projektowania i wdrażania zintegrowanych aplikacji biznesowych i programów o znaczeniu krytycznym
Wiele języków oferuje obsługę wielu paradygmatów, przez co rozróżnienie jest bardziej kwestią stylu niż możliwości technicznych.
Badania
Konferencje są ważnymi wydarzeniami dla badań informatycznych. Podczas tych konferencji naukowcy z sektora publicznego i prywatnego prezentują swoje najnowsze prace i spotykają się. W przeciwieństwie do większości innych dziedzin akademickich, w informatyce prestiż referatów konferencyjnych jest większy niż publikacji w czasopismach. Jednym z proponowanych wyjaśnień jest to, że szybki rozwój tej stosunkowo nowej dziedziny wymaga szybkiego przeglądu i dystrybucji wyników, z czym lepiej radzą sobie konferencje niż czasopisma.
Edukacja
Informatyka , znana pod jej bliskimi synonimami, Informatyka , Informatyka , była nauczana w brytyjskich szkołach od czasów przetwarzania wsadowego , oznaczania wrażliwych kart i taśmy papierowej , ale zwykle dla kilku wybranych uczniów. W 1981 roku BBC wyprodukowało mikrokomputer i sieć klasową , a informatyka stała się powszechna dla uczniów na poziomie GCE O (11–16 lat) oraz uczniów informatyki na poziomie A. Jego znaczenie zostało docenione i stało się obowiązkową częścią krajowego programu nauczania dla kluczowych etapów 3 i 4. We wrześniu 2014 r. stało się uprawnieniem dla wszystkich uczniów w wieku powyżej 4 lat.
W Stanach Zjednoczonych , gdzie o programach nauczania decyduje 14 000 okręgów szkolnych, poziom nauczania był załamany. Według raportu Stowarzyszenia Maszyn Komputerowych (ACM) i Stowarzyszenia Nauczycieli Informatyki (CSTA) z 2010 r. tylko 14 z 50 stanów przyjęło znaczące standardy nauczania informatyki w szkołach średnich. Według raportu z 2021 r. tylko 51% szkół średnich w USA oferuje informatykę.
Izrael, Nowa Zelandia i Korea Południowa włączyły informatykę do swoich krajowych programów nauczania w szkołach średnich, a kilka innych krajów podąża za nimi.
Zobacz też
- Inżynieria komputerowa
- Programowanie komputerowe
- Rewolucja cyfrowa
- Technologia informacyjna i komunikacyjna
- Technologia informacyjna
- Lista informatyków
- Lista nagród informatycznych
- Lista ważnych publikacji z informatyki
- Lista pionierów informatyki
- Lista nierozwiązanych problemów w informatyce
- Język programowania
- Inżynieria oprogramowania
Notatki
Dalsza lektura
Przegląd
-
Tucker, Allen B. (2004). Podręcznik informatyki (wyd. 2). Chapmana i Halla/CRC. ISBN 978-1-58488-360-9 .
- „W ponad 70 rozdziałach, z których każdy jest nowy lub znacznie poprawiony, można znaleźć wszelkiego rodzaju informacje i odniesienia dotyczące informatyki, jakie można sobie wyobrazić. [...] w sumie w informatyce nie ma nic, czego nie można by znaleźć w 2,5-kilogramowej encyklopedii ze 110 artykułami przeglądowymi [...]”. (Christoph Meinel, Zentralblatt MATH )
-
van Leeuwen, Jan (1994). Podręcznik informatyki teoretycznej . Prasa MIT. ISBN 978-0-262-72020-5 .
- „[...] ten zestaw jest najbardziej unikalny i prawdopodobnie najbardziej użyteczny dla społeczności [informatyki teoretycznej], wspierający zarówno nauczanie, jak i badania [...]. Z książek może korzystać każdy, kto chce po prostu zyskać zrozumienie jednego z tych obszarów lub przez kogoś, kto chce prowadzić badania w danym temacie, lub przez instruktorów, którzy chcą znaleźć aktualne informacje na temat, którego nauczają, poza ich głównymi obszarami wiedzy”. (Rocky Ross, wiadomości SIGACT )
-
Ralston, Anthony ; Reilly, Edwin D.; Hemmendinger, David (2000). Encyklopedia informatyki (wyd. 4). Słowniki Grove'a. ISBN 978-1-56159-248-7 . Zarchiwizowane od oryginału w dniu 8 czerwca 2020 r . Źródło 6 lutego 2011 r .
- „Od 1976 roku jest to ostateczna praca referencyjna dotycząca komputerów, informatyki i informatyki. […] Ułożone alfabetycznie i podzielone na szerokie obszary tematyczne, wpisy obejmują sprzęt, systemy komputerowe, informacje i dane, oprogramowanie, matematykę informatyki, teorii obliczeń, metodologii, aplikacji i środowiska komputerowego. Redaktorzy wykonali godną pochwały pracę, łącząc perspektywę historyczną i praktyczne informacje referencyjne. Encyklopedia pozostaje niezbędna dla większości zbiorów referencyjnych bibliotek publicznych i akademickich. (Joe Accardin, Northeastern Illinois University, Chicago)
- Edwin D. Reilly (2003). Kamienie milowe w informatyce i technologii informacyjnej . Grupa wydawnicza Greenwood. ISBN 978-1-57356-521-9 .
Wybrana literatura
- Knutha, Donalda E. (1996). Wybrane artykuły z informatyki . Publikacje CSLI, Cambridge University Press .
- Collier, Bruce (1990). Mały silnik, który mógłby: maszyny liczące Charlesa Babbage'a . Garland Publishing Inc. ISBN 978-0-8240-0043-1 . Zarchiwizowane od oryginału w dniu 20 stycznia 2007 r . Źródło 4 maja 2013 r .
- Cohen, Bernard (2000). Howard Aiken, Portret pioniera komputerowego . Prasa MIT. ISBN 978-0-262-53179-5 .
- Tedre, Matti (2014). Nauka o informatyce: kształtowanie dyscypliny . CRC Press, Taylor & Francis .
-
Randell, Brian (1973). Początki komputerów cyfrowych, wybrane artykuły . Springer-Verlag. ISBN 978-3-540-06169-4 .
- „Obejmujący okres od 1966 do 1993 roku, jego zainteresowanie leży nie tylko w treści każdego z tych artykułów – wciąż aktualnych dzisiaj – ale także w ich zestawieniu tak, aby idee wyrażane w różnych okresach ładnie się uzupełniały”. (N. Bernard, Zentralblatt MATEMATYKA )
Artykuły
- Petera J. Denninga. Czy informatyka jest nauką? , Komunikaty ACM, kwiecień 2005 r.
- Peter J. Denning, Wielkie zasady w programach nauczania informatyki , Sympozjum techniczne na temat nauczania informatyki, 2004.
- Ocena badań w dziedzinie informatyki, raport Informatics Europe zarchiwizowany 18 października 2017 r. w Wayback Machine . Krótsza wersja czasopisma: Bertrand Meyer, Christine Choppy, Jan van Leeuwen i Jorgen Staunstrup, Ocena badań dla informatyki , w Communications of the ACM , tom. 52, nr. 4, s. 31–34, kwiecień 2009.
Program nauczania i klasyfikacja
- Stowarzyszenie Maszyn Komputerowych . System klasyfikacji komputerowej ACM 1998 . 1998.
- Joint Task Force of Association for Computing Machinery (ACM), Association for Information Systems (AIS) i IEEE Computer Society (IEEE CS). Programy nauczania informatyki 2005: Raport przeglądowy . 30 września 2005 r.
- Normana Gibbsa , Allena Tuckera. „Wzorcowy program nauczania na studiach humanistycznych w dziedzinie informatyki”. Komunikaty ACM , tom 29, wydanie 3, marzec 1986.
Linki zewnętrzne
Zasoby biblioteczne dotyczące informatyki |
- Informatyka w Curlie
- Towarzystwa naukowe w dziedzinie informatyki zarchiwizowane 23 czerwca 2011 r. W Wayback Machine
- Czym jest informatyka?
- Nagrody za najlepsze artykuły w dziedzinie informatyki od 1996 roku
- Fotografie informatyków autorstwa Bertranda Meyera
- EECS.berkeley.edu
Bibliografia i wyszukiwarki akademickie
- CiteSeer x ( artykuł ): wyszukiwarka, biblioteka cyfrowa i repozytorium prac naukowych i akademickich z naciskiem na informatykę i informatykę.
- DBLP Computer Science Bibliography ( artykuł ): witryna bibliografii informatycznej hostowana na Universität Trier w Niemczech.
- Zbiór Bibliografii Informatycznych ( Zbiór Bibliografii Informatycznych )
Profesjonalna organizacja
- Stowarzyszenie Maszyn Komputerowych
- Towarzystwo komputerowe IEEE
- Informatyka Europa
- AAAI
- AAAS Informatyka
różne
- Computer Science—Stack Exchange : prowadzona przez społeczność witryna z pytaniami i odpowiedziami dla informatyki
- Czym jest informatyka Zarchiwizowano 18 lutego 2015 r. W Wayback Machine
- Czy informatyka jest nauką?
- Informatykę (oprogramowanie) należy traktować jako niezależną dyscyplinę.