Een programmeur worden is een cumulatief proces waarbij je dag na dag en jaar na jaar vaardigheden opbouwt in een leuk en lonend vakgebied (intellectueel, mentaal en financieel). Deze gids belooft je geen magische manier om gemakkelijk programmeur te worden en de volgorde van de stappen is niet heilig, maar je krijgt wel een algemeen overzicht van hoe je een programmeur kunt worden binnen een van de moderne terreinen van het vakgebied.
Stappen
-
Neem een introductiecursus in één (of alle) van de volgende disciplines:
- Logica
- Discrete wiskunde
- Programmeertalen (bij voorkeur C++/ Java/ Python voor beginners)
TIP VAN EEN DESKUNDIGEOprichter van startups en technisch directeurGene Linetsky is oprichter van startups en softwareontwikkeleaar in de San Francisco Bay Area. Hij werkt al meer dan 30 jaar in de technologiebranche en is technisch directeur bij Poynt, een technologiebedrijf dat slimme transactiesystemen voor bedrijven maakt.Denk niet dat je een studie moet gaan volgen om programmeur te worden. Het kan nuttig zijn om vakken in een programmeertaal te volgen, maar Gene Linetsky, software-engineer en oprichter van start-ups, zegt: 'Er valt over te discussiëren of een programmeeropleiding nu helpt of niet. Probeer het programmeren in plaats daarvan als een soort van stage te zien--het gaat er vooral om dat je leert van je fouten.'
-
Leer databaseconcepten zoals tabellen, views/queries en procedures. Je kunt hiervoor elk eenvoudig databasepakket gebruiken, zoals:
- MS Access
- DB V
- Fox Pro
- Paradox
- MySQL is een goede database om te leren want het is gratis, wordt veel gebruikt en worden veel benaderd middels SQL queries
-
Beslis wat voor soort programmeur je wilt worden. Programmeurs vallen meestal onder de volgende categorieën:
- Web programmeur
- Programmeur van desktop toepassingen
- Besturingssysteem (OS) geörienteerd programmeur(tied to a single besturingssysteem or set of besturingssystemen)
- Platform-onafhankelijk programmeur
- Programmeur van gedistribueerde toepassingen
- Library/platform/framework/core programmeur
- Systeemprogrammeur
- Kernel programmeur
- Programmeur van stuurprogramma's
- Compilerprogrammeur
- Informaticus (wetenschappelijk)
-
Leer de technologieën en programmeertalen die gerelateerd zijn aan het programmeerveld van je keuze. De volgende secties bespreken de taken voor verschillende typen van programmering.Advertentie
-
Wat houdt web programmeren in. Webapplicaties zijn softwareonderdelen die zijn ontworpen om te werken aan de top van de internet-architectuur. Dit betekent dat de toepassingen toegankelijk zijn via browsersoftware zoals Firefox of Internet Explorer. Gebouwd zijn voor de top van de internetarchitectuur betekent niet noodzakelijkerwijs dat een actieve verbinding met het internet vereist. Het betekent dat webapplicaties zijn gebouwd op de top van standaard webtechnologieën zoals:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IIP-protocollen
- HTML
- XML
- Coldfusion
- ASP
- JSP
- PHP
- ASP.NET
-
Bekijk diverse websites om te leren hoe ze er over het algemeen uitzien. (Klik met de rechtermuisknop en klik vervolgens op View Source of druk op F12.) Zoek naar diversiteit in het type/content van de website, niet het aantal website dat je bekijkt. Over het algemeen zal je tenminste 1 van elk van de volgende type websites moeten bekijken:
- Corporate presence sites (commerciële bedrijven, non-profit bedrijven/organisaties, overheidsorganisaties)
- Web-indexing engines (zoekmachines, meta zoeksites, gespecialiseerde zoekmachines, directories)
- Datamining sites
- Persoonlijke sites
- Informatieve/encyclopedische pagina's (wiki's, informatiebladen, technische specificaties en handleidingen, blogs en dagboeken, nieuws en sites van persbureaus, gouden gids, enz.)
- Sociale media (sociale portalen, bookmarking sites, sites voor het maken van aantekeningen)
- Samengestelde websites (hierbij inbegrepen andere categorieën zoals wiki's en blogs)
-
Leer tenminste één brainstorming techniek/methode en software gebruikt om die methode te implementeren. Bijvoorbeeld: brainstormschema's en MS Visio.
-
Leer hoe je een website opzet. Hierbij maak je conceptuele webdiagrammen, sitemaps en navigatiestructuren.
-
Volg een korte cursus grafisch ontwerp. Probeer in ieder geval één beeldbewerkingsprogramma te leren gebruiken (optioneel, maar sterk aanbevolen)
-
Leer de basis van de internet infrastructuur. Dit heeft onder andere te maken met een globaal idee van:
- Onderliggende Webservices protocollen (HTTP, FTP, SMTP, and POP3 or IMAP4)
- Webserver software (bij voorkeur voor het platform waarmee je meestal werkt)
- Webbrowsing software.
- E-mailserver en clientsoftware
-
Leer HTML en CSS. Ook is het verstandig om een 'What You See Is What You Get (WYSIWYG)' softwarepakket voor het bewerken van HTML te leren gebruiken.
-
Leer XML en XML gerelateerde technologieën, zoals XSL en XPath (optioneel maar aanbevolen).
-
Maak eenvoudige statische website tot je bekend bent en gemakkelijk omgaat met HTML.
-
Leer een client-side scripttaal. De meeste gebruikers leren JavaScript. Sommige leren VBScript, but dit is niet compatible met de meeste browsers.
-
Zorg dat je kunt werken met de client-side scripttaal die je hebt geleerd. Probeer je potentieel te bereiken met alleen die taal. Ga alleen dan verder met de volgende stap tot je op z'n minst bekend bent met de client-side scripttaal.
-
Leer in ieder geval 1 server-side programmeertaal. Als je jezelf wilt beperken tot 1 vorm van server software, leer dan één van de programmeertalen die door die software worden ondersteund. Zo niet, leer dan tenminste één programmeertaal voor elke server software.
-
Maak een proefproject voor jezelf na het leren van de server-side programmeertaal.
-
Zorg dat je beschikt over een eigen website en begin met online te experimenteren op je eigen pagina.Advertentie
-
Weet wat je jezelf op de hals haalt als je bezig gaat met het programmeren van desktop applicaties. De meeste van deze programmeurs schrijven code voor zakelijke toepassingen, dus is het verstandig om een idee te hebben van de zakelijke omgeving, hun organisatie- en financiële structuur, zodat je veel tijd kunt besparen.
-
Leer meer over de verschillende hardware-architecturen van computers. Een introductiecursus digitale elektronica en andere computerarchitectuur is handig; maar dit kan wat te veel zijn om mee te beginnen, dus kan het lezen van een aantal inleidende tutorials (zoals deze en deze ) eerst volstaan. Je kunt terugkeren naar deze stap, nadat je een eerste programmeertaal hebt geleerd.
-
Leer een instap-programmeertaal. [1] X Bron Voel je niet te goed om een dergelijke taal te leren omdat je geen kind meer bent. Een voorbeeld van een dergelijke programmeertaal is Scratch. Deze programmeertalen kun de leercurve wat minder stijl maken als je net begint. Maar deze stap blijft optioneel. Je kunt dit ook doen voor de vorige stap.
-
Volg een introductie in procedureel, object-georiënteerd en functioneel programmeren.
-
Volg een introductiecursus in een procedurele programmeertaal . Ongeacht de taal die je kiest in een later stadium, je zal er op een zeker niveau procedureel programmeren voor nodig hebben. Ook wordt procedureel programmeren beschouwd als het gemakkelijkst om mee te beginnen bij het krijgen leren begrijpen wat programmeren is.
-
Leer in ieder geval één gevorderde vorm van modelleren, zoals UML of ORM.
-
Begin met het schrijven van een paar kleinen console- of console-achtige applicaties. Je kunt gebruik maken van de oefeningen in boeken over programmeren. Gebruik hiervoor een programmeeromgeving geschikt voor de programmeertaal van je keuze.
-
Volg een cursus voor gevorderden in de gekozen programmeertaal. Zorg dat je de onderstaande concepten goed begrijpt en dat je deze met relatief gemak kunt toepassen voor je verder gaat:
- Invoer en uitvoer van gegevens van en naar gebruikers van het programma.
- De logica en de volgorde van bewerkingen van procedurele programma's.
- Declareren, toewijzen en vergelijken van variabelen.
- Constructies als If..then..else en Select/switch..case.
- Lusconstructies zoals While..do, Do..while/until, For..next.
- De syntax van je programmeertaal voor het maken en aanroepen van procedures en functies.
- Datatypen en het manipuleren ervan.
- Door de gebruiker gedefinieerde datatypen (records/structs/units) en hoe ze te gebruiken.
- Als je taal overloading functies gebruikt, probeer die dan te begrijpen.
- De manier waarop je programmeertaal het geheugen aanspreekt (pointers, peeking, etc.)
- Als je taal operators overloading, probeer dat dan te begrijpen.
- Als je taal delegates/function pointers gebruikt, begrijp hoe het werkt.
-
Pas de geavanceerde technieken toe die je hebt geleerd.
-
Volg een introductiecursus in tenminste 1 of meer programmeertalen in een ander programmeer paradigma. Het is aan te bevelen om 1 programmeertaal van elk paradigma te leren, en de meeste gevorderde programmeurs doen dat ook. Maar meestal begin je met één taal, werk je daar een tijd mee om je kennis toe te passen en te oefenen, waarna je een volgende leert. Probeer één van de volgende programmeersoorten:
- Logisch programmeren.
- Functioneel programmeren.
- Object-georiënteerde paradigma's.
-
Probeer de volgende twee programmeertalen die je hebt geleerd met elkaar te combineren. Weeg de sterke en zwakke punten tegen elkaar af. Meestal doe je het volgende:
- Neem eenvoudige voorbeelden van je eerdere werk in de eerste programmeertaal en herschrijf dit met je tweede programmeertaal.
- Creëer een nieuw project en probeer deze in beide talen te implementeren. Soms, afhankelijk van het project en de taal, zal het niet mogelijk zijn om een project uit te voeren!
- Schrijf een cheatsheet of overzichtstabel met vergelijkingen tussen soortgelijke constructies in de twee talen en functies die uniek zijn voor elk van de talen.
- Proberen manieren te vinden om functies na te bootsen die uniek zijn voor één van de twee talen met behulp van de andere taal.
-
Leer visuele programmeerconcepten met behulp van een van de talen die je geleerd hebt. Bijna alle programmeertalen hebben versies/bibliotheken die ondersteuning bieden voor visuele programmering en anderen ondersteunen console of console-achtige programmering. Dit kan worden bereikt door het volgende te doen:
- Zorg dat je een introductie krijgt in event-driven programmeren. Het meeste visuele programmeren is op zekere hoogte afhankelijk van events en event handling (met behulp van de gekozen programmeertaal).
- Probeer zo veel desktopsoftware als je kunt en leer begrijpen wat de software doet. De meeste softwarebedrijven bieden betaversies van hun producten die je kunt gebruiken om de software te testen. Probeer de ontwikkeling van gebruikersinterfaces bij te houden.
- Lees artikelen of tutorials over grafische gebruikersinterfaces.
-
Begin met het toepassen van je kennis door kleine softwareprojecten te ontwerpen. Probeer je programmeerervaring uit op problemen waarmee je in het dagelijkse leven te maken krijgt. Bijvoorbeeld het schrijven van programma's die grote aantallen bestandsnamen tegelijkertijd kan wijzigen, tekstbestanden visueel vergelijkt, de namen van bestanden in een directory naar het geheugen of een tekstbestand kopieert, enz. Houd het eerst eenvoudig.
-
Maak een virtueel 'afstudeerproject'. Vul dit aan tot het einde, met toepassing van de technieken voor visuele programmering die je tot nu toe hebt geleerd.
-
Verbreedt je begrip van het visuele framework/bibliotheek/pakket dat je geleerd hebt voordat je verder gaat met meer gevorderde cursussen, en besteed extra aandacht aan details en het leren van meer tips en trucs voor je framework van online bronnen.
-
Zoek naar andere pakketten/bibliotheken van visuele elementen voor je programmeertalen en leer daarmee omgaan.
-
Volg een cursus in graphics (niet grafisch ontwerp). Dit zal zeer nuttig zijn voor programmeurs die aantrekkelijke gebruikersinterface-elementen willen schrijven.
-
Worden een games programmeur (optioneel). Games programmeren wordt beschouwd, in de meeste gevallen, als desktop programmeren. Als je van plan bent om een game-programmeur te worden, moet je meer te leren over het programmeren van games na het volgen van deze stappen. Een grafische cursus is een must voor game-programmeurs en de tweede taal van keuze in de vorige stappen moet een logische/functionele programmeertaal zijn (bij voorkeur Prolog of Lisp).Advertentie
-
Begrijp wat het programmeren gedistribueerde toepassingen is. Distributed application programmeren wordt door velen beschouwd als het moeilijkste om te leren en vereist kennis van diverse computer en communicatietechnologieën.
-
Volg een snelle introductiecursus in telefoniesystemen en aanverwante hardware. De stap is optioneel. Maar het is erg handig als je netwerktopologieën wilt leren begrijpen.
-
Maak jezelf vertrouwd met netwerk-architectuur en apparaten zoals hubs, switches en routers.
-
Volg een cursus in netwerkprotocollen en de essentie ervan. Je hebt een goed begrip nodig van het Open Systems Interconnection (OSI) model, Ethernet, IP, TCP, UDP en HTTP voor je distributed applications kunt gaan programmeren.
-
Leer XML maak jezelf er vertrouwd mee.
-
Begin met het leren van een shell scripttaal. Onder Windows zou dat elk script zijn dat werkt met de Windows Scripting Host. Onder Linux zijn dat Bash scripts en Perl. JavaScript wordt sterk aanbevolen voor beide systemen, om de volgende redenen:
- Het wordt ondersteund door bijna elke scripting host in welk besturingssysteem dan ook (Windows Scripting Host ondersteund JavaScript standaard, de meeste Linux distributies hebben een pakket voor JavaScript scripting console ondersteuning).
- Het wordt door veel ontwikkelaars beschouwd als gemakkelijker om te leren.
- Het heeft een van ALGOL afgeleide syntax waardoor je sneller vertrouwd raakt met andere programmeertalen als je een tweede programmeertaal gaat kiezen (C, C++, C#, Java en J#zijn allemaal afgeleid van de ALGOL syntax).
- Door het leren van JavaScript raak je bekend met client-side scripting van webpagina's, wat meteen een bonus is!
-
Begin met procedureel programmeren met behulp van de scripttaal van je voorkeur. Later kun je meer geavanceerde programmeertechnieken gaan gebruiken en paradigma's afhankelijk van je scripttaal en wat het ondersteund. Alle scripttalen hebben wel een bepaalde aspecten van procedureel programmeren.
-
Gebruik de scripttaal die je geleerd hebt, om scripts te schrijven die communicatie tussen machines uitvoeren. Leer wat nodig is om dat te doen is. Eenvoudige communicatie volstaat.
-
Maak de overstap naar desktopscripts/programmeertalen. Bij voorkeur een die een multi-paradigmataal is zoals Python. Volg een eenvoudige inleiding tot die tweede taal. Java wordt gezien door de meeste programmeurs als de taal van keuze om vele redenen. Maar, C#wint op dit gebied snle terrein. Java en C#verdienen de voorkeur om de volgende redenen:
- Het zijn objectgeoriënteerde programmeertalen die programmeurs in grote teams afschermen van implementatiedetails omdat beide componenten ondersteunt (blokken code, gecompileerd, die een bepaalde taak uitvoeren en kunnen worden gebruikt in andere programma's).
- Zij ondersteunen gebeurtenis-gedreven (event-driven) programmering, naast OO en procedurele programmering tot op zekere hoogte.
- Het framework waarop de taal is gebouwd wordt van gedistribueerd (in het geval van Java).
- De beschikbaarheid van veel kant en klare pakketten die te maken hebben met netwerken, zowel als open-source code en (framework) ingebouwde pakketten; Dit maakt het gemakkelijker voor programmeurs voort te bouwen op het werk van anderen.
-
Ze concentreren zich meer op de kernfuncties van de taal, met name die ter ondersteuning van netwerken. Minder aandacht wordt besteed aan de gebruikersinterface-elementen zoals uitvoer, vensterontwerp en technieken, en de gebruikersinterface-elementen.
-
Volg een cursus over het ontwerp van gedistribueerde toepassingen en platforms. Dit kan gedaan worden met behulp van boeken, online tutorials of academische cursussen. Inzicht in de architectuur van gedistribueerde toepassingen en haar concepten is echter noodzakelijk.
-
Leer over het bouwen en onderhouden van componenten en diensten met behulp van de programmeertaal van je keuze.
-
Leer een of meer van de volgende technologieën. Het wordt aanbevolen dat je ten minste een inleiding volgt in elk van deze. De meeste programmeurs van gedistribueerde toepassingen stoppen niet bij één of twee programmeertalen, maar leren ten minste één programmeertaal voor elk besturingssysteem. Dat is omdat als je wilt dat je toepassingen worden 'gedistribueerd', je ten minste een versie moet aanbieden voor elke van de grote besturingssystemen.
- Common Object Request Broker Architecture (CORBA)
- Simple Object Access Protocol (SOAP)
- Asynchronous JavaScript and XML (AJAX)
- Distributed Component Object Model (DCOM)
- .NET Remoting
- XML Web Services
Advertentie
-
Wat is core programmeren. Core programmeurs zijn met name gevorderde programmeurs die de overstap hebben gemaakt van het programmeren van applicaties naar het programmeren van code units die gebruikt kunnen worden door andere programmeurs.
-
Leer een programmeertaal waarmee je opnieuw te gebruiken componenten/paketten kunt bouwen, als je dat al niet gedaan hebt.
-
Volg een gevorderde cursus in UML en ORM. De meeste ontwikkelaars van bibliotheken gebruiken één van deze of beide.
-
Volg een vak in software engineering.
-
Leer tenminste modulaire, component-gebaseerde, object-georiënteerd en event-driven programmeertechnieken en concepten. Hoe meer programmeerparadigma's en talen je kent, des te succesvoller zul je zijn als bibliotheek-/library-/pakketprogrammeur.
-
Leer meer over de verschillende besturingssystemen en frameworks ondersteund door deze besturingssystemen.
-
Focus je inspanningen op platformonafhankelijke frameworks, programmeertalen en technologieën.
-
Als de programmeertalen die je hebt geleerd voldoen aan de ANSI/ISO/IEEE/ W3C standaard versies, en probeer deze te beheersen. Probeer waar mogelijk standaardcode te gebruiken.
-
Proberen om eenvoudige, reeds gevestigde bibliotheken na te bootsen, met name open-source. Dit is handig tijdens de beginfase van het worden van een bibliotheek-/pakketprogrammeur. Begin met eenvoudige pakketten zoals eenhedenconversie en niet al te moeilijke wetenschappelijke berekeningen. Als je een student bent, maak dan gebruik van de vakken die niet over programmeren gaan, om vergelijkingen en wetenschappelijke kern in programmabibliotheken te vatten.
-
Zoek naar open-source pakketten binnen jou werkveld. Download eerst binaries/executables van het pakket. Probeer ze te gebruiken en zoek de sterke en zwakke punten. Ben je daarmee klaar, download dan de broncode en probeer uit te vinden hoe het is gemaakt. Probeer die libraries/bibliotheken na te maken, of delen ervan. Doe dat eerst nadat je de code hebt bestudeerd en later voordat je de code heb gezien. Probeer nog weer later om deze bibliotheken te verbeteren.
-
Leer de verschillende benaderingen die gebruikt worden voor het distribueren en implementeren van componenten naar en door programmeurs.
- Gewoonlijk hebben bibliotheek-/pakketprogrammeurs de neiging om recursief en/of iteratief te denken als ze een probleem moeten oplossen. Probeer aan elk probleem te denken als een verzameling van kleinere problemen (een opeenvolging van eenvoudiger taken) of als een herhaald proces van het verkleinen van de omvang van het probleem tot kleinere deelproblemen, waarna de deze deelproblemen op elkaar worden gestapeld.
- Bibliotheek-/pakketprogrammeurs hebben de neiging om te generaliseren. Dat wil zeggen dat ze, wanneer ze een eenvoudig specifiek probleem voorgeschoteld krijgen, ze meestal gaan denken aan een meer algemeen probleem en proberen dat algemene probleem op te lossen, waardoor automatisch het kleiner probleem ook wordt opgelost.
Advertentie
-
Begrijp wat systeemprogrammeren inhoudt. Systeemprogrammeurs krijgen te maken met de wetenschap van het programmeren, niet met de specifieke implementatie ervan. Beperk je niet tot een specifiek platform.
-
Volg de eerste drie stappen voor desktopprogrammeurs.
-
Volg een introductiecursus in lineaire algebra.
-
Volg een cursus in calculus.
-
Volg een cursus in logica en/of discrete wiskunde.
-
Maak kennis met verschillende kale besturingssystemen. Dit kan je als volgt doen:
- Leer hoe besturingssystemen worden geïnstalleerd.
- Leer hoe je meerdere verschillende besturingssystemen op 1 PC installeert (optioneel, maar aanbevolen).
- Installeer meer dan één besturingssysteem. Installeer niet alle hulpprogramma's op de systemen; gebruik liever de kale functionaliteit geboden door het besturingssysteem.
-
Volg een cursus (of als alternatief, lees boeken) over hardware-architectuur.
-
Ontwikkel een goed begrip van de andere computer hardware platformen.
-
Probeer bekend te raken met de assembleertaal van het platform/besturingssysteem van je keuze. Later zal je de assembly leren van andere platforms/systemen.
-
Leer ANSI C en C++, samen met de concepten van procedureel programmeren.
-
Begrijp en oefen met de C/C++ standard libraries op het platform van je keuze. Besteed vooral veel aandacht aan de Standard Template Library (STL) en misschien de Active Template Library (ATL).
-
Zoek naar online bronnen, boeken en cursussen om een begrip te krijgen van de C –variant voor jou specifieke platform.
-
Oefen het schrijven van geavanceerde code met C en C++.
-
Leer meer over assembly voor gevorderden.
-
Volg een cursus voor het programmeren van besturingssystemen.
-
Zoek naar documentatie over een specifiek platform naar keuze. Dit zal gemakkelijker zijn als je een op Unix gebaseerd besturingssysteem kiest. Het begrijpen van het systeem waar je mee werkt zal je later goed van pas komen.
-
Oefen je verkregen kennis. Maak eerst wat kleine hulpprogramma's. Meestal is het handig om het volgende te doen:
- Proberen om kleine tools te maken die al op je systeem aanwezig zijn.
- Proberen om utilities die beschikbaar zijn in besturingssystemen om te zetten naar die van jou.
-
Leer de programmeertalen in de meest nuttige volgorde. Dit is het enige veld waarbij de eerste programmeer taal van belang is. Leer eerst ANSI C en niet C++, C#of Java en ook niet niet D. Leer daarna pas C++.
- De beperking tot C is omdat systemen programmeren vereist dat de programmeur vertrouwd is met de volgende concepten:
- Daadwerkelijke en volledige compilatie van de broncode.
- Low-level object uitvoerbestanden.
- Het koppelen van binaries.
- Low-level machinetaal/assembly programmeren. De C-taal wordt door sommigen wel beschouwd als een vermomde of makkelijker te leren vorm van assembly. Het ondersteunt ook het invoegen van assemblercode in de C-code wanneer dat maar nodig is en het is alleen maar procedureel (net zoals assembly).
Advertentie - De beperking tot C is omdat systemen programmeren vereist dat de programmeur vertrouwd is met de volgende concepten:
-
Wat doen computerwetenschappers. Computerwetenschappers zijn zeer gevorderde programmeurs die, in plaats van te werken aan applicaties, werken aan het ontwerpen van computertechnologieën zoals encryptie, programmeertalen en datamining algoritmes. Dit niveau kun je zelden halen zonder een academische studie en veel toewijding.
-
Doe de wetenschappelijke kennis op die gelijkwaardig is aan een vierjarige universitaire studie computerwetenschappen. Dit kun je doen middels:
- Het volgen van een universitaire studie (de meest voor de hand liggende stap).
- Een overzicht verkrijgen van de universitaire studie en de verschillende vakken via zelfstudie doen of middels afzonderlijke cursussen. Dit kan in theorie, maar het eerste pad is aan te bevelen.
-
Een specialisatie kiezen. Hoe specifieker, hoe beter. Dit is afhankelijk van je voorkeuren. Hier volgen een paar van de belangrijkste velden binnen de computerwetenschappen:
- Ontwerp van algoritmes (zoeken, sorteren, encryptie, decryptie en foutdetectie in communicatie zijn enkele voorbeelden)
- Programmeertalen/compiler ontwerp/optimalisatie
- Kunstmatige intelligentie (patroonherkenning, spraakherkenning, natuurlijke taal verwerking, neurale netwerken)
- Robotica
- Wetenschappelijke programmering
- Werken met supercomputers
- Computer aided design/modeling (CAD/CAM)
- Virtual reality
- Computergraphics (computergraphics wordt meestal ten onrechte verward met grafisch ontwerp of grafische user interfaceontwerp. Computergraphics is het vakgebied waarbij je beeld kunt gebruiken en manipuleren in computersystemen.)
-
Overweeg het behalen van een academische graad. Je kunt ook gaan voor een masters of doctoraat.
-
Leer de technologieën en programmeertalen met betrekking tot je vakgebied als programmeur.Advertentie
Tips
- Ongeacht wat voor soort programmering je wilt proberen of op welk niveau, je kunt altijd een cursus volgen of lessen op school. Laat je niet intimideren door termen zoals 'Computerwetenschappen.' Elk vak dat je kunt volgen zonder voorkennis zou zich moeten concentreren op de basisvaardigheden van het programmeren, maar neem vooraf contact op met de docent om te controleren of het is wat je zoekt, omdat cursussen als 'Computervaardigheden' zich meer concentreren op het vertrouwd raken met office-toepassingen, etc..