Nástin informatiky - Outline of computer science
Počítačová věda (také zvaný počítačová věda) je studium teoretických základů informace a výpočet a jejich implementace a aplikace v počítač systémy. Jeden dobře známý systém klasifikace předmětů pro informatiku je ACM Computing Classification System vymyslel Sdružení pro výpočetní techniku.
Co je počítačová věda?
Počítačovou vědu lze popsat jako všechny následující:
Podpole
Matematické základy
- Teorie kódování - Užitečné v sítích a dalších oblastech, kde počítače navzájem komunikují.
- Herní teorie - Užitečné v umělé inteligenci a kybernetika.
- Diskrétní matematika
- Teorie grafů - Základy pro datové struktury a vyhledávací algoritmy.
- Matematická logika – Logická logika a další způsoby modelování logické dotazy; použití a omezení formálních důkazních metod
- Teorie čísel - Teorie celá čísla. Použito v kryptografie stejně jako testovací doména v umělá inteligence.
Algoritmy a datové struktury
- Algoritmy - Postupné a paralelní výpočetní postupy pro řešení široké škály problémů.
- Datové struktury - Organizace a manipulace s údaji.
Umělá inteligence
- Umělá inteligence - Implementace a studium systémů, které vykazují autonomní inteligenci nebo vlastní chování.
- Automatické uvažování - Řešení motorů, jaké se používají v Prolog, které vytvářejí kroky k výsledku vzhledem k dotazu na databázi faktů a pravidel a automatizované věty provers tento cíl dokázat matematické věty za pomoci programátora.
- Počítačové vidění - Algoritmy pro identifikaci trojrozměrných objektů z dvourozměrného obrázku.
- Měkké výpočty, použití nepřesných řešení pro jinak extrémně obtížné problémy:
- Strojové učení - Automatické vytváření sady pravidel a axiomů na základě vstupu.
- Evoluční výpočetní technika - Biologicky inspirované algoritmy.
- Zpracování přirozeného jazyka - Budování systémů a algoritmů, které analyzují, rozumějí a generují přirozené (lidské) jazyky.
- Robotika - Algoritmy pro řízení chování robotů.
Komunikace a bezpečnost
- Síťování - Algoritmy a protokoly pro spolehlivou komunikaci dat mezi různými sdílenými nebo vyhrazenými médii, často včetně oprava chyb.
- Zabezpečení počítače - Praktické aspekty zabezpečení počítačových systémů a počítačových sítí.
- Kryptografie - Aplikuje výsledky ze složitosti, pravděpodobnosti, algebry a teorie čísel na vynález a rozbít kódy a analyzovat zabezpečení kryptografické protokoly.
Počítačová architektura
- Počítačová architektura - Návrh, organizace, optimalizace a ověření počítačového systému, většinou o CPU a Paměť subsystém (a sběrnice, která je spojuje).
- Operační systémy - Systémy pro správu počítačových programů a poskytující základ použitelného systému.
Počítačová grafika
- Počítačová grafika - Algoritmy jak pro syntetické generování vizuálních obrazů, tak pro integraci nebo změnu vizuálních a prostorových informací vzorkovaných ze skutečného světa.
- Zpracování obrazu - Určení informací z obrázku pomocí výpočtu.
- Informační vizualizace - Metody pro reprezentaci a zobrazení abstraktních dat pro usnadnění lidské interakce za účelem průzkumu a porozumění.
Souběžné, paralelní a distribuované systémy
- Paralelní výpočty - Teorie a praxe simultánních výpočtů; bezpečnost dat v jakémkoli multitaskingovém nebo multithreadovém prostředí.
- Souběžnost (počítačová věda) - Výpočet s využitím více souběžných podprocesů provádění, vymýšlení algoritmů pro řešení problémů na více procesorech pro dosažení maximálního zrychlení ve srovnání s postupným prováděním.
- Distribuované výpočty - Výpočet pomocí více výpočetních zařízení v síti k dosažení společného cíle nebo úkolu, čímž se sníží latence v příspěvcích jednoho procesoru pro jakýkoli úkol.
Databáze
- Relační databáze - teoretická množina a algoritmický základ databází.
- Strukturované úložiště - nerelační databáze jako např NoSQL databáze.
- Dolování dat - Studium algoritmů pro vyhledávání a zpracování informací v dokumentech a databázích; úzce souvisí s vyhledávání informací.
Programovací jazyky a překladače
- Teorie překladačů - Teorie překladač design, založený na Teorie automatů.
- Programovací jazyk pragmatika - Taxonomie programovacích jazyků, jejich silné a slabé stránky. Rozličný paradigmata programování, jako objektově orientované programování.
- Teorie programovacího jazyka
- Formální sémantika - pečlivé matematické studium významu programů.
- Teorie typů - Formální analýza typů dat a použití těchto typů k pochopení vlastností programů - zejména bezpečnosti programů.
Vědecké výpočty
- Výpočetní věda - budování matematické modely a kvantitativní analýza techniky a používání počítačů k analýze a řešení vědecký problémy.
- Numerická analýza - Přibližné numerické řešení matematických úloh jako např hledání kořenů, integrace, řešení obyčejných diferenciálních rovnic; aproximace speciální funkce.
- Symbolický výpočet - Manipulace a řešení výrazů v symbolické formě, známé také jako Počítačová algebra.
- Výpočetní fyzika - Numerické simulace velkých neanalytických systémů
- Výpočetní chemie - Výpočetní modelování teoretické chemie za účelem stanovení chemických struktur a vlastností
- Bioinformatika a Výpočetní biologie - Využití výpočetní techniky k údržbě, analýze a ukládání biologické údaje a pomáhat při řešení biologických problémů, jako je Skládání bílkovin, predikce funkce a Fylogeneze.
- Výpočetní neurověda - Výpočtové modelování neurofyziologie.
Softwarové inženýrství
Nástin softwarového inženýrství
- Formální metody - Matematické přístupy k popisu a uvažování o návrhu softwaru.
- Softwarové inženýrství - Principy a postupy navrhování, vývoje a testování programů a správné technické postupy.
- Návrh algoritmu - Používání nápadů z teorie algoritmů ke kreativnímu navrhování řešení skutečných úkolů.
- Programování - Praxe používání programovacího jazyka k implementaci algoritmů.
- Interakce člověka s počítačem - Studie a návrh počítačových rozhraní, která lidé používají.
- Reverzní inženýrství - Aplikace vědecké metody na pochopení libovolného existujícího softwaru.
Teorie výpočtu
- Teorie automatů - Různé logické struktury pro řešení problémů.
- Teorie vypočítatelnosti - Co lze vypočítat u současných modelů počítačů. Důkazy vytvořené uživatelem Alan Turing a další poskytují vhled do možností, co lze vypočítat a co ne.
- Teorie výpočetní složitosti - Základní hranice (zejména čas a úložný prostor) u tříd výpočtů.
- Kvantové výpočty theory - Explores computational models involved kvantová superpozice bitů.
Dějiny
Povolání
- Programátor
- Učitel /Profesor
- Softwarový inženýr
- Softwarový architekt
- Vývojář softwaru
- Softwarový tester
- Inženýr hardwaru
- Analytik dat
- Návrhář interakcí
- Správce sítě
Data a datové struktury
- Datová struktura
- Datový typ
- Asociativní pole a Hašovací stůl
- Pole
- Seznam
- Strom
- Tětiva
- Matrix (počítačová věda)
- Databáze
Programovací paradigmata
- Imperativní programování /Procedurální programování
- Funkcionální programování
- Logické programování
- Objektově orientované programování
Viz také
externí odkazy
- Nástin informatiky na Curlie
- ACM zpráva o doporučeném osnově informatiky (2008)
- Adresář bezplatných univerzitních přednášek v informatice
- Sbírka bibliografií počítačových věd
- Fotografie počítačových vědců (Bertrand Meyer galerie)