Stát se programátorem je kumulativní proces, který každý den a rok od roku zvyšuje vaše dovednosti a programování může být zábavné a obohacující (mentálně, duchovně i finančně). Tato příručka neslibuje magicky snadný způsob, jak se stát programátorem, a řazení kroků není posvátné, ale získáte obecný přehled o tom, jak se stát programátorem v jednom z moderních programovacích oborů.
Kroky
Krok 1. Udělejte úvodní kurz v jedné (nebo ve všech) následujících disciplínách:
- Logika
- Diskrétní matematika
- Programovací jazyk (zúčastněte se různých programovacích paradigmat, počínaje sekvenčním/procedurálním až objektově orientovaným, po funkčním a logickém programování. Preferovaný Ruby/Python/Pascal pro začátečníky a po dobrém porozumění přejděte hlouběji do C ++/C#/Java)
ODBORNÁ TIP
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
Gene Linetsky, MS
Zakladatel a technický ředitel spouštění
Nebojte se, že byste museli získat titul v oboru kódování.
Zatímco může být užitečné absolvovat kurzy v programovacím jazyce, Gene Linetsky, softwarový inženýr a zakladatel startupů, říká:"
Krok 2. Naučte se pojmy databáze, jako jsou tabulky, pohledy/dotazy a postupy
K tomu můžete použít jakýkoli jednoduchý databázový balíček, například:
- MS Access
- DB V
- Fox Pro
- Paradox
- MySQL je dobrá databáze k učení, protože je zdarma, běžně se používá a k databázím se běžně přistupuje pomocí dotazů SQL
Krok 3. Rozhodněte se, jaký typ programátora chcete být
Programátoři obecně spadají do jedné z následujících kategorií:
- Webový programátor
-
Desktopový programátor aplikací
- Programátor orientovaný na operační systém (OS) (vázaný na jeden operační systém nebo sadu operačních systémů)
- Programátor nezávislý na platformě
- Programátor distribuovaných aplikací
- Knihovna/platforma/framework/základní programátor
-
Systémový programátor
- Programátor jádra
- Programátor ovladačů
- Programátor kompilátoru
- Vědec programování
Krok 4. Naučte se technologie a programovací jazyky související s vámi zvoleným programovacím polem
Následující části rozdělují úkoly pro různé typy programování.
Metoda 1 ze 6: Webové programování
Krok 1. Zjistěte, co programování webu obnáší
Webové aplikace jsou softwarové komponenty navržené tak, aby fungovaly nad rámec internetové architektury. To znamená, že aplikace jsou přístupné prostřednictvím softwaru webového prohlížeče, jako je Firefox nebo Internet Explorer. Postavení nad architekturou internetu nevyžaduje nutně aktivní připojení k internetu. To znamená, že webové aplikace jsou postaveny na standardních webových technologiích, jako jsou:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP protokoly
- HTML
- XML
- Studená fúze
- ASP
- JSP
- PHP
- ASP. NET
Krok 2. Procházejte mnoho různých webů, abyste se dozvěděli, jak obvykle vypadají
(Klikněte pravým tlačítkem, potom klikněte na Zobrazit zdroj nebo stiskněte F12.) Hledejte rozmanitost v typu/obsahu webu, nikoli v počtu navštívených webů. Obecně budete muset navštívit alespoň jeden z následujících typů webů:
- Firemní zastoupení (komerční korporace, neziskové korporace/organizace, vládní organizace)
- Webové indexovací stroje (vyhledávače, meta vyhledávací weby, specializované vyhledávače, adresáře)
- Stránky pro těžbu dat
- Osobní stránky
- Informační/encyklopedické stránky (wiki, datové listy, technické specifikace a příručky obsahující seznamy adresářů, blogy a časopisy, weby zpravodajských a zpravodajských agentur, žluté stránky atd.)
- Sociální weby (sociální portály, stránky se záložkami, stránky s poznámkami)
- Společné weby (to zahrnuje další výše uvedené kategorie, například wiki a blogy)
Krok 3. Naučte se alespoň jednu techniku/metodu brainstormingu a software, který se používá k implementaci této metody
Například: diagramy brainstormingu a MS Visio.
Krok 4. Seznamte se se strukturováním webových stránek
To vytváří koncepční webové diagramy, mapy stránek a navigační struktury.
Krok 5. Absolvujte nárazový kurz grafického designu
Zkuste se naučit alespoň jeden softwarový balíček pro úpravu/manipulaci s grafikou (volitelný, ale důrazně doporučený)
Krok 6. Naučte se základy internetové infrastruktury
To zahrnuje získání základní představy o:
- Základní protokoly webových služeb (HTTP, FTP, SMTP a POP3 nebo IMAP4)
- Software webového serveru (nejlépe jeden pro platformu, na které budete většinou pracovat)
- Software pro procházení webu.
- E -mailový server a klientský software
Krok 7. Naučte se jazyky HTML a CSS
Možná budete chtít také získat softwarový balíček „What You See Is What You Get (WYSIWYG)“pro úpravu HTML.
Krok 8. Naučte se XML a technologie související s XML, jako je XSL a XPath (volitelné, ale doporučené)
Krok 9. Vytvářejte jednoduché statické webové stránky, dokud nebudete obeznámeni s HTML a nebudete se v něm vyznat
Krok 10. Naučte se skriptovací jazyk na straně klienta
Většina uživatelů se učí JavaScript. Někteří se učí VBScript, ale to není kompatibilní s většinou prohlížečů.
Krok 11. Seznamte se se skriptovacím jazykem na straně klienta, který jste se naučili
Pokuste se dosáhnout svého potenciálu pouze pomocí tohoto jazyka. K dalšímu kroku přejděte až poté, co se alespoň seznámíte se svým skriptovacím jazykem na straně klienta.
Krok 12. Naučte se alespoň jeden programovací jazyk na straně serveru
Pokud se rozhodnete omezit na jeden serverový software, naučte se jeden z programovacích jazyků, které tento software podporuje. Pokud ne, naučte se alespoň jeden programovací jazyk pro každý serverový software.
Krok 13. Vytvořte pilotní projekt poté, co se naučíte programovací jazyk na straně serveru.
Krok 14. Získejte vlastní webové stránky a začněte online experimentovat na své vlastní stránce
Metoda 2 ze 6: Programování desktopových aplikací
Krok 1. Zjistěte, do čeho jdete s programováním desktopových aplikací
Většina desktopových programátorů píše kód pro obchodní řešení, takže získat představu o firmách, jejich organizační a finanční struktuře bude velkou úsporou času.
Krok 2. Seznamte se s různými architekturami hardwaru počítače
Užitečný je úvodní kurz v oblasti návrhu digitálních obvodů a další v počítačové architektuře; někteří to však považují za pokročilé ve výchozím bodě, takže by stačilo přečíst si dva nebo tři výukové články (například tento a tento). K tomuto kroku se pak můžete vrátit později, poté, co se naučíte svůj první programovací jazyk.
Krok 3. Naučte se programovací jazyk vstupní úrovně (pro děti)
Nebojte se naučit se takový jazyk jen proto, že jste starší, než by se vám říkalo „dítě“. Příkladem těchto programovacích jazyků může být Scratch. Tyto programovací jazyky mohou zmírnit bolest při osvojování si prvního programovacího jazyka. Tento krok je však volitelný. To lze také provést před předchozím krokem.
Krok 4. Získejte úvod do procedurálního řízení, objektově orientovaný, a paradigmata funkčního programování.
Krok 5. Absolvujte úvodní kurz v jednom z procedurálních programovacích jazyků
Bez ohledu na to, jaký jazyk si později vyberete jako svůj zvolený jazyk, bude vyžadovat procedurální programování na určité úrovni. Také procedurální programování uvádí většina programátorů jako nejjednodušší použití jako výchozí bod k získání představy o programování obecně.
Krok 6. Naučte se alespoň jednu pokročilou modelovací techniku, jako je UML nebo ORM
Krok 7. Začněte psát nějakou malou konzoli nebo konzole podobné aplikace
V knihách programovacích jazyků můžete využít běžná malá cvičení. K tomu si vyberte nástroj pro psaní programů v programovacím jazyce, ve kterém píšete.
Krok 8. Absolvujte pokročilejší kurz ve zvoleném programovacím jazyce
Než budete pokračovat, ujistěte se, že dobře rozumíte následujícím pojmům a že je můžete relativně snadno aplikovat:
- Zadávání a vydávání informací uživatelům programu.
- Logický tok a tok provádění programů v procedurálních jazycích.
- Deklarace, přiřazování a porovnávání proměnných.
- Větvení programovacích konstrukcí, jako je if..then..else a select/switch..case.
- Smyčkové konstrukce jako while..do, do.. while/until, for..next.
- Syntaxe vašeho programovacího jazyka pro vytváření a volání procedur a funkcí.
- Datové typy a manipulace s nimi.
- Uživatelem definované datové typy (záznamy/struktury/jednotky) a jejich použití.
- Pokud váš jazyk podporuje funkce přetížení, porozumějte mu.
- Metody přístupu do paměti vašeho zvoleného jazyka (ukazatele, pokukování atd.)
- Pokud váš jazyk podporuje přetížení operátorů, pochopte to.
- Pokud váš jazyk podporuje delegáty/ukazatele funkcí, rozumějte mu.
Krok 9. Použijte pokročilé techniky, které jste se naučili
Krok 10. Udělejte úvodní kurz v alespoň jednom dalším programovacím jazyce v jiném programovacím paradigmatu
Doporučuje se naučit se jeden programovací jazyk každého paradigmatu a většina pokročilých programátorů ano, ale obvykle začínáte s jedním, chvíli pracujete, aplikujete své znalosti a procvičujete je, pak se ten druhý naučíte později, poté, co už máte skutečný -životní zkušenosti s programováním. Zkuste jednu z následujících jazykových oblastí:
- Paradigma logického programování.
- Paradigma funkcionálního programování.
- Objektově orientované paradigma.
Krok 11. Zkuste porovnat dva programovací jazyky, které jste se dosud naučili
Vyhodnoťte silné a slabé stránky každého z nich. Obvykle to provádí:
- Vezměte jednoduché ukázky své rané práce v prvním programovacím jazyce a přepište jej pomocí druhého programovacího jazyka.
- Vytvořte nový projekt a zkuste jej implementovat pomocí obou jazyků. Někdy v závislosti na vašem výběru projektu a jazyků nemusí být možné implementovat projekt v jednom z jazyků!
- Psaní cheat-listu nebo souhrnné tabulky srovnání mezi podobnými konstrukty ve dvou jazycích a funkce jedinečné pro každý z jazyků.
- Zkuste najít způsoby, jak napodobit funkce, které jsou jedinečné pro jeden ze dvou jazyků, pomocí druhého jazyka.
Krok 12. Naučte se koncepty vizuálního programování pomocí jednoho z jazyků, které jste se naučili
Téměř všechny programovací jazyky mají verze/knihovny, které podporují vizuální programování a jiné podporují konzolu nebo programování podobné konzole. Toho lze dosáhnout:
- Získejte úvod do programování řízeného událostmi. Většina vizuálních programů se do určité míry spoléhá na události a zpracování událostí (pomocí zvoleného programovacího jazyka).
- Vyzkoušejte co nejvíce softwaru pro stolní počítače a porozumějte tomu, co software dělá. Většina společností zabývajících se vývojem softwaru nabízí beta verze svých produktů, které můžete použít k testování softwaru. Mějte aktuální informace o vylepšeních uživatelského rozhraní.
- Přečtěte si nějaké články nebo návody na grafická uživatelská rozhraní.
Krok 13. Začněte aplikovat své znalosti na malé softwarové projekty, které navrhujete
Zkuste aplikovat své znalosti programování na problémy, se kterými se setkáváte ve svém každodenním životě. Můžete například psát programy, které hromadně přejmenovávají soubory, vizuálně porovnávají textové soubory, kopírují názvy souborů v adresáři do paměťového/textového souboru a podobné věci. Nejprve to zjednodušte.
Krok 14. Vytvořte virtuální promoční projekt
Dokončete to až do konce a použijte techniky vizuálního programování, které jste se dosud naučili.
Krok 15. Rozšiřte své chápání vizuálního rámce/knihovny/balíčku, který jste se dříve naučili, tím, že se zúčastníte pokročilých kurzů, věnujete zvláštní pozornost detailům a naučíte se další tipy a triky pro svůj rámec z online zdrojů
Krok 16. Vyhledejte další balíčky/knihovny vizuálních prvků pro vaše programovací jazyky a naučte se je
Krok 17. Udělejte si kurz grafiky (ne grafického designu)
Bude to velmi užitečné pro programátory, kteří chtějí psát atraktivní prvky uživatelského rozhraní.
Krok 18. Zvažte možnost stát se herním programátorem (volitelně)
Programování her je ve většině částí považováno za programování na ploše. Pokud se chcete stát herním programátorem, budete se muset po dokončení těchto kroků dozvědět více o programování her. Grafický kurz je pro herní programátory nutností a druhým jazykem, který jste si vybrali v předchozích krocích, by měl být logický/funkční programovací jazyk (nejlépe Prolog nebo Lisp).
Metoda 3 ze 6: Programování distribuovaných aplikací
Krok 1. Řešit programování distribuovaných aplikací
Distribuované programování aplikací je mnohými považováno za jedno z nejnáročnějších na učení a vyžaduje různorodé znalosti v oblasti počítačových a komunikačních technologií.
Krok 2. Rychle se seznamte s telefonními systémy a jejich hardwarem
Tento krok je volitelný. Je však velmi užitečný v porozumění topologii sítě.
Krok 3. Seznamte se se síťovými hardwarovými architekturami a zařízeními, jako jsou rozbočovače, přepínače a směrovače
Krok 4. Absolvujte kurz síťových protokolů a základů
Než začnete programovat distribuované aplikace, musíte dobře porozumět modelu Open Systems Interconnection (OSI), ethernetu, IP, TCP, UDP a
Krok 5. Naučte se jazyk XML a seznamte se s ním
Krok 6. Začněte tím, že se naučíte skriptovací jazyk shell
Pro programování na bázi Windows by to byl jakýkoli skript, který funguje s Windows Scripting Host. Pro programování založené na Linuxu budou stačit Bash skripty a Perl. K tomu je na obou platformách důrazně doporučován JavaScript z následujících důvodů:
- Je podporován téměř jakýmkoli skriptovacím hostitelem v jakémkoli operačním systému (Windows Scripting Host standardně podporuje JavaScript, většina distribucí Linuxu má balíček pro podporu skriptovací konzoly JavaScript).
- Mnoho vývojářů to považuje za snazší se naučit.
- Má syntaxi odvozenou od ALGOL, která vás seznámí s mnohem více dalšími programovacími jazyky, když potřebujete zvolit druhý programovací jazyk (C, C ++, C#, Java a J# mají syntaxi odvozenou od ALGOL).
- Naučením se JavaScriptu se seznámíte se skriptováním webových stránek na straně klienta, což je bonusový vedlejší efekt!
Krok 7. Nejprve použijte pouze procedurální programování pomocí zvoleného skriptovacího jazyka
Později můžete použít pokročilejší programovací techniky a paradigmata podle skriptovacího jazyka a toho, co podporuje. Všechny skriptovací jazyky mají na určité úrovni určité procedurální programovací aspekty.
Krok 8. Použijte skriptovací jazyk, který jste se naučili, k psaní skriptů, které provádějí komunikaci mezi počítači
Zjistěte, co je k tomu nutné. Jednoduchá komunikace bude stačit.
Krok 9. Proveďte převod do skriptovacího/programovacího jazyka pro stolní počítače
Výhodně je to jazyk s více paradigmaty, jako je Python. Udělejte si jednoduchý úvod do toho druhého jazyka. Java je většinou programátorů považována za zvolený jazyk z mnoha důvodů. C# však v této oblasti rychle nabírá na obrátkách. Java a C# jsou upřednostňovány z následujících důvodů:
- Jsou to objektově orientované programovací jazyky, které chrání programátory ve velkých týmech před detaily implementace, protože oba podporují komponenty (jednotky kódu, předkompilované, které provádějí určitý úkol a lze je použít v jiných programech).
- Podporují programování založené na událostech, stejně jako OO a procedurální programování na určité úrovni.
- Rámec, na kterém je jazyk postaven, je distribuován od přírody (v případě Javy).
- Dostupnost mnoha hotových balíčků, které se zabývají sítí, jako open-source kód a integrované rámce balíčků; to programátorům usnadňuje stavět na práci ostatních.
Krok 10. Soustřeďte se více na základní funkce jazyka, zejména na ty, které podporují vytváření sítí
Věnujte menší pozornost prvkům uživatelského rozhraní, jako je výstup, design a techniky oken a prvky uživatelského rozhraní.
Krok 11. Absolvujte kurz o návrhu a architektuře distribuovaných aplikací
To lze provést pomocí knih, online tutoriálů nebo akademických kurzů. Pochopení architektury distribuovaných aplikací a jejích konceptů je však nezbytné.
Krok 12. Přečtěte si o budování servisních komponent a služeb pomocí zvoleného programovacího jazyka
Krok 13. Naučte se jednu nebo více z následujících technologií
Doporučuje se, abyste se se všemi alespoň seznámili. Většina distribuovaných programátorů aplikací se nezastaví u jednoho nebo dvou programovacích jazyků, ale naučí se alespoň jeden programovací jazyk pro každý operační systém. Důvodem je, že pokud chcete, aby vaše aplikace byla „distribuována“, měli byste poskytnout její verzi alespoň pro každý hlavní operační systém.
- Common Object Request Broker Architecture (CORBA)
- Simple Object Access Protocol (SOAP)
- Asynchronní JavaScript a XML (AJAX)
- Objektový model distribuovaných komponent (DCOM)
- Vzdálená komunikace. NET
- Webové služby XML
Metoda 4 ze 6: Knihovna/platforma/rámec/základní programování
Krok 1. Zjistěte, co je základní programování
Základní programátoři jsou pouze pokročilí programátoři, kteří provedli přenos z programovacích aplikací do programovacích kódových jednotek, které mají používat jiní programátoři.
Krok 2. Naučte se programovací jazyk, který podporuje vytváření opakovaně použitelných komponent/balíčků, pokud jste tak ještě neučinili
Krok 3. Absolvujte pokročilý kurz UML a ORM
Většina vývojářů knihoven používá jeden nebo oba.
Krok 4. Absolvujte kurz softwarového inženýrství
Krok 5. Naučte se alespoň modulární, komponentní, objektově orientované a událostmi řízené programovací techniky a koncepty
Čím více programovacích paradigmat a jazyků pokryjete, tím budete úspěšnější jako programátor knihoven/balíčků.
Krok 6. Zjistěte více o různých operačních systémech a programovacích rámcích podporovaných těmito operačními systémy
Krok 7. Zaměřte své učení na rámce, programovací jazyky a technologie nezávislé na platformě
Krok 8. Pokud programovací jazyky, které jste se dosud naučili, mají ANSI/ISO/IEEE/Standardní verze W3C, zvládněte standardy.
Pokuste se použít standardní kód, kdykoli je to možné.
Krok 9. Zkuste napodobit jednoduché, již zavedené knihovny, zejména open-source
To je užitečné v rané fázi stávání se programátorem knihoven/balíčků. Začněte s jednoduchými balíčky, jako jsou převody jednotek a balíčky pro pokročilé vědecké výpočty. Pokud jste vysokoškolák, využijte svých neprogramovacích kurzů tím, že se pokusíte implementovat jejich rovnice a vědecké jádro jako knihovny.
Krok 10. Vyhledejte a vyzkoušejte balíčky open source ve svém oboru programování
Nejprve stáhněte binární soubory/spustitelné soubory balíčku. Zkuste ji využít a najít její silné i slabé stránky. Až to uděláte, stáhněte si zdroj a zkuste zjistit, jak to bylo provedeno. Zkuste tyto knihovny nebo jejich části znovu vytvořit. Nejprve to udělejte poté, co jste viděli kód, a později, než uvidíte kód. V pozdějších fázích zkuste tyto knihovny vylepšit.
Krok 11. Naučte se různé přístupy používané k distribuci a nasazení komponent programátorům
- Programátoři knihoven/balíčků mají obvykle tendenci myslet rekurzivně a/nebo iterativně na všechny problémy, se kterými se setkávají. Pokuste se každý problém považovat za soubor menších problémů (sled jednodušších úkolů) nebo za opakovaný proces redukce rozsahu problému na menší rozsahy a poté hromadění těchto rozsahů na sebe.
- Programátoři knihoven/balíků mají tendenci zobecňovat. To znamená, že když je jim předložen jednoduchý konkrétní problém, obvykle je napadne obecnější problém a pokusí se vyřešit obecný problém, který automaticky vyřeší ten menší.
Metoda 5 ze 6: Programování systému
Krok 1. Pochopte, co programování systému obnáší
Systémoví programátoři se zabývají vědou o programování, nikoli jeho konkrétními implementacemi. Nevazujte se na konkrétní platformu.
Krok 2. Postupujte podle prvních tří kroků pro programátory desktopových aplikací
Krok 3. Absolvujte úvodní kurz lineární algebry
Krok 4. Udělejte si kurz v kalkulu
Krok 5. Absolvujte kurz logiky a/nebo diskrétní matematiky
Krok 6. Představte se s různými holými operačními systémy
To lze provést:
- Získání představy o tom, jak jsou nainstalovány operační systémy.
- Naučte se instalovat různé operační systémy na jeden počítač (volitelné, ale doporučené).
- Instalace více než jednoho operačního systému. Neinstalujte do systémů žádné pomocné balíčky; místo toho použijte holé funkce poskytované operačními systémy.
Krok 7. Absolvujte kurz (nebo alternativně čtěte knihy) o architektuře počítačového hardwaru
Krok 8. Rozvíjet porozumění různým platformám počítačového hardwaru
Krok 9. Získejte úvodní seznámení s jazykem sestavení zvolené hardwarové platformy/operačního systému
Později se naučíte sestavování dalších platforem/systémů.
Krok 10. Naučte se jazyky ANSI C a C ++ spolu s koncepty procedurálního programování
Krok 11. Porozumět a procvičovat standardní knihovny C/C ++ na zvolené platformě
Věnujte zvláštní pozornost knihovně standardních šablon (STL) a možná knihovně aktivních šablon (ATL).
Krok 12. Vyhledejte online zdroje, knihy a kurzy, abyste porozuměli chuti C vaší konkrétní platformy
Krok 13. Procvičte si vytváření pokročilého kódu v jazycích C a C ++
Krok 14. Naučte se pokročilejší sestavení
Krok 15. Absolvujte kurz v oblasti návrhu operačních systémů
Krok 16. Najděte a přečtěte si dokumentaci vaší konkrétní platformy, kterou si vyberete
To bude snazší, pokud zvolíte operační systém založený na Unixu. Pochopte systém, se kterým budete později pracovat, velmi dobře.
Krok 17. Procvičte si získané znalosti
Nejprve vytvořte malé systémové nástroje. Obvykle je užitečné:
- Pokoušíte se znovu vytvořit malé nástroje, které již ve vašem systému jsou.
- Pokoušíte se portovat nástroje dostupné v jiných operačních systémech do vašeho.
Krok 18. Učte se jazyky v nejužitečnějším pořadí
Toto je jediné místo, kde záleží na prvním programovacím jazyce. Nejprve se naučte ANSI C, ne C ++, ne C#, ne Java a ne D. Pak se naučte C ++.
-
Omezení prvního jazyka pouze na C a C je proto, že programování systémů vyžaduje, aby byl programátor obeznámen s následujícími pojmy:
- Skutečná a úplná kompilace zdrojového kódu.
- Výstupní soubory nízkoúrovňových objektů.
- Propojení binárních souborů.
- Programování strojového jazyka/sestavení na nízké úrovni. Říká se, že jazyk C je některými maskovanou/snadněji naučitelnou montáží. Podporuje také vkládání kódu jazyka sestavení do kódu, kdykoli chcete, a je pouze procedurální (jako sestavení).
Metoda 6 ze 6: Věda o programování
Krok 1. Vědět, co dělá programátor
Vědci z programování jsou velmi pokročilí programátoři, kteří místo práce na vývoji aplikací pracují na vývoji výpočetních technologií, jako je šifrování, programovací jazyky a algoritmy dolování dat. Této úrovně se jen zřídka dosáhne bez akademického studia a obětavosti.
Krok 2. Shromážděte vědecké znalosti ekvivalentní čtyřletému titulu z počítačové vědy
To lze provést buď:
- Získání skutečného akademického titulu (což se obvykle stává).
- Získání obrysů kurzů pro takový stupeň z jedné z moderních univerzit a absolvování kurzů buď samostudiem, nebo jako samostatné kurzy. Toho by bylo možné dosáhnout teoreticky, ale doporučená cesta je první.
Krok 3. Rozhodněte obor
Čím konkrétnější, tím lepší. To závisí na vašich preferencích. Zde je však seznam některých hlavních témat počítačové vědy:
- Návrh algoritmu (několik příkladů je vyhledávání, třídění, šifrování, dešifrování a detekce chyb v komunikaci)
- Programovací jazyky/návrh kompilátoru/optimalizace
- Pole umělé inteligence (rozpoznávání vzorů, rozpoznávání řeči, zpracování přirozeného jazyka, neuronové sítě)
- Robotika
- Vědecké programování
- Super výpočetní výkon
- Počítačem podporovaný návrh/modelování (CAD/CAM)
- Virtuální realita
- Počítačová grafika (Počítačová grafika je obvykle mylně zaměňována s grafickým designem nebo návrhem grafického uživatelského rozhraní. Počítačová grafika je obor, jak reprezentovat a manipulovat s grafikou v počítačových systémech.)
Krok 4. Zvažte získání vyššího akademického titulu
Možná budete chtít pokračovat v magisterském nebo doktorském studiu.