Acties:
  • 0 Henk 'm!

  • Un93m59
  • Registratie: Juli 2016
  • Nu online
Hoi allemaal,

Ik zit momenteel in mijn 4e semester ICT aan het Fontys in de richting software engineering.

Ik lees steeds meer en meer dat wiskunde concepten(linear algebra, statistiek, etc) handig zijn voor programmeurs. Het is daarom heel jammer dat mijn school dit niet aanbiedt in de curriculum.

Ik was daarom van plan om via zelfstudie toch een basis van deze wiskunde concepten te leren opdoen. Alleen doordat ik op voorgaande opleidingen / middelbare school geen hoge wiskunde( heb gehad, heb ik het gevoel dat ik vanaf de basis moet beginnen. Ik volgde de route VMBO > MBO 3> MBO 4> HBO.

Ik vroeg me af of jullie wellicht adviezen hebben om dit goed op te pakken, en wellicht dat jullie enig idee hebben welke wiskunde concepten daadwerkelijk handig zijn voor later op de arbeidsmarkt als programmeur?

Acties:
  • +5 Henk 'm!

  • Wintervacht
  • Registratie: December 2016
  • Laatst online: 07-08 10:04

Wintervacht

☉ ‿ ⚆

Tenzij je veel met algritmes en data processing aan de gang gaat is kennis van optellen, aftrekken, delen en vermenigvuldigen meer dan genoeg, ik heb in mijn loopbaan nog nooit wiskunde nodig gehad bij het programmeren.

Als je wiskundige berekeningen wil programmeren uiteraard wel, het is maar net wat je er mee wil doen.

Weet een beetje van veel dingen en veel van een paar dingen.


Acties:
  • 0 Henk 'm!

  • Jackxl
  • Registratie: November 2008
  • Laatst online: 19-09 11:15
Bij programmeerwerk komt eigenlijk altijd wel wiskunde kijken. Booleaanse algebra, cryptografie, 2D wiskunde, 3D wiskunde.
Het ligt er maar net aan waar je aan werkt. Over al deze wiskundige theorie is denk ik altijd online wel uitleg te vinden.
In de meeste gevallen zul je gebruik gaan maken van een library die de specifieke berekeningen uitvoert.
Een mooi voorbeeld is in de robotica. Wanneer je met https://www.ros.org/ ontwikkeld hoef je niet zelf uit te rekenen hoe alle assen van de robot moeten roteren voor een bepaalde beweging maar laat je dit door een package uit het ROS systeem regelen. Begrip van wat er wiskundig ongeveer gebeurd zal in een bepaalde mate noodzakelijk zijn om als programmeur met de libraries te kunnen werken.

Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 19:14

Onbekend

...

Wiskunde kan handig zijn en het is handig als je een beetje foutloos kunt hoofdrekeken, maar het gaat meer om het logisch aanpakken van wat er geprogrammeerd moet worden.
Maar het ligt er ook net aan welke kant je op wil gaan programmeren. Ga je liever richting de gebruikersinterfaces toe, of meer richting erp-pakketten waarbij je al wat meer moet gaan rekenen. Of ga je software schrijven voor rekenmodellen.

Booleaans kunnen rekenen is echt een must bij programmeren. Maar het meeste programmeren leer je echt in de praktijk door het zelf te doen en ervaring op te bouwen.

Speel ook Balls Connect en Repeat


Acties:
  • +2 Henk 'm!

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 21:49
Context is allesbepalend. Veel programmeerwerkzaamheden kunnen met een beperkte hoeveelheid wiskunde uitgevoerd worden. Als vuistregel kun je aannemen dat eindgebruikersapplicaties minder wiskunde en specialistische functies die relateren aan bv algoritmes, natuurwetenschappen, cryptografie, etc., meer wiskunde vereisen.

Acties:
  • +1 Henk 'm!

  • Poecillia
  • Registratie: Januari 2002
  • Laatst online: 18:25
Tenzij je de data science kant op wilt. Dan is wiskunde en statistiek een absolute must. Verder liggen programmeren, logische nadenken en wiskunde natuurlijk dicht bij elkaar, maar libraries nemen inderdaad veel complexiteit weg. Als deverloper zou ik me dan ook eerder daarin verdiepen en de tooling wereld rondom het programmeren dan in theoretische wiskunde.

Acties:
  • +6 Henk 'm!

  • t_captain
  • Registratie: Juli 2007
  • Laatst online: 19-09 16:52
Een stevig fundament van wiskundig inzicht maakt wel een betere developer. Een paar voorbeelden van kennisgebieden met hun toepassing in code:

* booleaanse logica -> goede, compacte en waterdichte control flow statements
* verzamelingsleer -> onderscheid maken tussen akties (i/o) en transformaties (processing), meer functioneel programmeren en minder iteratie
* lineaire algebra -> vectoriseren van operaties ten bate van performance,
* numerieke wiskunde -> inzicht in rekenkundige complexiteit, herkennen en waar mogelijk vermijden van O(>N) als bedreigingen van schaalbaarheid; herkennen van mogelijke numerieke instabiliteit

Acties:
  • +1 Henk 'm!

  • sir_huxley
  • Registratie: December 2004
  • Laatst online: 16-09 17:38
Vreemd de volgende zaken zouden toch echt aan bod komen tijdens je opleiding:
Grafentheorie
Matrix wiskunde (3D rotatie)
Wiskundige achtergrond mbt (3)DES en RSA
Statistiek
Ik zou het eens navragen aan je mentor. Mss komen deze zaken nog aan bod.

Daarnaast is het sterk afhankelijk wat je gaat doen. Een goede basis helpt je zeker complexe materie sneller te begrijpen maar in de meeste gevallen zullen er toch experts of business analisten zijn die je kunnen voorzien van de juiste achtergrond informatie.

Daarnaast wil ik je graag de volgende illusie ontnemen dat als je afgestuurd bent, dat je klaar bent met studeren. Als je na je studie aan de slag gaat zul je er snel achterkomen dan een groot deel van je kennis achterhaald is. Dat is helemaal niet erg. Geen enkel bedrijf zou moeten verwachten dat je vanaf dag 1 productief bent. Meestal volg je een intern trainee programma die je kennis laat maken met de interne prosessen en frameworks. Als ik je zo inschat is dat iets wat jij helemaal niet erg gaat vinden. Kortom maak je niet te druk.

Probeer naast de programmeertalen/platformen die je opleiding aangeeft kennis te maken met nieuwe technieken. Bv .net blazor, typescript ipv vanila JavaScript, kotlin ipv JAVA. Probeer daarnaast zelf een web api te schrijven en maak een front end in de vorm van een app of website. Gebruik moderne authenticatie methodes zoals JWT en claims. Dit geeft je een voorsprong als je straks echt aan de slag moet

Acties:
  • 0 Henk 'm!

  • dakka
  • Registratie: Augustus 2009
  • Laatst online: 18-09 23:56
Handig, beetje, nodig, ligt aan welke richting je wilt programeren, ik schrijf software voor backends/api's/games en ik kan nauwelijks hoofdrekenen.

Als je dingen met machine learning enzo wil gaan doen dan is wiskunde B well een pre.

Maakt dat iets uit op de arbeidsmarkt? Absoluut helemaal geen ene moer (muv dat je in de diepere data wetenschap wil)

[ Voor 20% gewijzigd door dakka op 23-02-2020 12:34 ]


Acties:
  • 0 Henk 'm!

  • Un93m59
  • Registratie: Juli 2016
  • Nu online
sir_huxley schreef op zondag 23 februari 2020 @ 09:59:
Vreemd de volgende zaken zouden toch echt aan bod komen tijdens je opleiding:
Grafentheorie
Matrix wiskunde (3D rotatie)
Wiskundige achtergrond mbt (3)DES en RSA
Statistiek
Ik zou het eens navragen aan je mentor. Mss komen deze zaken nog aan bod.

Daarnaast is het sterk afhankelijk wat je gaat doen. Een goede basis helpt je zeker complexe materie sneller te begrijpen maar in de meeste gevallen zullen er toch experts of business analisten zijn die je kunnen voorzien van de juiste achtergrond informatie.

Daarnaast wil ik je graag de volgende illusie ontnemen dat als je afgestuurd bent, dat je klaar bent met studeren. Als je na je studie aan de slag gaat zul je er snel achterkomen dan een groot deel van je kennis achterhaald is. Dat is helemaal niet erg. Geen enkel bedrijf zou moeten verwachten dat je vanaf dag 1 productief bent. Meestal volg je een intern trainee programma die je kennis laat maken met de interne prosessen en frameworks. Als ik je zo inschat is dat iets wat jij helemaal niet erg gaat vinden. Kortom maak je niet te druk.

Probeer naast de programmeertalen/platformen die je opleiding aangeeft kennis te maken met nieuwe technieken. Bv .net blazor, typescript ipv vanila JavaScript, kotlin ipv JAVA. Probeer daarnaast zelf een web api te schrijven en maak een front end in de vorm van een app of website. Gebruik moderne authenticatie methodes zoals JWT en claims. Dit geeft je een voorsprong als je straks echt aan de slag moet
Hartstikke bedankt vooral het laatste, zeer mooie tip!

Een vraagje, in hoeverre zijn JWT en claims relevant later? Ik heb me eigenlijk nog nooit diep in authenicatie & authorisatie gestoken. Ik merk dat ik de laatste jaren veel in andere zaken gestoken ORM, Microservices, api, websockets etc.

Voor de frontend keuze gemaakt tussen een van de die grote (react, vue of angular) en daar een werkende applicatie van gemaakt, heb meer geneigd naar web applicaties.

Acties:
  • +1 Henk 'm!

  • t_captain
  • Registratie: Juli 2007
  • Laatst online: 19-09 16:52
Authenticatie en authorisatie zijn bangrijke concepten om te begrijpen.

Dat kun je op verschillende manieren ineichten. Token based authorisatie legt de state aan de kant van de client (handig voor schaalbaarheid), JWT is een implementatie daarvan.

De achterliggende concepten zijn belangrijker dan de specifieke implementatie.

Acties:
  • 0 Henk 'm!

  • sir_huxley
  • Registratie: December 2004
  • Laatst online: 16-09 17:38
JWT in combinatie met claims zijn extreem relevant zeker icm microservices omdat je tokens door kunt passen en daardoor (micro)diensten aan elkaar kunt knopen. Het grote voordeel is namelijk dat ze stateless zijn.

Zie https://jwt.io/introduction/

Claims of een vergelijkbaar concept zorgen ervoor dat je bijvoorbeeld op ieder Endpoint van bijvoorbeeld een RESTapi kan bepalen wie toegang heeft. Het vergemakkelijkt de implementatie en verminderd de kans op fouten.

https://docs.microsoft.co...laims?view=aspnetcore-3.1

Ik heb geen glazen bol, maar ik verwacht dat deze technieken nog wel even relevant zullen blijven zeker gezien het feit dat de transitie naar cloud/web diensten nog steeds in volle gang is.

Acties:
  • +2 Henk 'm!

  • Furion2000
  • Registratie: September 2017
  • Laatst online: 13:18
Vind het al heel knap dat je hier allemaal al vragen over hebt, maar ik krijg ook het idee dat je je teveel 'zorgen' maakt ;)

Ik zou je focussen op de stof die je studie aanbiedt en die zo goed mogelijk leren begrijpen en daarnaast vooral leren wat je leuk vind. De concepten erachter begrijpen is imo nu voldoende en als je het dan leuk vind zou ik een mini opdracht voor jezelf verzinnen.

Wat ik vooral probeer te zeggen is dat je 'along the way' al de specifieke skills oppakt tijdens je werk en dan weet je ook precies welke skills je nodig hebt. Daarnaast wil je je alleen specialiseren in de dingen die je leuk en interessant vind, want dat houdt je motivatie hoog en je werk/studie een stuk leuker :p

[ Voor 16% gewijzigd door Furion2000 op 23-02-2020 16:11 ]


Acties:
  • 0 Henk 'm!

  • Morty
  • Registratie: November 2001
  • Laatst online: 17-09 19:36
Un93m59 schreef op zondag 23 februari 2020 @ 14:33:
[...]


Hartstikke bedankt vooral het laatste, zeer mooie tip!

Een vraagje, in hoeverre zijn JWT en claims relevant later? Ik heb me eigenlijk nog nooit diep in authenicatie & authorisatie gestoken. Ik merk dat ik de laatste jaren veel in andere zaken gestoken ORM, Microservices, api, websockets etc.

Voor de frontend keuze gemaakt tussen een van de die grote (react, vue of angular) en daar een werkende applicatie van gemaakt, heb meer geneigd naar web applicaties.
Om als programmeur te werken hoef je echt niet alles te weten, het is niet verboden om google te gebruiken tijdens je werk ;) Het belangrijkste is dat je een beetje een basis hebt zodat je weet in welke richting je moet zoeken voor specifieke problemen, voor de details heb je Google.

Ik denk dat je je nu iets te druk maakt over die details.

Acties:
  • +2 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

Wiskunde is abstract, en daarmee vaak in meerdere domeinen toepasbaar. Grafentheorie, verzamelingenleer en lineaire algebra kennen tig toepassingen binnen de informatica en zijn daarmee gewoon nuttig als algemene basiskennis. Héél veel algoritmen en datastructuren zijn als grafenprobleem te formaliseren, en het kan nuttig zijn als je daarover al wat basisstellingen en nuttige eigenschappen kent. Dan hoef je niet alles ad-hoc te bedenken en improviseren.
sir_huxley schreef op zondag 23 februari 2020 @ 09:59:
Wiskundige achtergrond mbt (3)DES en RSA
Dit is nou echt een categorie die je ofwel goed moet doen, en dan zit je aan een academische specialisatie cryptografie, ofwel je kan het net zo goed weglaten omdat je toch gewoon kant-en-klare implementaties gebruikt waarvan je de details niet hoeft te weten. Ja, heel leuk om er wat vanaf te weten, maar er zijn 1000 sub-categorieën van de informatica en software engineering waarvoor dat geldt. Dan heb je meer aan conceptuelere vakken, zodat je weet hoe je encryptie op de juiste manier toepast. En als je toch per se de wiskundige details van cryptografie wil leren, begin dan met iets actuelers dan DES. :P

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

  • sir_huxley
  • Registratie: December 2004
  • Laatst online: 16-09 17:38
bwerg schreef op zondag 23 februari 2020 @ 17:53:En als je toch per se de wiskundige details van cryptografie wil leren, begin dan met iets actuelers dan DES. :P
Klopt DES is verre van actueel maar door zijn "eenvoud" wel begrijpbaar en geld daarom vaak als introductie tot symmetrische encryptie. Ja het klopt je gaat je hier in de praktijk een standaard package voor gebruiken. Het zelfde geld voor quick sort en bubble sort algoritmes. Toch is het handig om je als ontwikkelaar tijdens je studie hierin te verdiepen zodat je kennis kan maken met verschillende vormen van recursie en iteratie.

Acties:
  • +1 Henk 'm!

  • t_captain
  • Registratie: Juli 2007
  • Laatst online: 19-09 16:52
AES valt ook prima uit te leggen met een visualisatie van de 4x4 matrix. Aansluitend, block chaining (uitstekend uitgelegd op https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation).
Pagina: 1