何必是什么意思
Informatyka (niem. Informatik, ang. computer science, computing, computer engineering, IT, ICT)[1] – nauka ?cis?a oraz techniczna zajmuj?ca si? przetwarzaniem informacji, w tym równie? technologiami przetwarzania informacji oraz technologiami wytwarzania systemów przetwarzaj?cych informacje[2]. Zajmuje si? rozwi?zywaniem problemów obliczeniowych, opisem procesów algorytmicznych oraz tworzeniem programów komputerowych i cz??ciowo sprz?tu komputerowego (z wy??czeniem zagadnień materialnych i energetycznych)[3][4][5]. Informatyka pocz?tkowo stanowi?a cz??? matematyki, z czasem wyodr?bni?a si? do oddzielnej dyscypliny. W j?zyku polskim termin ?informatyka” zaproponowa? w pa?dzierniku 1968 r. Romuald Marczyński (w Zakopanem, na ogólnopolskiej konferencji podczas wyk?adu zatytu?owanego ?Informatyka, czyli maszyny matematyczne i przetwarzanie informacji”)[6], na wzór francuskiego informatique i niemieckiego Informatik.
Etymologia
[edytuj | edytuj kod]Termin informatics nie móg? zosta? wprowadzony do s?ownictwa amerykańskiego z uwagi na problemy prawne – istnia?o tam przedsi?biorstwo o nazwie Informatics Inc , co zablokowa?o ch?? zmiany nazwy ACM na Society for Informatics. Wówczas popularny by? ju? tam termin computer science – dos?ownie: ?nauka o komputerze” – co mo?e by? myl?ce, st?d spotyka? si? cz?sto z krytyk? ?rodowisk akademickich[7]. Proponowano wiele alternatywnych nazw, m.in. Computer Studies, Computics, Computing Science, Computation Science, Information engineering, Information Technology. Association for Computing Machinery b?d?ce najwa?niejsz? organizacj? bran?ow? przyj?? termin computing na nazw? ogólnej dyscypliny. Cz??ciowo powrócono jednak pó?niej do computer science ze wzgl?du na to, ?e termin ten si? silnie zakorzeni?. Wspó?cze?nie okre?lenie computing odnosi si? do ca?ej dyscypliny, a computer science to jej cz??? w której obowi?zuje rygor naukowy, podczas gdy informatyka techniczna skupia si? na aspektach praktycznych i traktowana jest jako nauka in?ynierska. W informatyce technicznej mo?na wyró?ni? szereg specjalno?ci, takich jak in?ynieria komputerowa (computer engineering, technische Informatik[8]) zwi?zana z tworzeniem sprz?tu komputerowego i oprogramowania wbudowanego, technologia informacyjna (information technology), wspó?cze?nie najcz??ciej spotykana w tworzeniu oprogramowania dla zastosowań biznesowych, in?ynieria oprogramowania (software engineering), odnosz?ca si? ogólnie do programowania, lecz ?ci?le zwi?zana z zarz?dzaniem procesem wytwarzania oprogramowania. SE i IT s? czasem na wzór niemiecki zbiorczo nazywane informatyk? praktyczn? (niem. praktische Informatik)[9][10].
Przetwarzanie informacji jest ró?nie interpretowane, przez co istniej? ró?ne definicje informatyki. Uniwersytet Edynburski definiuje j? jako nauk? o systemach obliczeniowych, w której centraln? notacj? jest transformacja informacji[2]. Wed?ug Petera J. Denninga podstawowym pytaniem le??cym u podstaw informatyki jest: ?Co mo?na zautomatyzowa??”[11]. Wed?ug teorii Stuarta C. Shapiro, informatyka jest nauk? przyrodnicz?, która bada procedury. Adam Olszewski wyró?ni? pi?? rodzajów obiektów, które s? przedmiotem zainteresowania informatyki: funkcje efektywnie obliczalne, algorytmy, programy komputerowe, realizacje i maszyny[12]. W roku 2005, w ACM Computing Curricula[13] przedstawiono nast?puj?cy opis:
Ogólnie rzecz bior?c, mo?emy zdefiniowa? informatyk? (computing) jako jak?kolwiek zorientowan? na cel dzia?alno?? wymagaj?c?, korzystaj?c? z lub tworz?c? maszyny obliczeniowe. W zwi?zku z tym informatyka obejmuje projektowanie i budowanie systemów sprz?tu i oprogramowania do szerokiego zakresu celów; przetwarzanie, strukturyzacj? i zarz?dzanie ró?nymi rodzajami informacji; obliczeniowe badania naukowe; sprawianie, by systemy komputerowe zachowywa?y si? inteligentnie; (...) Lista jest praktycznie nieskończona, a mo?liwo?ci s? ogromne.
Przegl?d dyscyplin informatycznych
[edytuj | edytuj kod]Informatyka jest tylko o komputerach, tak jak astronomia tylko o teleskopach.
Jako dyscyplina informatyka obejmuje szereg tematów, od teoretycznych badań nad algorytmami i teori? obliczalno?ci po praktyczne zagadnienia zwi?zane z implementowaniem systemów obliczeniowych zarówno w warstwie sprz?towej, jak i oprogramowaniu[3][4]. CSAB, dawniej zwana Computing Sciences Accreditation Board – w sk?ad której wchodz? przedstawiciele Association for Computing Machinery (ACM) oraz IEEE Computer Society (IEEE CS)[14] – identyfikuje cztery obszary, które uwa?a za kluczowe dla informatyki: teoria obliczeń, algorytmy i struktury danych, j?zyki i metodologia programowania oraz budowa i architektura komputerów. Oprócz tych czterech podstawowych 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 metody numeryczne i symboliczne jako b?d?ce wa?nymi dziedzinami informatyki[3].
Pocz?tkowo towarzystwa ACM i IEEE CS publikowa?y w?asne oddzielne zalecenia dotycz?ce programów studiów. Z czasem postanowiono utworzy? wspóln? dyscyplin? oraz wspólne zalecenia dotycz?ce programów kszta?cenia. W pracach nad ujednoliceniem programów studiów uczestniczy?y organizacje: ACM, IEEE Computer Society, Association for Information Systems, ACM SIG Information Technology Education, British Computer Society, International Federation for Information Processing, ABET and CSAB. Wyró?niono 5 g?ównych specjalizacji[15]: in?ynieria komputerowa (ang. computer engineering, CE), informatyka naukowa (ang. computer science, CS), systemy informacyjne (ang. information systems, IS), technologia informacji (ang. information technology, IT), in?ynieria oprogramowania (ang. software engineering, SE). W 2020 podobna grupa organizacji przygotowa?a programy studiów dla kolejnych 2 specjalizacji: cyberbezpieczeństwo (ang. cybersecurity) oraz danologi? (ang. data Science). W Niemczech zwyczajowo dzieli si? natomiast na informatyk? teoretyczn?, techniczn?, praktyczn? oraz realizacje i stosowan?.

Peter J. Denning z kolei w swoim artykule o informatyce[16] pogrupowa? tre?ci w nast?puj?ce dzia?y: algorytmy i struktury danych, j?zyki oprogramowania, architektura komputerów i oprogramowania, systemy operacyjne i sieci, in?ynieria oprogramowania, bazy danych i wyszukiwanie informacji, sztuczna inteligencja i robotyka, grafika komputerowa, interakcja cz?owiek–komputer, symulacje komputerowe i obliczenia numeryczne, informatyka ekonomiczna, bioinformatyka. Jednocze?nie dla ka?dego z tych obszarów zaproponowa? podzia? na trzy podej?cia dotycz?ce strony teoretycznej, abstrakcyjnej oraz twórczej.
Informatyka teoretyczna
[edytuj | edytuj kod]Teoretyczna informatyka (ang. theoretical computer science) ma ducha matematycznego i abstrakcyjnego, ale motywacj? czerpie z praktycznych i codziennych obliczeń. Jej celem jest zrozumienie natury obliczeń, w konsekwencji czego wprowadza ich coraz bardziej efektywne metody. Jest ona cz??ci? matematyki i informatyki, która grupuje matematyczne podstawy informatyki. Jej najwa?niejsze obszary to teoria obliczeń, teoria informacji oraz algorytmika. Informatyka teoretyczna stara si? odpowiedzie? na fundamentalne pytania w informatyce np. P versus NP problem i stanowi trzon dla bardziej praktycznych dziedzin.
Algorytmika to wi?cej ni? dzia? informatyki. Tkwi ona w centrum wszystkich dzia?ów informatyki.
Algorytmika. Algorytmy i struktury danych
[edytuj | edytuj kod]Algorytmika zajmuje si? projektowaniem i analiz? algorytmów i struktur danych. Jest najstarsz? i jedn? z najwa?niejszych dziedzin informatyki. W?ród jej podstawowych obszarów mo?na wymieni? projektowanie i analiz? algorytmów, geometri? obliczeniow?, optymalizacj? kombinatoryczn? oraz logik? algorytmiczn?. Historycznie podstawowymi zagadnieniami s? algorytmy sortowania, kompresji, przeszukiwania czy szyfrowania oraz metody numeryczne. Algorytmy podlegaj? klasyfikacji, wyró?niaj?c np. algorytmy zach?anne jak algorytm Dijkstry czy algorytm Kruskala, metody generowania liczb losowych, metody optymalizacji itd. Do podstawowych struktur danych nale?? rekord, tablica, stos, lista, kolejka, drzewa czy grafy. Prób? po??czenia idei struktur danych i algorytmów jest paradygmat programowania obiektowego.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Analiza algorytmów | Projektowanie algorytmów | Struktury danych | Algorytmy zach?anne | Geometria obliczeniowa | Algorytmy probabilistyczne |
Teoria obliczeń. J?zyki, automaty, z?o?ono??
[edytuj | edytuj kod]Teoria obliczeń dzieli si? na trzy g?ówne cz??ci: teori? automatów, teori? obliczalno?ci oraz teori? z?o?ono?ci. Teoria automatów zajmuje si? definicjami i w?asno?ciami modeli obliczeń, matematycznymi modelami maszyn licz?cych. W uproszczeniu zajmuje si? ona odpowiedzi? na pytanie czym jest komputer, teoria obliczalno?ci zajmuje si? odpowiedzi? na pytanie, które problemy daj? si? rozwi?za? przy pomocy komputera, a teoria z?o?ono?ci – odpowiedzi? na pytanie jak szybko da si? to zrobi?[18][19]. Przyk?adowymi zagadnieniami s? Maszyna Turinga czy Hipoteza Churcha-Turinga. J?zyki formalne stanowi? podstaw? badań nad j?zykami komputerowymi, jak i naturalnymi w lingwistyce. Systemy formalne s? tworzone i badane zarówno jako samodzielne abstrakcyjne twory, jak i systemy opisu rzeczywisto?ci.
![]() |
![]() |
![]() |
![]() | |
Teoria automatów | J?zyk formalny | Teoria obliczalno?ci | Teoria z?o?ono?ci obliczeniowej | Automat komórkowy |
Teoria informacji i kodowania
[edytuj | edytuj kod]Matematyczna teoria informacji zajmuje si? problematyk? informacji, w tym podstawami teoretycznymi dla przetwarzania i przesy?ania informacji, np. w celu ich transmisji lub kompresji. Przyk?adowo wprowadza takie poj?cia jak komunikat, entropia, cia?o skończone czy bit b?d?cy podstawow? jednostk? w informatyce. Teoria kodowania zajmuje si? tworzeniem i analiz? reprezentacji danych w komputerze. Wyró?nia si? m.in. kodowanie znaków czy kodowanie transportowe, do których nale?? np. kod sta?opozycyjny.
Informatyka kwantowa
[edytuj | edytuj kod]Informatyka kwantowa to ga??? informatyki ??cz?ca j? z mechanik? kwantow?, w której do przetwarzania informacji wykorzystywane s? w?asno?ci uk?adów kwantowych[20]. Elementarnym no?nikiem informacji kwantowej jest kubit, kwantowy odpowiednik bitu. Stan kubitu opisany jest przez dowoln? kombinacj? liniow? stanów bazowych. W najbardziej popularnym modelu kwantowego przetwarzania informacji, operacje na kubitach s? reprezentowane za pomoc? bramek kwantowych. Najbardziej spektakularny sukces informatyki kwantowej to kwantowa kryptografia. Natomiast najbardziej obiecuj?cym kierunkiem badań s? prace dotycz?ce idei kwantowego komputera. Dynamiczny rozwój technologii w ostatnich latach spowodowa?, ?e ga??? ta wy?amuje si? poza czysto-teoryczne rozwa?ania. Stworzono pewne realizacje bramek kwantowych, a na targach CES w 2018 roku amerykańskie przedsi?biorstwo informatyczne IBM zaprezentowa?a swój dzia?aj?cy, 50-kubitowy komputer kwantowy[21].
Teoria j?zyków programowania, typów, kompilacji
[edytuj | edytuj kod]Teoria j?zyków programowania (ang. Programming language theory, PLT) to dziedzina informatyki zajmuj?ca si? projektowaniem, wdra?aniem, analiz?, charakteryzacj? i klasyfikacj? j?zyków programowania oraz ich indywidualnymi cechami[22]. Przyk?adowymi obszarami PLT s? semantyki formalne (ang. formal semantics), teoria typów (ang. type theory)[23] czy metaprogramowanie. Na j?zyki programowania sk?ada si? sk?adnia, semantyka i biblioteki standardowe, zazwyczaj posiadaj? co najmniej obs?ug? wej?cia-wyj?cia, obs?ug? plików, obs?ug? wielow?tkowo?ci, zarz?dzanie pami?ci? operacyjn?, podstawowe typy danych, funkcje do zarz?dzania nimi np. operacje na ci?gach znaków. Wa?nym obszarem PLT jest te? teoria kompilacji, na której proces sk?ada si? wykonanie poleceń preprocesora, analiza leksykalna, analiza sk?adniowa, analiza semantyczna, optymalizacja kodu wynikowego i generacja kodu. J?zyki klasyfikuje si? wed?ug poziomu abstrakcji na którym operuj? na j?zyki niskiego poziomu oraz j?zyki wysokiego poziomu, wyró?nia si? tak?e wiele paradygmatów programowania[24][25].
![]() |
![]() |
![]() |
![]() |
![]() |
Teoria typów | Teoria kompilacji | Teoria j?zyków programowania | J?zyki programowania | Paradygmaty programowania |
In?ynieria komputerowa
[edytuj | edytuj kod]In?ynieria komputerowa (ang. computer engineering, niem. Technishe Informatik) – zajmuje si? tworzeniem systemów komputerowych. Do jej zadań nale?y projektowanie, wytwarzanie, integracja i eksploatacja sprz?tu cyfrowego, w tym urz?dzeń sieciowych. Pocz?tkowo zajmowa?a si? g?ównie tworzeniem procesorów, a wspó?cze?nie wa?n? jej rol? stanowi tak?e tworzenie sprz?tu i sterowników dla systemów wbudowanych, które wraz z pojawieniem si? koncepcji IoT maj? coraz wi?ksze znaczenie[26]. Do jej zagadnień nale?y architektur? i organizacj? systemów komputerowych na poziomie sprz?towym oraz oprogramowania sprz?towego.
Logika obliczeniowa i technika cyfrowa
[edytuj | edytuj kod]Technika cyfrowa zajmuje si? projektowaniem i analiz? uk?adów cyfrowych. Do jej elementarnych zagadnień nale?? bramki logiczne, rejestry, uk?ady sekwencyjne i uk?ady kombinacyjne. Obejmuje syntez? logiczn? i odwzorowanie technologiczne[27]. Wspó?cze?nie jej zagadnienia s? kszta?towane z jednej strony przez j?zyki opisu sprz?tu, a z drugiej przez bezpo?rednio programowalne macierze bramek[27][28]. Uk?ady logiczne pocz?tkowo implementowano jako uk?ady mechaniczne, nast?pnie jako elektromechaniczne i dominuj?ce wspó?cze?nie uk?ady elektroniczne.
Architektura i organizacja komputerów
[edytuj | edytuj kod]Architektura komputerów (AK) to g?ówny obszar in?ynierii komputerowej zajmuj?cy si? projektowaniem i podstawow? struktur? systemów komputerowych oraz budow? i organizacj? ich podzespo?ów. G?ówny obszar AK stanowi architektura procesorów na któr? sk?ada si? model programowy procesora oraz mikroarchitektura procesora[29]. Procesory s? g?ównym elementem systemów komputerowych. Szczególna uwaga jest po?wi?cona na sposobie, w jaki procesor wykonuje instrukcje i uzyskuje dost?p do adresów w pami?ci. Przyk?adowe zagadnienia to DMA czy kontroler[30][31]. Wa?nymi obszarami AK s? tak?e magistrale oraz pami?ci komputerowe. Pami?ci? komputerow? nazywa si? ró?nego rodzaju urz?dzenia i bloki funkcjonalne komputera, s?u??ce do przechowywania danych i programów (systemu operacyjnego oraz aplikacji). Istnieje jej wiele rodzajów, m.in. rejestry procesora, pami?? podr?czna procesora, pami?? RAM, dyski pó?przewodnikowe (SSD), dyski twarde (HDD). Wyró?nia si? pami?ci zewn?trzne i wewn?trzne. Magistral? komunikacyjn? (ang. bus) definiuje si? jako zespó? linii przenosz?cych sygna?y oraz uk?ady wej?cia-wyj?cia s?u??ce do przesy?ania sygna?ów mi?dzy po??czonymi urz?dzeniami w systemach mikroprocesorowych[32].
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Architektura procesorów | Architektura pami?ci | Magistrale | Mikroarchitektura procesorów | Pami?? komputerowa | Urz?dzenia wej?cia-wyj?cia |
Przetwarzanie równoleg?e i rozproszone
[edytuj | edytuj kod]Obliczenia równoleg?e to obszar badaj?cy mo?liwo?? obliczeń, w której wiele instrukcji jest wykonywanych jednocze?nie. Taka forma przetwarzania danych by?a wykorzystywana przez wiele lat, g?ównie przy wykorzystaniu superkomputerów, a szczególne zainteresowanie zyska?a w ostatnich latach, z uwagi na fizyczne ograniczenia uniemo?liwiaj?ce dalsze zwi?kszanie cz?stotliwo?ci taktowania procesorów. Obliczenia równoleg?e sta?y si? dominuj?cym wzorcem w architekturze komputerowej, g?ównie za spraw? upowszechnienia procesorów wielordzeniowych. Ze wzgl?du na skal? mo?na wyró?ni? obliczenia równoleg?e na poziomie: bitów, instrukcji, danych i zadań. Wspó?bie?no?? jest w?a?ciwo?ci? systemów, w których obliczenia wykonuje si? jednocze?nie i potencjalnie korzystaj? ze wspólnych zasobów i/lub wchodz? w interakcje ze sob?. Opracowano wiele modeli obliczeń równoleg?ych, w tym sieci Petriego, rachunek procesowy (ang. process calculus) i model maszyny dost?pu równoleg?ego (ang. parallel random-access machine, PRAM). Kiedy wiele komputerów jest pod??czonych do sieci podczas korzystania ze wspó?bie?no?ci, jest to nazywane systemem rozproszonym. w którym to komputery maj? w?asn? pami??, a informacje s? wymieniane, by osi?gn?? wspólne cele.
![]() |
![]() |
![]() |
![]() |
![]() |
Przetwarzanie wspó?bie?ne | Przetwarzanie rozproszone | Przetwarzanie równoleg?e | Potokowo?? | Problem 5 filozofów |
Programowanie niskopoziomowe
[edytuj | edytuj kod]Oprogramowanie niskopoziomowe pisze si? w j?zykach niskiego poziomu. S? to g?ównie j?zyki asemblera, stanowi? symboliczny zapis instrukcji procesora i danych, który w prosty sposób odpowiada zapisowi binarnemu. J?zyki asemblerowe wprowadzone w celu czytelnej dla cz?owieka reprezentacji j?zyków maszynowych komputerów. W przeciwieństwie do j?zyków wysokiego poziomu, typowe j?zyki asemblerowe charakteryzuj? si? struktur? liniow? (wierszow?). Ka?dy wiersz tekstu mo?e zawiera? pojedyncz? instrukcj? procesora lub dyrektyw? asemblera[33].
![]() |
![]() |
![]() |
![]() |
![]() |
Rozkazy | Kod maszynowy | Kod binarny | Rejestry | Instrukcje |
Sieci komputerowe
[edytuj | edytuj kod]Sieci komputerowe to ga??? informatyki maj?ca na celu tworzenie sieci mi?dzy komputerami nazywanych w?z?ami, umo?liwiaj?c im wspó?dzielenie zasobów. W sieciach komputerowych urz?dzenia komputerowe wymieniaj? si? danymi za pomoc? warstw sieciowych. W modelu OSI wyró?nia si? warstw? aplikacji, prezentacji, sesji, transportow?, sieciow?, ??cza danych i fizyczn?, a w modelu TCP/IP – b?d?cym podstaw? struktury internetu – wyró?nia si? warstwy aplikacji, transportow?, internetow? i dost?pu do sieci. Te ??cza danych s? ustanawiane za pomoc? mediów kablowych, takich jak skr?tka lub kable ?wiat?owodowe, oraz mediów bezprzewodowych, takich jak np. Wi-Fi[34]. Jednymi z podstawowych zagadnień sieci s? protoko?y oraz urz?dzenia sieciowe. Do najpopularniejszych urz?dzeń sieciowych nale?y karta sieciowa, router, koncentrator, prze??cznik, punkt dost?powy, most, ekspander zasi?gu Wi-Fi (repeater Wi-Fi), adaptery PowerLine, serwery wydruku, kamery IP, bramki VoIP orazy telefony IP[35]. Protoko?em komunikacyjnym nazywa si? zbiór ?cis?ych regu? i kroków post?powania, które s? automatycznie wykonywane przez urz?dzenia sieciowe w celu nawi?zania ??czno?ci i wymiany danych. Definiuj? one syntaks?, semantyk?, synchronizacj? komunikacji oraz mo?liwe metody naprawiania b??dów. Protoko?y te mog? zosta? wdro?one za pomoc? hardware'u, oprogramowania lub obu jednocze?nie[36].
![]() |
![]() |
![]() |
![]() |
![]() |
Topologie sieci komputerowej | Architektura sieci | Protoko?y sieciowe | Urz?dzenie sieciowe | Internet |
Systemy operacyjne
[edytuj | edytuj kod]Systemy operacyjny pe?ni? szczególn? rol? w informatyce. Jest to oprogramowanie zarz?dzaj?ce systemem komputerowym, tworz?ce ?rodowisko do uruchamiania i kontroli zadań. Najwa?niejszym elementem systemu operacyjnych jest jego j?dro wykonuj?ce i kontroluj?ce zadania m.in. planisty czasu procesora, ustalaj?cego które zadanie i jak d?ugo b?dzie wykonywane czy prze??cznika zadań, odpowiedzialnego za prze??czanie pomi?dzy uruchomionymi zadaniami. System operacyjny posiada tak?e swoj? pow?ok?, czyli specjalny program komunikuj?cy u?ytkownika z systemem operacyjnym oraz system plików – sposób ustrukturyzowanego zapisu danych na no?niku. Osoby administruj?ce systemami nazwa si? administratorami (pot. adminami). Wspó?cze?nie najwa?niejsz? rodzin? systemów operacyjnych jest GNU/Linux oraz Windows.
![]() | ||||
![]() |
![]() |
![]() |
![]() | |
Sterowniki | Planista | J?dro systemu operacyjnego | Pow?oka systemowa |
Informatyka praktyczna
[edytuj | edytuj kod]Programowanie komputerów to proces projektowania, tworzenia, testowania i utrzymywania kodu ?ród?owego programów komputerowych w tym dla urz?dzeń mikroprocesorowych (mikrokontrolery). Programowanie pod ró?nymi postaciami jest obecne w wi?kszo?ci dzia?ów informatyki. Kod ?ród?owy jest napisany w j?zyku programowania, z u?yciem okre?lonych regu?, mo?e on by? modyfikacj? istniej?cego programu lub czym? zupe?nie nowym. Programowanie wymaga wiedzy i do?wiadczenia w wielu dziedzinach, jak projektowanie aplikacji, algorytmika, struktury danych, j?zyki programowania i narz?dzia programistyczne, kompilatory, czy sposób dzia?ania podzespo?ów komputera. Mi?dzy programistami trwaj? debaty, czy programowanie komputerów jest sztuk?, rzemios?em czy procesem in?ynieryjnym. Bezpo?redni? form? sztuki w tej dziedzinie jest demoscena. Programowanie komputerów integruje ze sob? wi?kszo?? ga??zi informatyki. Istnieje wiele ga??zi rozwoju technik programowania, jednak wszystkie z nich bazuj? na wspólnych podstawach. Niezale?nie czy to b?dzie aplikacja webowa w Javascript, gra komputerowa w C++ czy program mikrokontrolera w C, u?ywaj? one podstawowych konstrukcji programistycznych. Podstawymi poj?ciami od których zaczyna si? nauk? programowania s? mi?dzy innymi zmienne, tablice, instrukcje warunkowe, p?tle, wska?niki, ?ańcuchy, funkcje, debugowanie, biblioteki oraz zarz?dzanie pami?ci?. J?zyki dzieli si? na generacje: 2GL, 3GL, 4GL, 5GL. Wyró?nia si? mi?dzy innymi j?zyki akcji, j?zyki algorytmiczne, j?zyki dziedzinowe, j?zyki interpretowane, j?zyki kompilowane, j?zyki mnemoniczne, j?zyki nieproceduralne, j?zyki niezale?ne komputerowo, j?zyki niskiego poziomu, j?zyki opisu zadań, j?zyki problemowe[potrzebny przypis], j?zyki proceduralne, j?zyki symulacyjne, j?zyki uniwersalne i j?zyki wysokiego poziomu. Do najpopularniejszych j?zyków programowania zalicza si?: Java, C, Python, C++, Visual Basic .NET, C#, JavaScript, PHP, SQL, J?zyk Asemblera, Swift, Objective-C, Ruby, Groovy, Go, Perl, MATLAB, Visual Basic, Object Pascal.
![]() |
![]() |
![]() |
![]() |
![]() |
J?zyki wysokiego poziomu | Przep?yw sterowania | Biblioteki programistyczne | Programowanie obiektowe | Programowanie strukturalne |
Grafika komputerowa
[edytuj | edytuj kod]Grafika komputerowa to dzia? informatyki zajmuj?cy si? cyfrow? syntez? i manipulacj? tre?ci wizualnych. Ze wzgl?du na reprezentacj? danych dzieli si? na grafik? rastrow? i wektorow?, a ze wzgl?du na charakter danych na grafik? dwuwymiarow?, trójwymiarow? i ruchom?. Obejmuje tak?e obecnie szybko rozwijaj?ce si? przetwarzenie obrazów. Grafik? komputerow? mo?na tak?e podzieli? na teoretyczn? skupiaj?c? si? algorytmach graficznych i praktyczn?, skupiaj?c? si? manipulacji obrazem czy modelowaniu 3D np. w programie Blender. Grafika komputerowa stanowi podstaw? wspó?czesnych gier, animacji, symulacji czy wizualizacji komputerowych. Renderowanie polega na analizie stworzonego wcze?niej modelu danej sceny oraz utworzenie na jej podstawie dwuwymiarowego obrazu wyj?ciowego w formie statycznej lub animacji. Podczas renderowania rozpatrywane s? m.in. odbicia, cienie, za?amania ?wiat?a, wp?ywy atmosfery (w tym mg?a), efekty wolumetryczne itp.
![]() |
![]() |
![]() |
![]() |
![]() |
Grafika rastrowa | Grafika wektorowa | Grafika trójwymiarowa | Renderowanie i animacja | Cyfrowe przetwarzanie obrazów |
In?ynieria oprogramowania
[edytuj | edytuj kod]In?ynieria oprogramowania, tak?e in?ynieria systemów informatycznych – zajmuje si? procesem i metodykami tworzenia systemów informatycznych: od analizy i okre?lenia wymagań, przez projektowanie i wdro?enie, a? do ewolucji gotowego oprogramowania. Termin in?ynieria oprogramowania po raz pierwszy zosta? u?yty w prze?omie lat 1950/60 (ale oficjalnie za narodziny tej dyscypliny podaje si? lata 1968 i 1969, w których mia?y miejsce dwie konferencje sponsorowane przez NATO, odpowiednio w Garmisch i Rzymie). Wyró?nia fazy produkcji oprogramwania: specyfikacji, projektowania, implementacji, integracji i ewoluacji, a tak?e dostarcza systematycznych metodyk jego tworzenia, jak m.in. model kaskadowy, prototypowy czy zwinny, w tym scrum. Wprowadza takie poj?cia jak np. cykl ?ycia programu czy metryka oprogramowania. Wyró?nia si? tak?e jej specjalizacje np. in?ynieria systemów mobilnych, in?ynieria systemów baz danych, in?ynieria systemów wbudowanych czy in?ynieria gier komputerowych. Wzorcem projektowym (ang. design pattern) nazywa si? uniwersalne, sprawdzone w praktyce rozwi?zanie cz?sto pojawiaj?cych si?, powtarzalnych problemów projektowych. Pokazuje powi?zania i zale?no?ci pomi?dzy klasami oraz obiektami i u?atwia tworzenie, modyfikacj? oraz utrzymanie kodu ?ród?owego. Jest opisem rozwi?zania, a nie jego implementacj?. Architektur? oprogramowania nazwywa podstawow? organizacj? systemu wraz z jego komponentami, wzajemnymi powi?zaniami, ?rodowiskiem pracy i regu?ami ustanawiaj?cymi sposób jego budowy i rozwoju. Metody formalne – tworzenie specyfikacji, projektowania i weryfikacji oprogramowania lub systemów informatycznych w j?zyku formalnym. Metody formalne najlepiej opisa? jako zastosowanie do?? szerokiej gamy podstaw teoretycznych informatyki, w szczególno?ci rachunku logicznego, j?zyków formalnych, teorii automatów, systemu dynamiki zdarzeń dyskretnych i semantyki programów, a tak?e systemów typów i typów danych algebraicznych do specyfikacji i weryfikacji problemów w oprogramowaniu i sprz?cie.
![]() |
![]() |
![]() |
![]() |
![]() |
Diagramy UML | Wzorce projektowe | Architektura oprogramowania | Metodyki wytwarzania oprogramowania | Metody formalne |
Cyberbezpieczeństwo i kryptologia
[edytuj | edytuj kod]Kryptologia dzieli si? na kryptografi?, czyli ga??? wiedzy o utajnianiu wiadomo?ci oraz kryptoanaliz?, czyli ga??? wiedzy o prze?amywaniu zabezpieczeń oraz o deszyfrowaniu wiadomo?ci przy braku klucza lub innego wymaganego elementu schematu szyfrowania (szyfru). Przyk?adowe metody to atak brute force czy kryptoanaliza liniowa. Bezpieczeństwo komputerowe (ang. computer security'', pot. cybersecurity, hacking) zajmuje si? zapewnianiem poufno?ci i bezpieczeństwa danych. Osoby posiadaj?ce szerok? i zaawansowan? wiedz? informatyczn?, lecz nieetycznie z niej korzystaj?cy nazywani s? cracker. Ich szczególnym zainteresowaniem jest wyszukiwanie luk (dziur) w systemach operacyjnych, programach, sieciach komputerowych czy urz?dzeniach do niej pod??czonych w celu przej?cia nad nimi zdalnej kontroli. Wyró?nia si? wiele klasycznych ataków komputerowych takich jak na przyk?ad DDoS, HTTP Flood, UDP flood, smurf attack, session hijacking, a tak?e wiele rodzajów wirusów komputerowych, trojanów, snifferów czy rootkitów. W odpowiedzi powsta?o wiele technik obrony systemów informatycznych, np. obrona w g??b, security through obscurity czy g??bokie ukrycie[37][38].
![]() |
![]() |
![]() |
![]() |
![]() |
Wirusy komputerowe | Sniffery i Rootkity | Botnet | Funkcje skrótu | Obrona w g??b |
Bazy danych, eksploracja danych, danologia
[edytuj | edytuj kod]Danologia (ang. Data science) wykorzystuje metody naukowe, procesy, algorytmy, narz?dzia i systemy informatyczne do wydobywania wiedzy i spostrze?eń z wielu danych strukturalnych i nieustrukturyzowanych, tzw. Big data. Eksploracj? danych (ang. data mining) nazywa si? jeden z procesów uzyskiwania wiedzy z baz danych. Idea eksploracji danych polega na wykorzystaniu szybko?ci komputera do znajdowania ukrytych dla cz?owieka (w?a?nie z uwagi na ograniczone mo?liwo?ci czasowe) prawid?owo?ci w danych zgromadzonych w hurtowniach danych. Big data to termin odnosz?cy si? do du?ych, zmiennych i ró?norodnych zbiorów danych, których przetwarzanie i analiza jest trudna, ale jednocze?nie warto?ciowa. Obecne u?ycie terminu big data zwykle odnosi si? do u?ycia analizy predykcyjnej, analizy zachowania u?ytkownika lub niektórych innych zaawansowanych metod analizy danych, które wydobywaj? warto?? z danych, a rzadko do okre?lonego rozmiaru zestawu danych. Baza danych to zorganizowany zbiór danych, ogólnie przechowywanych i dost?pnych z systemu komputerowego. Tam, gdzie bazy danych s? bardziej z?o?one, cz?sto s? opracowywane przy u?yciu formalnych technik projektowania i modelowania. System zarz?dzania baz? danych (DBMS) to oprogramowanie, które wspó?dzia?a z u?ytkownikami końcowymi, aplikacjami i sam? baz? danych w celu przechwytywania i analizy danych. Oprogramowanie DBMS obejmuje dodatkowo podstawowe narz?dzia do zarz?dzania baz? danych.
Systemy i technologie komputerowe
[edytuj | edytuj kod]Systemy informatyczne (ang. information processing systems) mo?e opisa? jako zbiór powi?zanych ze sob? elementów, które przetwarzaj? informacje, najcz??ciej z wykorzystaniem sprz?tu i oprogramowania komputerowego.
Sztuczna inteligencja
[edytuj | edytuj kod]Sztuczna inteligencja (SI, ang. Artificial intelligence, AI) to obszar informatyki zajmuj?cy si? komputerowym symulowaniem inteligencji – tworzeniem modeli zachowań inteligentnych oraz systemów komputerowych symuluj?cych te zachowania[39][40]. Szczególnym zainteresowaniem darzy si? problemy które nie s? bezpo?rednio algorytmizowalne, jak rozpoznawanie obrazów, t?umaczenie maszynowe czy rozpoznawanie mowy. Sztuczna inteligencja jest zwi?zana z logik? rozmyt?, algorytmami ewolucyjnymi, sieciami neuronowymi, robotyk? i sztucznym ?yciem. SI bywa nazywane tak?e inteligencj? obliczeniow? (ang. Computational Intelligence, CI). Uczeniem maszynowym (ang. Machine learning, ML) nazwa si? analiz? procesów uczenia si? oraz tworzeniem systemów, które doskonal? swoje dzia?anie na podstawie do?wiadczeń z przesz?o?ci. Jedn? z wiod?cych technologii jest TensorFlow[41]. Systemy te posiadaj? zdolno?? do samouczenia si? i nazywa si? je systemami samoucz?cymi. Podstawowymi metodami ML s? symboliczne uczenie si? (nazywane tak?e indukcyjnym, ang. symbolic/inductive learning) oraz sztuczne sieci neuronowe (ang. artificial neural networks)[42]. Nazywa si? tak po??czone grupy w?z?ów, podobne do rozleg?ej sieci neuronów w ludzkim mózgu. G??bokie sieci neuronowe (tak?e g??bokie uczenie maszynowe, ang. deep learning lub differential programming) to podkategoria uczenia maszynowego – nazywa si? tak metody oparte na sztucznych sieciach neuronowych z uczeniem reprezentatywnym (ang. feature learning lub representation learning). Uczenie si? mo?e by? nadzorowane, cz??ciowo nadzorowane lub nienadzorowane[43]. Sztuczne ?ycie (ang. artificial life, AL, niem. Künstliches Leben, KL) to kierunek badań, zorientowany na zrozumienie i wykorzystanie istoty ?ycia. Pomys?odawc? i ojcem chrzestnym tego podej?cia by? amerykański matematyk i informatyk Christopher Langton, który zaproponowa? je w 1986 roku. Dziedzina obejmuje mi?dzy innymi: tworzenie ró?norodnych modeli ?ycia oraz prowadzenie symulacji w ?rodowisku programowym, sprz?towym i biochemicznym, symulacje ewolucji biologicznej oraz innych procesów biologicznych za pomoc? metod informatycznych, badania i symulacje uk?adów niebiologicznych, zachowuj?cych si? podobnie jak uk?ady biologiczne (np. automatów komórkowych), algorytmy ewolucyjne i ewolucj? programów komputerowych.
![]() |
![]() |
![]() |
![]() |
![]() |
Sie? neuronowa | Uczenie maszynowe | TensorFlow | Algorytmy ewolucyjne | Inteligencja rozproszona |
Systemy wbudowane i obliczenia czasu rzeczywistego
[edytuj | edytuj kod]Systemy wbudowane to systemy komputerowe specjalnego przeznaczenia, który staje si? integraln? cz??ci? obs?ugiwanego przez niego sprz?tu komputerowego (hardware). System wbudowany musi spe?nia? okre?lone wymagania ?ci?le zdefiniowane pod k?tem zadań, które ma wykonywa?. Ka?dy system wbudowany oparty jest na mikroprocesorze (lub mikrokontrolerze) zaprogramowanym do wykonywania ograniczonej liczby zadań lub nawet wy??cznie do jednego zadania. W systemach wbudowanych najpopularniejszymi modelami programowymi procesorów s? RISC oparte na zasadach architektury harvardzkiej lub ARM. W systemach czasu rzeczywistego wynik i efekt dzia?ania jest zale?ny od chwili wypracowania tego wyniku. Systemy wbudowane wspó?cze?nie znajduj? zastosowania np. w autonomicznych pojazdach, w internecie rzeczy czy w urz?dzeniach rozrywkowych.
Widzenie komputerowe i rozpoznawanie wzorców
[edytuj | edytuj kod]Rozpoznawanie wzorców (ang. pattern recognition) to pole badawcze w obr?bie uczenia maszynowego. Mo?e by? definiowane jako dzia?anie polegaj?ce na pobieraniu surowych danych i podejmowaniu dalszych czynno?ci zale?nych od kategorii do której nale?? te dane. W rozpoznawaniu wzorców d??y si? do klasyfikacji danych (wzorców) w oparciu o wiedz? aprioryczn? lub o informacje uzyskane na drodze statystycznej analizy danych s?u??cej wydobywaniu cech obiektów. Klasyfikowane wzorce to zazwyczaj grupy wyników pomiaru lub obserwacji definiuj?ce po?o?enie odpowiadaj?cych im punktów w wielowymiarowej przestrzeni cech.
![]() |
![]() |
![]() |
![]() |
![]() |
Computer Vision | Rozpoznawanie mowy | OpenCV | Przetwarzanie j?zyka naturalnego | Analiza skupień |
Przetwarzanie obrazów i mowy
[edytuj | edytuj kod]Sygna?y cyfrowe to strumienie bitów informacji, ich przetwarzanie polega na wykonaniu na nich pewnych operacji oraz ich interpretacja. Do g?ównych zastosowań nale?y przetwarzanie d?wi?ku, kompresja d?wi?ku, segmentacja obrazów, kodowanie wideo, przetwarzanie mowy, rozpoznawanie mowy oraz telekomunikacja cyfrowa.
Gry komputerowe i symulatory
[edytuj | edytuj kod]Gry komputerowe to rodzaj oprogramowania komputerowego przeznaczonego do celów rozrywkowych lub edukacyjnych, wymagaj?ce od u?ytkownika (gracza) rozwi?zywania zadań logicznych lub zr?czno?ciowych. Gry komputerowe mog? by? uruchamiane na komputerach osobistych, specjalnych automatach, konsolach do gry, telewizorach, telefonach komórkowych oraz innych urz?dzeniach mobilnych. Gry, podobnie jak symulacje komputerowe maj? wirtualizowa? pewien fragment rzeczywisto?ci. Zaawansowane gry i symulacje s? pisane w czystych j?zykach programowania, najcz??ciej obiektowych – jak Simula czy C++ lub s? oparte na silnikach jak Unity. Dla mniej wymagaj?cych symulacji powsta?y tak?e uniwersalne programy.
![]() |
![]() |
![]() |
||
Silniki graficzne | Gra symulacyjna | Tworzenie gry komputerowej | Renderowanie | Modelowanie trójwymiarowe |
Interfejsy i interakcje cz?owiek-komputer
[edytuj | edytuj kod]Interakcj? cz?owiek–komputer nazywa si? wzajemne oddzia?ywanie mi?dzy cz?owiekiem a komputerem zachodz?ce poprzez interfejs u?ytkownika, czyli cz??? sprz?tu i oprogramowania zajmuj?c? si? obs?ug? urz?dzeń wej?cia-wyj?cia przeznaczonych dla interakcji z u?ytkownikiem. Istnieje wiele rodzajów interfejsów, s? to m.in. wiersz poleceń, interfejs tekstowy czy interfejs graficzny. Obecnie prowadzone s? intensywne badania nad wirtualn? rzeczywisto?ci?, a tak?e interfejsami mózg-komputer.
![]() |
![]() |
![]() |
![]() |
![]() |
Wiersz poleceń | Rzeczywisto?? wirtualna | Rzeczywisto?? rozszerzona | Interfejs mózg–komputer | User experience |
Technologie webowe, mobilne i multimedia
[edytuj | edytuj kod]Aplikacja internetowa (ang. web application), zwana równie? aplikacj? webow? – program komputerowy, który pracuje na serwerze i komunikuje si? poprzez sie? komputerow? z hostem u?ytkownika komputera z wykorzystaniem przegl?darki internetowej u?ytkownika, b?d?cego w takim przypadku interaktywnym klientem aplikacji internetowej. Od komputerów mobilnych (np. smartfony, tablety) oczekuje si?, ?e mog? by? swobodnie transportowane podczas normalnego u?ytkowania, oraz pozwalaj? na przesy?anie danych, g?osu i wideo. System mobilny, tak?e przetwarzanie mobilne (ang. mobile computing) obejmuje komunikacj? mobiln? oraz sprz?t i oprogramowanie mobilne. Kwestie komunikacyjne obejmuj? sieci ad hoc, infrastruktur? sieci, a tak?e w?a?ciwo?ci komunikacyjne, protoko?y, formaty danych i konkretne technologie. Typowy sprz?t mobilny zawiera cz?sto ró?ne sensory, np. akcelerometry, które s? w stanie wykrywa? i odbiera? sygna?y. Najwa?niejsze mobilne systemy operacyjne to iOS oraz Android Linux, gdzie dominuj? j?zyki Java i Kotlin[44].
Informatyka stosowana
[edytuj | edytuj kod]Informatyka w in?ynierii kosmicznej i satelitarnej, astronomii, nawigacji, geodezji i geografii
[edytuj | edytuj kod]- Geoinformatyka – zajmuje si? numerycznym przetwarzaniem i analizowaniem informacji geograficznej (geoinformacji). Geoinformatyka jest opisywana jako nauka i technika zajmuj?ca si? struktur? i charakterem danych geograficznych, ich przechwytywaniem, klasyfikacj?, przetwarzaniem i wizualizacj?[45]. Do zastosowań geoinformatyki zalicza si? kartografi?, geodezj?, GPS, fotogrametri?, teledetekcj?, analiz? danych przestrzennych, mapowanie i nawigacj?.
- Astroinformatyka – zastosowania informatyki w astronomii[46].
Informatyka w biologii, chemii, medycynie i kognitywistyce
[edytuj | edytuj kod]- Bioinformatyka (z niem. Bioinformatik) – interdyscyplinarna dziedzina obejmujmuj?ca rozwój metod obliczeniowych s?u??cych do badania struktury, funkcji i ewolucji genów, genomów i bia?ek. Ponadto odpowiada za rozwój metod wykorzystywanych do zarz?dzania i analizy informacji biologicznej gromadzonej w toku badań genomicznych oraz badań prowadzonych z zastosowaniem wysokoprzepustowych technik eksperymentalnych[47].
- Chemioinformatyka (z niem. Chemoinformatik), tak?e informatyka chemiczna to nauka zajmuj?ca si? wykorzystaniem informatyki do rozwi?zywania ró?norodnych problemów chemicznych jak np. teoria grafów chemicznych czy badania przestrzeni chemicznej[48][49]. Te techniki, nazywane cz?sto metodami in silico, wykorzystywane s? do przeprowadzania obliczeń w blisko zwi?zanej z ni? chemii obliczeniowej oraz w chemii kwantowej i procesie projektowania leków. Nauka ta znajduje zastosowanie w wielu ga??ziach przemys?u chemicznego do analizy i przetwarzania danych chemicznych.
- Informatyka medyczna – zajmuje si? zbieraniem, przetwarzaniem, przechowywaniem, udost?pnianiem i przesy?aniem danych medycznych oraz metodami tworzenia urz?dzeń i systemów informatycznych wykorzystywanych w medycynie. Informatyka medyczna znajduje zastosowania mi?dzy innymi w systemach wspomagania diagnostyki (np. IBM Watson for Oncology)[50], oprogramowaniu robotów medycznych, systemach rejestracji, przetwarzania i analizy sygna?ów i obrazów medycznych oraz systemach teleinformatycznych dla telemedycyny[51].
- Neuroinformatyka (z niem. Neuroinformatik) znajduje zastosowania w kognitywistyce, przy badaniu przetwarzania informacji przez systemy nerwowe w celu zastosowania ich w systemach technicznych, m.in. w tworzeniu modeli obliczeniowych, narz?dzi analitycznych i baz danych do udost?pniania, integracji i analizy danych eksperymentalnych oraz rozwoju teorii na temat funkcji uk?adu nerwowego. W kontek?cie INCF neuroinformatyka odnosi si? do informacji naukowych na temat podstawowych danych eksperymentalnych, ontologii, metadanych, narz?dzi analitycznych i modeli obliczeniowych uk?adu nerwowego. Informatyka kognitywna tak?e odnosi si? do zastosowań w kognitywistyce[52]. Jednym z najbardziej znanych specjalistów kognitywstyki w Polsce jest W?odzis?aw Duch. Kolejnym powi?zanym obszarem jest informatyka afektywna.
![]() |
![]() |
![]() |
![]() |
![]() |
Bioinformatyka | Genoinformatyka | Neuroinformatyka | Chemioinformatyka | Informatyka afektywna |
Informatyka w przemy?le, mechanice i in?ynierii materia?owej
[edytuj | edytuj kod]- Informatyka przemys?owa – zastosowania informatyki w przemy?le.
- Informatyka mechaniczna, tak?e mechainformatyka (z niem. Maschinenbauinformatik) – zastosowania informatyki w mechanice. Zajmuje si? m.in. informatycznymi aspektami druku 3D, programowania CNC, mechaniki komputerowej, oraz oprogramowaniem do projektowania CAD.
- Informatyka materia?owa – zastosowania informatyki w materia?oznawstwie i in?ynierii materia?owej.
Dalsze zastosowania
[edytuj | edytuj kod]- Informatyka spo?eczna odnosi si? do szeroko rozumianego zwi?zku pomi?dzy technologiami informatycznymi i ?wiatem spo?ecznym. Obejmuje mi?dzy innymi web mining, reality mining, symulacje spo?eczeństw i boty spo?eczne. Przedmiotem zainteresowania badaczy jest tak?e z jednej strony wp?yw informatycznych technologii komunikacyjnych na zmiany spo?eczne i psychologiczne w?ród osób, które z nich korzystaj?. Z drugiej strony badany jest wp?yw zjawisk spo?ecznych na systemy informatyczne, mi?dzy innymi komunikatory, serwisy spo?eczno?ciowe.
- Informatyka ?ledcza – dostarcza cyfrowych ?rodków dowodowych dotycz?cych przest?pstw pope?nionych cyfrowo lub przy u?yciu systemów teleinformatycznych. Jej zadaniami s?: zbieranie, odzyskiwanie, analiza i prezentacja cyfrowych danych, znajduj?cych si? na ró?nego rodzaju no?nikach (dyski twarde komputerów, dyskietki, p?yty CD, pami?ci przeno?ne, serwery, telefony komórkowe itp.), oraz w coraz popularniejszych ostatnio systemach i serwisach zdalnego gromadzenia, przechowywania i przetwarzania danych, takich jak serwisy spo?eczno?ciowe, przestrzeń dyskowa w chmurze czy wyszukiwarki internetowe.
- Informatyka ekonomiczna (czasem okre?lana równie? jako informatyka gospodarcza lub informatyka zarz?dcza) – jej przedmiotem zainteresowania s? systemy informatyczne w organizacjach (szczególnie w przedsi?biorstwach).
Edukacja
[edytuj | edytuj kod]Szko?a podstawowa, liceum i technikum
[edytuj | edytuj kod]W ramach I etapu edukacji (klasy I-III) uczniowie maj? zaj?cia z edukacji informatycznej w ramach edukacji wczesnoszkolnej. Klasy IV-VIII (II etap edukacyjny) realizuj? przedmiot informatyka[53]. Najwa?niejszym celem kszta?cenia informatycznego uczniów jest rozwój umiej?tno?ci my?lenia obliczeniowego (z ang. computational thinking), skupionego na kreatywnym rozwi?zywaniu problemów z ró?nych dziedzin ze ?wiadomym i bezpiecznym wykorzystaniem przy tym metod i narz?dzi wywodz?cych si? z informatyki[54]. Takie podej?cie, rozpocz?te w szkole podstawowej, jest kontynuowane w liceum ogólnokszta?c?cym i technikum zarówno w zakresie podstawowym, jak i rozszerzonym. Przedmiot informatyka jest realizowany przez wszystkich uczniów w ka?dej klasie, pocz?wszy od klasy I szko?y podstawowej i jest kontynuowany w liceum ogólnokszta?c?cym i technikum[54].
Studia wy?sze
[edytuj | edytuj kod]Informatyka jest wyk?adana na uniwersytetach oraz na politechnikach. Na politechnikach programy studiów s? nastawione na zagadnienia in?ynierskie, a na uniwersytetach na zagadnienia naukowe. Istniej? tak?e programy studiów nastawione na praktyczne zastosowania. Z uwagi na ograniczon? liczb? miejsc oraz fakt ?e informatyka jest ch?tnie wybieranym kierunkiem studiów, obowi?zuj? na ni? stosunkowo wysokie progi punktowe. W roku akademickim 2018/2019 zg?osi?o si? 42759 ch?tnych[55]. W najlepszych uczelniach w kraju w pierwszej kolejno?ci s? przyjmowani finali?ci Olimpiady Informatycznej. Spo?ród najlepszych jest wy?aniana reprezentacja Polski na ró?ne mi?dzynarodowe konkursy informatyczne np. Akademickie mistrzostwa ?wiata w programowaniu zespo?owym[56].
Zobacz te?
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ Informatics Europe – Informatics Job Platform [online], www.informatics-europe.org .
- ↑ a b What is informatics? [online]
- ↑ a b c Computer Science as a Profession [online], web.archive.org, 17 czerwca 2008 [dost?p 2025-08-14] [zarchiwizowane z adresu 2025-08-14] .
- ↑ a b National Research Council , Computer Science: Reflections on the Field, Reflections from the Field, 4 pa?dziernika 2004, ISBN 978-0-309-09301-9 [dost?p 2025-08-14] (ang.).
- ↑ Computer Science or Informatics? Wst?p do informatyki [online] .
- ↑ Karolina Wasielewska: Cyfrodziewczyny. Wydawnictwo Krytyki Politycznej, 2020. ISBN 978-83-66232-87-7.
- ↑ Marian Adamski: Informatyka – nauka, sztuka, czy rzemios?o?. ?Uniwersytet Zielonogórski” – Miesi?cznik Spo?eczno?ci Akademickiej, 2025-08-14. [dost?p 2025-08-14].
- ↑ Technische Informatik Studium [online], www.ingenieurwesen-studieren.de [dost?p 2025-08-14] .
- ↑ Informatyka o profilu praktycznym | Uniwersytet Gdański – University of Gdańsk [online], ug.edu.pl [dost?p 2025-08-14] .
- ↑ Praktische Informatik Master of Science (M.Sc.) – FernUniversit?t in Hagen [online], www.fernuni-hagen.de [dost?p 2025-08-14] .
- ↑ Wayback Machine [online], web.archive.org, 25 maja 2006 [dost?p 2025-08-14] [zarchiwizowane z adresu 2025-08-14] .
- ↑ 46. spotkanie – Granice informatyki [online], Filozofia w informatyce, 22 listopada 2017 [dost?p 2025-08-14] .
- ↑ The Joint Task Force for Computing Curricula 2005, Computing Curricula 2005 [online] [zarchiwizowane z adresu 2025-08-14] .
- ↑ CSAB, Inc. [online], www.csab.org [dost?p 2025-08-14] .
- ↑ The Joint Task Force for Computing Curricula , A volume of the Computing Curricula Series [online], web.archive.org, 2015 [dost?p 2025-08-14] [zarchiwizowane z adresu 2025-08-14] .
- ↑ Peter J. Denning , Computer Science: The Discipline [online] .
- ↑ prof.Krzysztof Diks, slajd z wyk?adu, moment 12:28 [online] .
- ↑ Michael Sipser , Wprowadzenie do teorii obliczeń .
- ↑ Computational Complexity: A Modern Approach / Sanjeev Arora and Boaz Barak [online], theory.cs.princeton.edu [dost?p 2025-08-14] .
- ↑ Michael A. Nielsen , Isaac L. Chuang , Quantum Computation and Quantum Information (10th anniversary ed.), 2012, ISBN 978-0-511-99277-3 .
- ↑ IBM zaprezentuje najpot??niejszy na ?wiecie 53-kubitowy komputer kwantowy – NeeWS – GeekWeek.pl [online], www.geekweek.pl [dost?p 2025-08-14] .
- ↑ List, Classic Papers in Programming Languages and Logic [online] .
- ↑ Robert L. Constable , Na?ve Computational Type Theory, Dordrecht: Springer Netherlands, 2002, s. 213–259, DOI: 10.1007/978-94-010-0413-8_7, ISBN 978-1-4020-0608-1 [dost?p 2025-08-14] .
- ↑ Overview of the four main programming paradigms [online], people.cs.aau.dk [dost?p 2025-08-14] .
- ↑ KrishnamurthiShriram, Teaching programming languages in a post-linnaean age, ?ACM SIGPLAN Notices”, 2008, DOI: 10.1145/1480828.1480846 [dost?p 2025-08-14] (ang.).
- ↑ definicje [online], www.iszkowski.eu [dost?p 2025-08-14] .
- ↑ a b TC Modu? 1 – Studia Informatyczne [online], wazniak.mimuw.edu.pl [dost?p 2025-08-14] .
- ↑ TC Modu? 12 – Studia Informatyczne [online], wazniak.mimuw.edu.pl [dost?p 2025-08-14] .
- ↑ Architektura komputerów, wyk?ady [online] .
- ↑ P. Metzger , A. Je?owiecki , Anatomia PC, Helion, 2000 .
- ↑ J. Biernat , Architektura komputerów, Wydawnictwo Politechniki Wroc?awskiej, 2002 .
- ↑ Wyk?ad II. Pami?ci pó?przewodnikowe. Studia stacjonarne in?ynierskie, kierunek INFORMATYKA Architektura systemów komputerowych – PDF Darmowe pobieranie [online], docplayer.pl [dost?p 2025-08-14] .
- ↑ Studia informatyczne MIMUW , Programowanie niskopoziomowe – Modu? 1 [online] .
- ↑ Sieci komputerowe – Studia Informatyczne [online], wazniak.mimuw.edu.pl [dost?p 2025-08-14] .
- ↑ Popularne urz?dzenia sieciowe [online], miroslawzelent.pl [dost?p 2025-08-14] .
- ↑ Zestawienie protoko?ów [online], pasja-informatyki.pl [dost?p 2025-08-14] .
- ↑ Daniel Schatz , Rabih Bashroush , Julie Wall , Towards a More Representative Definition of Cyber Security, ?Journal of Digital Forensics, Security and Law”, 12 (2), 2017, DOI: 10.15394/jdfsl.2017.1476, ISSN 1558-7215 [dost?p 2025-08-14] .
- ↑ Nikola Zlatanov , Computer Security and Mobile Security Challenges [online], 2015 .
- ↑ Katalog Niemieckiej Biblioteki Narodowej , Kontrola Autorytatywna [online], portal.dnb.de [dost?p 2025-08-14] .
- ↑ University of British Columbia , Faculty of Computer Science , Computational Intelligence and Knowledge [online] .
- ↑ Bharath Ramsundar , Reza Bosagh Zadeh , G??bokie uczenie z TensorFlow, 2019, ISBN 978-83-283-5705-1 .
- ↑ Jerzy Stefanowski , Wprowadzenie do maszynowego uczenia si?, Instytut Informatyki, Politechnika Poznańska .
- ↑ Machine learning i deep learning – samoucz?ce systemy. Leksykon 2017 | [online] [dost?p 2025-08-14] (pol.).
- ↑ ?ukasz Majchrzyk , Najpopularniejsze j?zyki programowania (styczeń 2019 r.) [online], mobiRANK.pl, 10 stycznia 2019 [dost?p 2025-08-14] .
- ↑ P.L.N. Raju , Fundamentals of Geographic Information Systems .
- ↑ Kirk D. Borne. Astroinformatics: data-oriented astronomy research and education. ?Earth Science Informatics”. 3 (1–2), s. 5–17, 2025-08-14. DOI: 10.1007/s12145-010-0055-2. (ang.).
- ↑ Jacek B?a?ewicz , Bioinformatyka i jej perspektywy [online], 2011 .
- ↑ Gasteiger J.(Editor) , Engel T.(Editor) , Chemoinformatics: A Textbook, 2004, ISBN 3-527-30681-1 .
- ↑ A.R. Leach , V.J. Gillet , An Introduction to Chemoinformatics, ISBN 1-4020-1347-7 .
- ↑ IBM Watson for Oncology [online] [dost?p 2025-08-14] .
- ↑ Informatyka medyczna to przysz?o?? – WSIiZ wykszta?ci potrzebnych specjalistów! [online], WSIiZ w Rzeszowie [dost?p 2025-08-14] .
- ↑ Wydawnictwo AGH – Podstawy informatyki kognitywnej [online], www.wydawnictwoagh.pl [dost?p 2025-08-14] .
- ↑ Edukcja informatyki w szkole podstawowej – Portal O?wiatowy [online], www.portaloswiatowy.pl [dost?p 2025-08-14] .
- ↑ a b Podstawa programowa – Informatyka – Liceum/technikum [online], podstawaprogramowa.pl [dost?p 2025-08-14] .
- ↑ Wojciech Martyński , Kierunki studiów 2020 (Najlepsze i najbardziej przysz?o?ciowe) [online], InterviewMe, 11 sierpnia 2015 [dost?p 2025-08-14] .
- ↑ Stefan Jackowski , Jak zmienia? si? Wydzia? Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego w latach 1991–2016 .
Linki zewn?trzne
[edytuj | edytuj kod]Computer science (ang.), Routledge Encyclopedia of Philosophy, rep.routledge.com [dost?p 2025-08-14].