Postati programer kumulativni je proces koji iz dana u dan i iz godine u godinu gradi vaše vještine, a programiranje može biti zabavno i korisno (mentalno, duhovno i financijski). Ovaj vodič ne obećava čarobno jednostavan način da postanete programer, a redoslijed koraka nije svetinja, ali ćete dobiti opći prikaz kako postati programer u jednom od modernih programskih područja.
Koraci
Korak 1. Krenite na uvodni tečaj u jednu (ili sve) sljedeće discipline:
- Logika
- Diskretna matematika
- Programski jezik (sudjelujte u različitim programskim paradigmama, počevši od sekvencijalnog/proceduralnog do objektno orijentiranog, nakon funkcionalnog i logičkog programiranja. Poželjno Ruby/Python/Pascal za početnike i nakon dobrog razumijevanja idite dublje u C ++/C#/Java)
SAVJET STRUČNIKA
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
Osnivač pokretanja i inženjerski direktor
Nemojte se osjećati kao da morate steći diplomu kodiranja.
Dok pohađanje tečajeva programskog jezika može biti od pomoći, Gene Linetsky, softverski inženjer i osnivač pokretanja, kaže:"
Korak 2. Naučite koncepte baze podataka kao što su tablice, prikazi/upiti i procedure
Za to možete koristiti bilo koji jednostavan paket baze podataka, na primjer:
- MS Access
- DB V
- Fox Pro
- Paradoks
- MySQL je dobra baza podataka za učenje jer je besplatna, često se koristi i bazama podataka se obično pristupa pomoću SQL upita
Korak 3. Odlučite kakvu vrstu programera želite biti
Programeri općenito spadaju u jednu od sljedećih kategorija:
- Web programer
-
Desktop aplikacijski programer
- Programer orijentiran na operacijski sustav (OS) (vezan za jedan operativni sustav ili skup operativnih sustava)
- Programer neovisan o platformi
- Programer distribuiranih aplikacija
- Knjižnica/platforma/framework/core programer
-
Programer sustava
- Kernel programer
- Programer za upravljačke programe
- Kompilacijski programer
- Znanstvenik programiranja
Korak 4. Naučite tehnologije i programske jezike koji se odnose na vaše programsko područje po izboru
U sljedećim odjeljcima raščlanjeni su zadaci za različite vrste programiranja.
Metoda 1 od 6: Web programiranje
Korak 1. Znajte što web programiranje uključuje
Web aplikacije su softverske komponente dizajnirane za rad na vrhu internetske arhitekture. To znači da se aplikacijama pristupa putem softvera web preglednika, poput Firefoxa ili Internet Explorera. Izgradnja na vrhu internetske arhitekture ne zahtijeva nužno aktivnu vezu s internetom. To znači da su web aplikacije izgrađene na vrhu standardnih web tehnologija, kao što su:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP protokoli
- HTML
- XML
- Hladna fuzija
- ASP
- JSP
- PHP
- ASP. NET
Korak 2. Pregledajte mnoge različite web stranice kako biste saznali kako obično izgledaju
(Desni klik, zatim kliknite Prikaži izvor ili pritisnite F12.) Potražite raznolikost u vrsti/sadržaju web stranice, a ne u količini posjećenih web stranica. Općenito, morat ćete posjetiti barem jednu od svake od sljedećih vrsta web stranica:
- Stranice korporativne prisutnosti (komercijalne korporacije, neprofitne korporacije/organizacije, vladine organizacije)
- Internetski strojevi za indeksiranje (tražilice, meta pretraživačke stranice, specijalizirane tražilice, direktoriji)
- Mjesta za rudarenje podataka
- Osobne web stranice
- Informacijske/enciklopedijske stranice (wikiji, podatkovni listovi, tehničke specifikacije i priručnici s popisima direktorija, blogova i časopisa, web stranica s vijestima i novinskim agencijama, žute stranice itd.)
- Društvene web stranice (društveni portali, oznake, web stranice za bilješke)
- Mjesta za suradnju (ovo uključuje i druge gore navedene kategorije, poput wikija i blogova)
Korak 3. Naučite barem jednu tehniku/metodu brainstorminga i softver koji se koristi za implementaciju te metode
Na primjer: dijagrami brainstorminga i MS Visio.
Korak 4. Upoznajte se sa strukturiranjem web stranice
Time se stvaraju konceptualni web dijagrami, karte web stranica i navigacijske strukture.
Korak 5. Pohađajte kratak tečaj grafičkog dizajna
Pokušajte naučiti barem jedan programski paket za uređivanje/manipulaciju grafikom (izborno, ali se toplo preporučuje)
Korak 6. Naučite osnove internetske infrastrukture
To uključuje stjecanje osnovne ideje o:
- Protokoli osnovnih web usluga (HTTP, FTP, SMTP i POP3 ili IMAP4)
- Softver web poslužitelja (po mogućnosti jedan za platformu na kojoj ćete uglavnom raditi)
- Softver za pregledavanje weba.
- Poslužitelj e -pošte i softver klijenta
Korak 7. Naučite HTML i CSS jezike
Možda biste htjeli nabaviti i programski paket "Ono što vidite je ono što dobijete (WYSIWYG)" za uređivanje HTML -a.
Korak 8. Naučite tehnologije povezane s XML -om i XML -om, kao što su XSL i XPath (izborno, ali se preporučuje)
Korak 9. Izradite jednostavne statičke web stranice dok se ne upoznate i ne snalazite u HTML -u
Korak 10. Naučite skriptni jezik na strani klijenta
Većina korisnika uči JavaScript. Neki uče VBScript, ali to nije kompatibilno s većinom preglednika.
Korak 11. Upoznajte se sa skriptnim jezikom na strani klijenta koji ste naučili
Pokušajte dosegnuti svoj potencijal koristeći samo taj jezik. Idite na sljedeći korak tek nakon što ste se barem upoznali sa jezikom skriptiranja na strani klijenta.
Korak 12. Naučite barem jedan programski jezik na strani poslužitelja
Ako se odlučite ograničiti na jedan poslužiteljski softver, naučite jedan od programskih jezika koje taj softver podržava. Ako ne, naučite barem jedan programski jezik na svakom poslužiteljskom softveru.
Korak 13. Napravite pilot projekt za sebe nakon što završite s učenjem programskog jezika na strani poslužitelja.
Korak 14. Nabavite vlastitu web stranicu i počnite eksperimentirati na svojoj web stranici
Metoda 2 od 6: Programiranje stolnih aplikacija
Korak 1. Znajte u što se upuštate s programiranjem stolnih aplikacija
Većina programera za stolna računala pišu kodove za poslovna rješenja, pa će steći uvid u poduzeća, njihovu organizacijsku i financijsku strukturu uštedjeti vrijeme.
Korak 2. Upoznajte različite arhitekture računalnog hardvera
Uvodni tečaj o dizajnu digitalnih krugova i drugi o arhitekturi računala su korisni; međutim, neki to smatraju naprednim za početnu točku, pa bi čitanje dva ili tri vodička članka (poput ovog i ovog) moglo biti dovoljno. Zatim se možete vratiti na ovaj korak kasnije, nakon što naučite svoj prvi programski jezik.
Korak 3. Naučite početni (dječji) programski jezik
Nemojte se sramiti naučiti takav jezik samo zato što ste stariji nego što vas zovu "klinac". Primjer ovih programskih jezika može biti Scratch. Ovi programski jezici mogu iznimno olakšati bol pri učenju vašeg prvog programskog jezika. Međutim, ovaj korak nije obavezan. To se također može učiniti prije prethodnog koraka.
Korak 4. Upoznajte se s proceduralnim, objektno orijentirano, i paradigme funkcionalnog programiranja.
Korak 5. Krenite na uvodni tečaj u jednom od proceduralnih programskih jezika
Bez obzira koji jezik kasnije odabrali da bude vaš jezik, to će zahtijevati proceduralno programiranje na nekoj razini. Također, većina programera smatra da je proceduralno programiranje najlakše koristiti kao polazište za dobivanje ideje o programiranju općenito.
Korak 6. Naučite barem jednu naprednu tehniku modeliranja, poput UML -a ili ORM -a
Korak 7. Počnite pisati neke male konzole ili aplikacije slične konzoli
Možete se koristiti uobičajenim malim vježbama u knjigama o programskim jezicima. Za to odaberite alat za pisanje programa na programskom jeziku na kojem pišete.
Korak 8. Krenite na napredniji tečaj u odabranom programskom jeziku
Pobrinite se da dobro razumijete sljedeće koncepte i da ih možete relativno lako primijeniti prije nego nastavite:
- Unos i izlaz informacija korisnicima programa.
- Logički tijek i tijek izvođenja programa u proceduralnim jezicima.
- Deklariranje, dodjeljivanje i usporedba varijabli.
- Programiranje grananja konstrukcija kao što je if.. then..else i select/switch..case.
- Petlje konstrukcija kao što su while..do, do.. while/until, for..next.
- Vaša sintaksa programskog jezika za kreiranje i pozivanje procedura i funkcija.
- Vrste podataka i manipulacija njima.
- Korisnički definirani tipovi podataka (zapisi/strukture/jedinice) i njihova uporaba.
- Ako vaš jezik podržava funkcije preopterećenja, razumite ga.
- Metode pristupa memoriji po vašem izboru (pokazivači, zavirivanje itd.)
- Ako vaš jezik podržava preopterećenje operatora, razumite ga.
- Ako vaš jezik podržava delegate/pokazivače funkcija, razumite ga.
Korak 9. Primijenite napredne tehnike koje ste naučili
Korak 10. Krenite na uvodni tečaj barem još jednog programskog jezika u drugoj programskoj paradigmi
Preporučuje se naučiti jedan programski jezik za svaku paradigmu, a većina naprednih programera to čini, međutim, obično započnete s jednim, radite neko vrijeme primjenjujući svoje znanje i uvježbavajući ga, a zatim kasnije naučite drugi, nakon što ste već imali pravi -životno iskustvo u programiranju. Isprobajte jedno od sljedećih jezičnih područja:
- Paradigma logičkog programiranja.
- Paradigma funkcionalnog programiranja.
- Objektno orijentirana paradigma.
Korak 11. Pokušajte usporediti dva programska jezika koja ste do sada naučili
Procijenite snage i slabosti svakog od njih. Obično to rade:
- Uzimanje jednostavnih uzoraka vašeg ranog rada u prvom programskom jeziku i njegovo ponovno pisanje pomoću drugog programskog jezika.
- Izradite novi projekt i pokušajte ga implementirati koristeći oba jezika. Ponekad, ovisno o izboru projekta i jezika, možda nećete moći provesti projekt na jednom od jezika!
- Pisanje usporednih tablica ili usporednih tablica usporedbi između sličnih konstrukata u dva jezika i karakteristika jedinstvenih za svaki od jezika.
- Pokušajte pronaći načine za oponašanje značajki koje su jedinstvene za jedan od dva jezika pomoću drugog jezika.
Korak 12. Naučite koncepte vizualnog programiranja koristeći jedan od jezika koje ste naučili
Gotovo svi programski jezici imaju verzije/knjižnice koje podržavaju vizualno programiranje, a drugi podržavaju programiranje na konzoli ili konzoli. To se može postići:
- Upoznajte se s programiranjem na temelju događaja. Većina vizualnog programiranja oslanja se na određenoj razini na rukovanje događajima i događajima (koristeći programski jezik koji odaberete).
- Isprobajte što više softvera za stolna računala i shvatite što softver radi. Većina tvrtki za razvoj softvera nudi beta-testiranje verzija svojih proizvoda koje možete koristiti za testiranje softvera. Budite u tijeku s napretkom korisničkog sučelja.
- Pročitajte neke članke ili vodiče o grafičkim korisničkim sučeljima.
Korak 13. Počnite primjenjivati svoje znanje na malim softverskim projektima koje osmišljavate
Pokušajte svoju programsku stručnost primijeniti na probleme s kojima se susrećete u svakodnevnom životu. Na primjer, pišite programe koji masovno preimenuju datoteke, vizualno uspoređuju tekstualne datoteke, kopiraju nazive datoteka u direktoriju u memoriju/tekstualnu datoteku i slično. U početku neka bude jednostavno.
Korak 14. Izradite virtualni diplomski projekt
Dovršite ovo do kraja, primjenjujući tehnike vizualnog programiranja koje ste do sada naučili.
Korak 15. Proširite svoje razumijevanje vizualnog okvira/biblioteke/paketa koje ste ranije naučili pohađanjem naprednih tečajeva, obraćajući dodatnu pozornost na detalje i učeći više savjeta i trikova za svoj okvir iz internetskih izvora
Korak 16. Potražite druge pakete/knjižnice vizualnih elemenata za svoje programske jezike i naučite ih
Korak 17. Pohađajte tečaj grafike (ne grafičkog dizajna)
To će biti od velike pomoći programerima koji žele napisati privlačne elemente korisničkog sučelja.
Korak 18. Razmislite o tome da postanete programer igara (izborno)
Programiranje igara se u većini svojih dijelova smatra stolnim programiranjem. Ako namjeravate postati programer igara, morat ćete naučiti više o programiranju igara nakon što dovršite ove korake. Grafički tečaj neophodan je programerima igara, a drugi jezik po izboru u prethodnim koracima trebao bi biti logički/funkcionalni programski jezik (po mogućnosti Prolog ili Lisp).
Metoda 3 od 6: Programiranje distribuiranih aplikacija
Korak 1. Bavite se programiranjem distribuiranih aplikacija
Programiranje distribuiranih aplikacija mnogi smatraju jednim od najtežih za učenje i zahtijevaju različito znanje o računalnim i komunikacijskim tehnologijama.
Korak 2. Upoznajte se brzo sa telefonskim sustavima i njihovim hardverom
Ovaj korak nije obavezan. Međutim, vrlo je korisno za razumijevanje mrežnih topologija.
Korak 3. Upoznajte se s mrežnim hardverskim arhitekturama i uređajima kao što su čvorišta, sklopke i usmjerivači
Korak 4. Pohađajte tečaj o mrežnim protokolima i osnovama
Prije početka programiranja distribuiranih aplikacija potrebno vam je dobro razumijevanje modela povezivanja otvorenih sustava (OSI), Etherneta, IP -a, TCP -a, UDP -a i HTTP -a.
Korak 5. Naučite XML jezik i upoznajte se s njim
Korak 6. Započnite učenjem skriptnog jezika ljuske
Za programiranje zasnovano na sustavu Windows to bi bila bilo koja skripta koja radi s Windows Scripting Hostom. Za programiranje temeljeno na Linuxu bit će dovoljne Bash skripte i Perl. JavaScript se jako preporučuje za to na obje platforme iz sljedećih razloga:
- Podržava ga gotovo bilo koji skriptni host u bilo kojem operativnom sustavu (Windows Scripting Host podržava JavaScript prema zadanim postavkama, većina distribucija Linuxa ima paket za podršku za JavaScript skriptu za podršku).
- Mnogi programeri smatraju da je to lakše naučiti.
- Ima sintaksu izvedenu iz ALGOL -a koja vas upoznaje s mnogo više drugih programskih jezika kada trebate odabrati drugi programski jezik (C, C ++, C#, Java i J# svi imaju sintaksu izvedenu iz ALGOL -a).
- Učeći JavaScript, upoznajete se sa skriptiranjem web stranica na strani klijenta, što je bonus nuspojava!
Korak 7. Najprije primijenite samo proceduralno programiranje koristeći odabrani skriptni jezik
Kasnije možete koristiti naprednije programske tehnike i paradigme u skladu sa svojim skriptnim jezikom i onim što podržava. Svi skriptni jezici na određenoj razini imaju neke aspekte proceduralnog programiranja.
Korak 8. Koristite skriptirani jezik koji ste naučili za pisanje skripti koje obavljaju komunikaciju između strojeva
Naučite što je potrebno za to. Jednostavna komunikacija bit će dovoljna.
Korak 9. Napravite prijenos na desktop skriptni/programski jezik
Po mogućnosti, jezik s više paradigmi, poput Pythona. Uzmite jednostavan uvod u taj drugi jezik. Većinu programera Java smatra jezikom izbora iz mnogo razloga. Međutim, C# na ovom polju brzo dobiva zamah. Java i C# preferirani su iz sljedećih razloga:
- To su objektno orijentirani programski jezici koji programere u velikim timovima štite od detalja implementacije jer oboje podržavaju komponente (jedinice koda, unaprijed sastavljene, koje izvode određeni zadatak i mogu se koristiti u drugim programima).
- Oni podržavaju programiranje na temelju događaja, kao i OO i proceduralno programiranje na nekoj razini.
- Okvir na kojem je jezik izgrađen prirodno je distribuiran (u slučaju Jave).
- Dostupnost mnogih gotovih paketa koji se bave umrežavanjem, i kao kod otvorenog koda i ugrađeni paketi okvira; to programerima olakšava nadogradnju na rad drugih.
Korak 10. Koncentrirajte se više na osnovne značajke jezika, osobito na one koje podržavaju umrežavanje
Obratite manje pažnje na elemente korisničkog sučelja kao što su ispisivanje, dizajn i tehnike prozora te elementi korisničkog sučelja.
Korak 11. Pohađajte tečaj o dizajnu i arhitekturi distribuiranih aplikacija
To se može učiniti pomoću knjiga, internetskih vodiča ili akademskih tečajeva. Međutim, potrebno je razumjeti arhitekturu distribuiranih aplikacija i njezine koncepte.
Korak 12. Saznajte o izgradnji servisiranih komponenti i usluga pomoću programskog jezika po izboru
Korak 13. Naučite jednu ili više sljedećih tehnologija
Preporučuje se da ih barem upoznate sa svima. Većina distribuiranih aplikacijskih programera ne zaustavlja se na jednom ili dva programska jezika, već nauči barem jedan programski jezik na svakom operacijskom sustavu. To je zato što ako želite da se vaša aplikacija "distribuira", trebali biste navesti njezinu verziju barem za svaki veći operacijski sustav.
- Arhitektura posrednika zahtjeva za zajedničke objekte (CORBA)
- Protokol za jednostavan pristup objektima (SOAP)
- Asinkroni JavaScript i XML (AJAX)
- Model distribuirane komponente (DCOM)
- . NET Remoting
- XML web usluge
Metoda 4 od 6: Knjižnica/platforma/okvir/osnovno programiranje
Korak 1. Znajte što je temeljno programiranje
Osnovni programeri samo su napredni programeri koji su prešli s programskih aplikacija na programske programske jedinice koje će koristiti drugi programeri.
Korak 2. Naučite programski jezik koji podržava izgradnju komponenti/paketa za višekratnu uporabu, ako to već niste učinili
Korak 3. Krenite na napredni tečaj UML -a i ORM -a
Većina programera knjižnica koristi jedno ili oboje.
Korak 4. Pohađajte tečaj softverskog inženjeringa
Korak 5. Naučite barem modularne, komponentno temeljene, objektno orijentirane i programske tehnike i koncepte vođene događajima
Što više programskih paradigmi i jezika obuhvatite, to ćete biti uspješniji kao programer knjižnica/paketa.
Korak 6. Saznajte više o različitim operativnim sustavima i programskim okvirima koje podržavaju ovi operacijski sustavi
Korak 7. Usredotočite svoje napore na učenje na okvire neovisne o platformi, programske jezike i tehnologije
Korak 8. Ako programski jezici koje ste do sada naučili imaju ANSI/ISO/IEEE/Standardne verzije W3C, savladajte standarde.
Pokušajte koristiti standardni kod kad god je to moguće.
Korak 9. Pokušajte oponašati jednostavne, već uspostavljene knjižnice, osobito one otvorenog koda
To je korisno tijekom rane faze postajanja programera biblioteke/paketa. Počnite s jednostavnim paketima poput pretvaranja jedinica i srednjih paketa znanstvenih izračuna. Ako ste student, iskoristite svoje tečajeve koji nisu programiranje pokušavajući implementirati njihove jednadžbe i znanstvenu jezgru kao knjižnice.
Korak 10. Potražite i isprobajte pakete otvorenog koda u svom području programiranja
Prvo preuzmite binarne datoteke/izvršne datoteke paketa. Pokušajte ga koristiti i pronađite njegove jake i slabe strane. Nakon što to učinite, preuzmite izvor i pokušajte shvatiti kako je to učinjeno. Pokušajte ponovno stvoriti te knjižnice ili njihove dijelove. U početku to činite nakon što vidite kôd, a kasnije i prije nego vidite kôd. U kasnijim fazama pokušajte poboljšati te knjižnice.
Korak 11. Naučite različite pristupe koji se koriste za distribuciju i implementaciju komponenti programerima
- Obično programeri knjižnica/paketa imaju tendenciju rekurzivno i/ili iterativno razmišljati o svim problemima s kojima se susreću. Pokušajte svaki problem zamisliti kao skup manjih problema (niz jednostavnijih zadataka) ili kao ponovljeni proces smanjenja opsega problema na manje opsege, a zatim ih nagomilavati jedan na drugi.
- Programeri knjižnica/paketa skloni su generaliziranju. Odnosno, kada im se predstavi jednostavan specifičan problem, obično razmišljaju o općenitijem problemu i pokušavaju riješiti taj opći problem koji će automatski riješiti manji.
Metoda 5 od 6: Programiranje sustava
Korak 1. Shvatite što programiranje sustava podrazumijeva
Programeri sustava bave se znanošću programiranja, a ne njenom specifičnom implementacijom. Nemojte se vezati za određenu platformu.
Korak 2. Slijedite prva tri koraka za programere desktop aplikacija
Korak 3. Krenite na uvodni tečaj linearne algebre
Korak 4. Pohađajte tečaj računanja
Korak 5. Pohađajte tečaj logike i/ili diskretne matematike
Korak 6. Predstavite se različitim golim operativnim sustavima
To se može učiniti na sljedeći način:
- Dobivanje ideje o načinu instaliranja operativnih sustava.
- Naučiti instalirati različite operativne sustave na jedno računalo (izborno, ali preporučeno).
- Instaliranje više operativnih sustava. Nemojte instalirati nikakve pakete pomoći na sustave; umjesto toga, koristite gole funkcionalnosti koje pružaju operacijski sustavi.
Korak 7. Pohađajte tečaj (ili alternativno, čitajte knjige) o arhitekturi računalnog hardvera
Korak 8. Razviti razumijevanje različitih računalnih hardverskih platformi
Korak 9. Upoznajte se s asemblerskim jezikom hardverske platforme/operacijskog sustava po izboru
Kasnije ćete naučiti sastavljanje drugih platformi/sustava.
Korak 10. Naučite jezike ANSI C i C ++, zajedno s konceptima proceduralnog programiranja
Korak 11. Shvatite i uvježbajte standardne biblioteke C/C ++ na platformi po izboru
Obratite posebnu pozornost na Standardnu biblioteku predložaka (STL) i možda na aktivnu knjižnicu predložaka (ATL).
Korak 12. Pretražite internetske izvore, knjige i tečajeve kako biste stekli uvid u C-okus vaše posebne platforme
Korak 13. Vježbajte stvaranje naprednog koda s C i C ++
Korak 14. Saznajte više o naprednijoj montaži
Korak 15. Pohađajte tečaj o dizajnu operacijskih sustava
Korak 16. Pronađite i pročitajte dokumentaciju za svoju platformu po izboru
To će biti lakše ako odaberete operacijski sustav temeljen na Unixu. Vrlo dobro shvatite sustav s kojim ćete kasnije raditi.
Korak 17. Vježbajte stečeno znanje
Prvo stvorite male pomoćne programe sustava. Obično je korisno:
- Pokušavate ponovno stvoriti male alate koji su već na vašem sustavu.
- Pokušavate prenijeti uslužne programe dostupne u drugim operativnim sustavima na svoj.
Korak 18. Učite jezike najkorisnijim redoslijedom
Ovo je jedino mjesto gdje je prvi programski jezik važan. Prvo naučite ANSI C, ne C ++, ne C#, ne Java i ne D. Zatim naučite C ++.
-
Ograničavanje prvog jezika samo na C i C je zato što programiranje sustava zahtijeva da programer bude upoznat sa sljedećim pojmovima:
- Prava i potpuna kompilacija izvornog koda.
- Izlazne datoteke objekata niske razine.
- Povezivanje binarnih datoteka.
- Programiranje na strojnom jeziku/montaži na niskoj razini. Za neke se kaže da je jezik C prikriven/lakši za učenje. Također podržava umetanje koda asemblerskog jezika u kôd kad god želite i samo je proceduralno (poput montaže).
Metoda 6 od 6: Znanost programiranja
Korak 1. Znajte što programer radi
Znanstvenici u programiranju vrlo su napredni programeri koji umjesto na razvoju aplikacija rade na razvoju računalnih tehnologija kao što su šifriranje, programski jezici i algoritmi za rudarenje podataka. Ova se razina rijetko postiže bez akademskog studija i predanosti.
Korak 2. Akumulirajte znanstveno znanje ekvivalentno četverogodišnjem stupnju računarstva
To se može učiniti na sljedeći način:
- Uzimanje stvarne akademske diplome (što se obično događa).
- Dobivanje nacrta tečajeva za takvu diplomu s jednog od modernih sveučilišta i pohađanje tečajeva samostalnim učenjem ili kao zasebni kolegiji. To bi se teoretski moglo postići, ali preporučeni put je prvi.
Korak 3. Odlučite o području specijalnosti
Što konkretnije, to bolje. To ovisi o vašim željama. Međutim, ovdje je popis nekih od glavnih tema računalnog programiranja:
- Dizajn algoritma (pretraživanje, sortiranje, šifriranje, dešifriranje i otkrivanje grešaka u komunikaciji su neki primjeri)
- Programski jezici/dizajn prevoditelja/optimizacija
- Polja umjetne inteligencije (prepoznavanje uzoraka, prepoznavanje govora, obrada prirodnog jezika, neuronske mreže)
- Robotika
- Znanstveno programiranje
- Super računanje
- Računalno podržano projektiranje/modeliranje (CAD/CAM)
- Virtualna stvarnost
- Računalna grafika (Računarska grafika obično se pogrešno miješa s grafičkim dizajnom ili dizajnom grafičkog korisničkog sučelja. Računalna grafika je polje proučavanja načina predstavljanja i manipuliranja grafikom u računalnim sustavima.)
Korak 4. Razmislite o stjecanju više akademske diplome
Možda biste željeli magistrirati ili doktorirati.