Toon posts:

[Java] Leren Programmeren

Pagina: 1
Acties:

Onderwerpen


  • wimjongil
  • Registratie: augustus 2006
  • Niet online
Beste allemaal,

Dit jaar ben ik begonnen met econometrie, en het eerste blok krijgen we meteen een vak programmeren op ons bord. Nou heb ik geen informatica gehad op de middelbare school en nooit op eigen houtje geprogrammeerd (*slik* ja, ik ben mijn t.net-account niet waardig :+ ). We krijgen de stof uitgelegd aan de hand van het boek "Beginning Programming Java for Dummies" (jep, op de universiteit...) en natuurlijk de colleges en opdrachten van het vak.

Nou moet ik eerlijk erkennen dat ik er de ballen van snap. De eerste colleges kon ik het nog wel een beetje volgen, maar nu heb ik geen flauw idee meer waar ik moet beginnen als bijvoorbeeld de volgende vraag krijg:
2. To determine the length of this array, make an auxiliary (and private) method in this class, named determineOccurencesNumber(int element), which returns an integer, indicating how many times the value in the element appeared in the series array. Hint: use the same logic you used when you counted zeros. This time you count a specific element value.
Hier kan ik geen hoofd- en bijzaken onderscheiden, ik weet niet wat ik classes, methods en constructors moet maken en ik weet ook niet wat voor termen ik wel en niet in mijn programma moet overnemen.

Mijn vraag aan jullie is dan ook: wat zijn handige hulpmiddelen om Java te leren programmeren? Ik heb zelf al de Java Tutorials gevonden - die volgens mij best duidelijk en goed zijn. Als je op "Java learning" of iets dergelijks Googlet, krijg je ook een hoop resultaten. Maar hier zitten vast ervarener programmeurs die een betere kijk dan ik hebben op wat aan en af te raden is.

Alvast bedankt voor de moeite!

  • Haan
  • Registratie: februari 2004
  • Laatst online: 21:36

Haan

dotnetter

Je leert voornamelijk door veel te oefenen. Hoe je dat het best doet is persoonlijk, dus daar valt moeilijk advies over te geven. Wat voor mij goed werkte was iets verzinnen om te maken, en aan de hand daarvan uitzoeken hoe je dat het best kan doen.
Ter bemoediging voor jou: ik begon ook pas op de uni met programmeren, het eerste tentamen van het vak 'inleiding programmeren' had ik een dikke onvoldoende, de tweede keer was het kwartje gevallen en haalde ik een 10 :)

Kater? Eerst water, de rest komt later
Last.fm profiel


  • Karaba
  • Registratie: oktober 2011
  • Laatst online: 04-12 14:42
De kunst is veel oefenen, maar ook een goede basis leggen. Zomaar code in rammen werkt nooit, dus denk ook na wat je daadwerkelijk aan het doen bent. Daarnaast helpt het als je op een programmeerforum (oh dear, schaamteloze promotie) als DIC zit. Ze hebben daar een vrij grote lijst met Java tutorials: http://www.dreamincode.ne...tter-at-programming-java/

En net als Haan en OP, ben ik zelf ook pas op de universiteit begonnen ;) (Maar toen ben ik verknocht geraakt aan het programmeren en werk zelf als een developer op dit moment :+

  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
Het probleem dat je beschrijft is overigens niet java specifiek, een van de dingen die je moet leren bij programmeren is een dergelijke probleembeschrijving opdelen in stappen. Dan helpt het ook als je Engels goed op orde is.

Ik zou dus beginnen met het opdelen van die opdracht in stappen. Het is gewoon een enkele methode dus classes e.d. hoef je je niet zo druk over te maken. Wat voor de bovenenstaande opdracht belangrijk is, is dat arrays, for-loops en if-else blokken en simpele variabelen geen enkel geheim meer voor je hebben. Deze basis moet je je als eerste op focussen.

https://niels.nu


  • lauwsa
  • Registratie: juli 2010
  • Laatst online: 01-08 09:30
Je moet even door hebben hoe je het moet opvatten. Ik heb het 1 keer snel gelezen en zo vat ik het op:
code:
1
2
3
4
2. To determine the length of this array, make an auxiliary (and private) method in this class, 
named determineOccurencesNumber(int element), which returns an integer, indicating how many times 
the value in the element appeared in the series array. Hint: use the same logic you used when you 
counted zeros. This time you count a specific element value


* voeg een private methode toe aan class X
* Geef deze de naam determineOccurencesNumber met als return type int, deze heeft 1 parameter (int element).
* Bekijk hoe vaak element voor komt in alle array's ( weet alleen niet waar je die vandaan haalt )

(beetje een knullige beschrijving)
Stap 3 doe je door allen array's te lopen, kijk als uit de array weer een array komt en roep weer de functie aan die allen "elements" telt. geef terug hoeveel er uit gekomen zijn (wat voor type "array" is het? Echt een array of een lijst met objecten die andere types kunnen bevatten? Want uit de vraag haal ik dat de array meer array's kunnen bevatten.)
Ik heb nooit informatica gestudeerd of zo, maar ik ben er al lang als hobby mee bezig. Als ik jou was zou ik gewoon eerst opschrijven wat je moet doen. Zo krijg je een beter idee.

[Voor 16% gewijzigd door lauwsa op 16-10-2012 10:59]


  • pedorus
  • Registratie: januari 2008
  • Niet online
Het Engels is trouwens wel wat gek. Komt dat echt uit dat boek? :p

Zo gebruiken ze auxiliary method waar normale mensen het gewoon over een helper method hebben. Ook dat "returns an integer, indicating how many" in plaats van "returns the number of times ...". Of appeared in plaats van appears. Of "the value in the element" ipv gewoon "element".

Het lijkt wel bedoelt om een zo laag mogelijke readability te krijgen. ;)

Vitamine D tekorten in Nederland | Middelen tegen corona


  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
Sorry hoor maar dat vind ik echt onzin. Het is gewoon doodnormaal Engels. Als je dat slecht leesbaar vindt moet je meer vakliteratuur lezen.
lauwsa schreef op dinsdag 16 oktober 2012 @ 10:51:
Ik heb nooit informatica gestudeerd of zo, maar ik ben er al lang als hobby mee bezig. Als ik jou was zou ik gewoon eerst opschrijven wat je moet doen. Zo krijg je een beter idee.
Een oplossing voorkauwen leert hij niks mee natuurlijk. Als hij dan straks een tentamen krijgt en niemand heeft om het voor hem te vertalen dan is 'ie de klos.

[Voor 93% gewijzigd door Hydra op 16-10-2012 11:30]

https://niels.nu


  • pedorus
  • Registratie: januari 2008
  • Niet online
Hydra schreef op dinsdag 16 oktober 2012 @ 11:28:
Als je dat slecht leesbaar vindt moet je meer vakliteratuur lezen.
Een omdraaing van zaken, het probleem lijkt me die literatuur. Maar misschien dat ik daarom altijd complimenten krijg voor leesbaarheid. ;) Vergelijk:
To determine the length of this array, make an auxiliary (and private) method in this class, named determineOccurencesNumber(int element), which returns an integer, indicating how many times the value in the element appeared in the series array.
--->

Create a private method determineOccurencesNumber(int element) that returns the number of times the element occurs in the series array.

Ik snap het stukje "To determine the length of this array" eigenlijk sowieso niet in dit verband, zal een herhaling zijn van wat er voor staat ;)

Vitamine D tekorten in Nederland | Middelen tegen corona


  • Zyppora
  • Registratie: december 2005
  • Laatst online: 04-12 12:27

Zyppora

155/50 Warlock

Hydra schreef op dinsdag 16 oktober 2012 @ 11:28:
Sorry hoor maar dat vind ik echt onzin. Het is gewoon doodnormaal Engels. Als je dat slecht leesbaar vindt moet je meer vakliteratuur lezen.


[...]
Sorry hoor maar als iemand met zo'n opdracht bij mij (als IT consultant zijnde met redelijk wat programmeerervaring) dan vraag ik diegene eerst wat hij nou precies verwacht, maw. verduidelijking van de opdracht. Gissen naar de bedoeling en aannames maken is slechter dan vragen stellen.

[Voor 3% gewijzigd door Zyppora op 16-10-2012 11:42]

Phenom II X4 945 \\ 8GB DDR3 \\ Crosshair IV Formula \\ R9 290


  • wimjongil
  • Registratie: augustus 2006
  • Niet online
Haan schreef op dinsdag 16 oktober 2012 @ 10:24:
Je leert voornamelijk door veel te oefenen. Hoe je dat het best doet is persoonlijk, dus daar valt moeilijk advies over te geven. Wat voor mij goed werkte was iets verzinnen om te maken, en aan de hand daarvan uitzoeken hoe je dat het best kan doen.
Ik denk dat ik daarvoor nog te weinig kan en weet, en als gevolg daarvan niet veel leer. Maar ik zal het zeker proberen!
Karaba schreef op dinsdag 16 oktober 2012 @ 10:28:
De kunst is veel oefenen, maar ook een goede basis leggen. Zomaar code in rammen werkt nooit, dus denk ook na wat je daadwerkelijk aan het doen bent. Daarnaast helpt het als je op een programmeerforum (oh dear, schaamteloze promotie) als DIC zit. Ze hebben daar een vrij grote lijst met Java tutorials: http://www.dreamincode.ne...tter-at-programming-java/
Als ik google naar mijn problemen komt stackoverflow steevast bovenaan te staan, dus daar kijk ik af en toe wat rond. Die link die jij stuurde is in ieder geval erg handig! Zulke dingen zoek ik.
Hydra schreef op dinsdag 16 oktober 2012 @ 10:29:
Het probleem dat je beschrijft is overigens niet java specifiek, een van de dingen die je moet leren bij programmeren is een dergelijke probleembeschrijving opdelen in stappen. Dan helpt het ook als je Engels goed op orde is.

Ik zou dus beginnen met het opdelen van die opdracht in stappen. Het is gewoon een enkele methode dus classes e.d. hoef je je niet zo druk over te maken. Wat voor de bovenenstaande opdracht belangrijk is, is dat arrays, for-loops en if-else blokken en simpele variabelen geen enkel geheim meer voor je hebben. Deze basis moet je je als eerste op focussen.
Op zich is m'n Engels best ok, maar het kan zeker beter. Een deel van mijn probleem zit inderdaad ook in het ontrafelen van zulke opdrachten, maar ik heb het idee dat mijn gebrek aan kennis het niet-begrijpen ernstig versterkt.

Arrays, loops en if-statements ga ik inderdaad goed bestuderen, daar snap ik ook erg weinig van.
lauwsa schreef op dinsdag 16 oktober 2012 @ 10:51:
Je moet even door hebben hoe je het moet opvatten. Ik heb het 1 keer snel gelezen en zo vat ik het op:


[...]


Ik heb nooit informatica gestudeerd of zo, maar ik ben er al lang als hobby mee bezig. Als ik jou was zou ik gewoon eerst opschrijven wat je moet doen. Zo krijg je een beter idee.
Ook een goeie tip van dat opschrijven! Overigens bedankt voor je hulp met dit specifieke probleem, maar dit voorbeeld was alleen om aan te tonen dat ik in zulke gevallen met een mond vol tanden sta.
pedorus schreef op dinsdag 16 oktober 2012 @ 11:27:
Het Engels is trouwens wel wat gek. Komt dat echt uit dat boek? :p

Zo gebruiken ze auxiliary method waar normale mensen het gewoon over een helper method hebben. Ook dat "returns an integer, indicating how many" in plaats van "returns the number of times ...". Of appeared in plaats van appears. Of "the value in the element" ipv gewoon "element".

Het lijkt wel bedoelt om een zo laag mogelijke readability te krijgen. ;)
Dit is een opdracht van de docent zelf. Het wordt door een Hongaar gegeven, dus zijn Engels is inderdaad wat anders (maar niet per definitie slecht). Zijn manier van schrijven vind ik wel lastig lezen inderdaad. Maar laten we de taalvaardigheid van mijn docent buiten dit topic houden.

  • lauwsa
  • Registratie: juli 2010
  • Laatst online: 01-08 09:30
Zyppora schreef op dinsdag 16 oktober 2012 @ 11:41:
[...]


Sorry hoor maar als iemand met zo'n opdracht bij mij (als IT consultant zijnde met redelijk wat programmeerervaring) dan vraag ik diegene eerst wat hij nou precies verwacht, maw. verduidelijking van de opdracht. Gissen naar de bedoeling en aannames maken is slechter dan vragen stellen.
Naar mijn mening word dat meestal gedaan om interessant over te komen. Het is inderdaad niet geheel duidelijk wat de bedoeling is. Deze tekst heeft volgens de test een "Flesch-Kincaid Reading Ease score" van 43.6. Mij lijkt eigenlijk ook dat die opdracht niet echt uit dat boek komt.

[Voor 42% gewijzigd door lauwsa op 16-10-2012 11:44]


  • Stefan_D
  • Registratie: oktober 2005
  • Laatst online: 14-08 22:46
Je zou natuurlijk, als je vragen hebt over een opdracht, deze vraag ook gewoon kunnen stellen aan de student assistenten voor het vak, of de docent. (hint hint)

  • wimjongil
  • Registratie: augustus 2006
  • Niet online
Stefan_D schreef op dinsdag 16 oktober 2012 @ 11:45:
Je zou natuurlijk, als je vragen hebt over een opdracht, deze vraag ook gewoon kunnen stellen aan de student assistenten voor het vak, of de docent. (hint hint)
Naast dat ik niet de enige ben met vragen, heb ik geen specifieke vragen; 'ik snap het gewoon niet' is geen vraag. Maar ik heb over een uurtje weer college, dus ik zal het proberen.

  • Haan
  • Registratie: februari 2004
  • Laatst online: 21:36

Haan

dotnetter

Opzich is het wel goed gedaan om een beetje vage opdracht te geven, in de praktijk gaat het namelijk ook vrijwel altijd zo ;)

Kater? Eerst water, de rest komt later
Last.fm profiel


  • lauwsa
  • Registratie: juli 2010
  • Laatst online: 01-08 09:30
Als ik jou was zou ik de hoofdstukken lezen die hier over gaan. Je hebt hier dus array's, functies en de basis van classes bij nodig. Als je de stof een keer doorgelezen hebt krijg je ook een idee wat alles is en wat alles inhoud. Je kan inderdaad ook op internet opzoeken hoe iets moet. Ik vind het zelf gemakkelijker om een boek door te werken. Lees het niet alleen maar voer het ook uit. Je hoeft niet alles uit je hooft te leren, je gaat het zo vaak gebruiken dat dat vanzelf gebeurt ( dat was bij mij zo ).

Alles zal na een tijd duidelijker worden, Bijvoorbeeld:
een private methode in een class is namelijk alleen iets dat de IDE vertelt dat dit alleen in de class zelf aangeroepen mag worden. Het is ook nog zo dat dit niet eens "effect" heeft op de gecompileerde code. Dit is dus om bugs te voorkomen en dergelijke.

Een methode in een class is gewoon een functie, deze voert code uit die hier in staat. Let wel op dat elke functie zijn eigen "variable scope" heeft. Zie een functie dus meer een apart gedeelte.

etc etc

  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
Zyppora schreef op dinsdag 16 oktober 2012 @ 11:41:
Sorry hoor maar als iemand met zo'n opdracht bij mij (als IT consultant zijnde met redelijk wat programmeerervaring) dan vraag ik diegene eerst wat hij nou precies verwacht, maw. verduidelijking van de opdracht. Gissen naar de bedoeling en aannames maken is slechter dan vragen stellen.
Dan moet je iets beter de TS lezen want hij post maar een deel van de opdracht. En dat deel is mij persoonlijk overigens volledig duidelijk als IT consultant met zo'n 14 jaar Java ervaring (als we dan gaan dicksizen heb ik lekker de grootste ;)).
wimjongil schreef op dinsdag 16 oktober 2012 @ 11:47:
Naast dat ik niet de enige ben met vragen, heb ik geen specifieke vragen; 'ik snap het gewoon niet' is geen vraag. Maar ik heb over een uurtje weer college, dus ik zal het proberen.
Je probleem is gewoon dat je de basics niet snapt. Hij hint ook dat je eerder opgedane kennis kunt hergebruiken (hij refereert aan een if-statement), ik heb de rest van de opdracht niet dus ik weet niet of het eerder aan bod gekomen is maar het heeft geen zin een "ik snap het niet" vraag te stellen, je krijgt waarschijnlijk gewoon het antwoord dat je zelf moet gaan zorgen dat je arrays, if-statements en for-loops goed snapt. Deze basisbouwstenen komen terug in vrijwel elke methode die je gaat schrijven.

Dit is gewoon de moeilijkste stap in het 'leren programmeren': op een gegeven moment snap je het en dan klikt alles op z'n plek. En dan zit je de rest van je leven vrijwel alle software problemen intern te vertalen in algorithmische oplossingen ;)
Haan schreef op dinsdag 16 oktober 2012 @ 11:53:
Opzich is het wel goed gedaan om een beetje vage opdracht te geven, in de praktijk gaat het namelijk ook vrijwel altijd zo ;)
Ik vind er echt niks vaags aan. Ik heb dagelijk te maken met klanten die veel vager zijn.

[Voor 16% gewijzigd door Hydra op 16-10-2012 12:04]

https://niels.nu


  • wimjongil
  • Registratie: augustus 2006
  • Niet online
Hydra schreef op dinsdag 16 oktober 2012 @ 11:56:
[...]


Je probleem is gewoon dat je de basics niet snapt. Hij hint ook dat je eerder opgedane kennis kunt hergebruiken (hij refereert aan een if-statement), ik heb de rest van de opdracht niet dus ik weet niet of het eerder aan bod gekomen is maar het heeft geen zin een "ik snap het niet" vraag te stellen, je krijgt waarschijnlijk gewoon het antwoord dat je zelf moet gaan zorgen dat je arrays, if-statements en for-loops goed snapt. Deze basisbouwstenen komen terug in vrijwel elke methode die je gaat schrijven.
Je hebt gelijk dat ik die bouwstenen niet snap. Zo'n antwoord kan ik inderdaad verwachten. Mijn vraag hier is dan ook: hoe krijg ik die bouwstenen zo efficient mogelijk onder de knie? En ik geloof dat ik daar wel een redelijk beeld van heb nu: alles rustig analyseren, opdrachten van een paar weken terug nog eens goed bekijken en maken en proberen die 100% te snappen. Als ik het dan nog steeds niet snap, boeken en tutorials naslaan erop naslaan. Ik ga ook nog zoeken naar videotutorials a la Khanacademy.

Maar mocht iemand nog een ontzettend goede manier weten om Java te leren die hier nog niet is genoemd, post het. ;)

Edit:
Dit is gewoon de moeilijkste stap in het 'leren programmeren': op een gegeven moment snap je het en dan klikt alles op z'n plek. En dan zit je de rest van je leven vrijwel alle software problemen intern te vertalen in algorithmische oplossingen ;)
Ik hoop het, en stiekem geloof ik er ook wel in. Maar nu zit ik even met het probleem hoe ik die berg moet gaan beklimmen, zeg maar. Gewoon beginnen, is misschien een goeie eerste stap? ;)

[Voor 15% gewijzigd door wimjongil op 16-10-2012 12:13]


  • Stefan_D
  • Registratie: oktober 2005
  • Laatst online: 14-08 22:46
wimjongil schreef op dinsdag 16 oktober 2012 @ 11:47:
[...]


Naast dat ik niet de enige ben met vragen, heb ik geen specifieke vragen; 'ik snap het gewoon niet' is geen vraag. Maar ik heb over een uurtje weer college, dus ik zal het proberen.
Het was niet negatief bedoeld; sterker nog, ik vind het goed dat je probeert hulp te zoeken bij je probleem. Op zich is GoT dan ook de perfecte plek daarvoor: men geeft over het algemeen meer hints in de richting dan dat ze het werk voor je doen, wat ook veruit de beste manier is om te leren.. :)

Maar zoals je zelf al zei: 'ik snap het gewoon niet' is geen vraag. Probeer gewoon stap voor stap door het probleem heen te werken (zoals in bovenstaande posts ook gebeurd) en schakel ons dan in als je er niet uitkomt. Maar goed, ik zal je zo weer even les gaan geven >:) .

  • Haan
  • Registratie: februari 2004
  • Laatst online: 21:36

Haan

dotnetter

Stefan_D schreef op dinsdag 16 oktober 2012 @ 12:12:
Maar goed, ik zal je zo weer even les gaan geven >:) .
:D
_O-

Kater? Eerst water, de rest komt later
Last.fm profiel


  • Dars123
  • Registratie: juni 2008
  • Laatst online: 26-07-2020
Waarom doe je niet gewoon de opdrachten in Java for Dummies?

Ik wed dat zodra je door dat boekt heen bent de opdracht een fluitje van een cent is.

  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
wimjongil schreef op dinsdag 16 oktober 2012 @ 12:10:
Je hebt gelijk dat ik die bouwstenen niet snap. Zo'n antwoord kan ik inderdaad verwachten. Mijn vraag hier is dan ook: hoe krijg ik die bouwstenen zo efficient mogelijk onder de knie? En ik geloof dat ik daar wel een redelijk beeld van heb nu: alles rustig analyseren, opdrachten van een paar weken terug nog eens goed bekijken en maken en proberen die 100% te snappen. Als ik het dan nog steeds niet snap, boeken en tutorials naslaan erop naslaan. Ik ga ook nog zoeken naar videotutorials a la Khanacademy.
Ik denk dat je het beste gewoon rustig het lesmateriaal er nog eens op na kunt slaan. Volgens mij ben je nu al langer bezig met zoeken dan dat het je zou kosten om gewoon eens een paar for-loops te programmeren en te snappen wat er gebeurt ;)
Maar mocht iemand nog een ontzettend goede manier weten om Java te leren die hier nog niet is genoemd, post het. ;)
Er zijn altijd betere en slechtere lesmethoden (ik vind die die meteen beginnen met een grafische user-interface ronduit slecht, veel Java boeken beginnen met applets) maar uiteindelijk maakt het wat betreft deze basis niet zo veel verschil. Wat belangrijk is, is dat je niet de volgende stappen gaat nemen als je de eerste basics nog niet snapt. Het is dus een kwestie van teruggaan en studeren tot je het doorhebt. En trust me, als ze met recursiviteit en multithreading zouden beginnen dan wordt het nog veel complexer en dan ben je volkomen de weg kwijt als je de basics niet 100% snapt.
wimjongil schreef op dinsdag 16 oktober 2012 @ 12:10:
Ik hoop het, en stiekem geloof ik er ook wel in. Maar nu zit ik even met het probleem hoe ik die berg moet gaan beklimmen, zeg maar. Gewoon beginnen, is misschien een goeie eerste stap? ;)
Dat geldt voor alles. Oefenen, oefenen, oefenen. Sommige mensen zijn een natuurtalent en pikken het sneller op, andere mensen doen er langer over. Maar er is volgens mij geen enkel natuurtalent dat ergens komt zonder veel te oefenen, en het maakt niet uit of het Java programmeren of vioolspelen is.

[Voor 15% gewijzigd door Hydra op 16-10-2012 12:17]

https://niels.nu


  • wimjongil
  • Registratie: augustus 2006
  • Niet online
Stefan_D schreef op dinsdag 16 oktober 2012 @ 12:12:
[...]


Het was niet negatief bedoeld; sterker nog, ik vind het goed dat je probeert hulp te zoeken bij je probleem. Op zich is GoT dan ook de perfecte plek daarvoor: men geeft over het algemeen meer hints in de richting dan dat ze het werk voor je doen, wat ook veruit de beste manier is om te leren.. :)

Maar zoals je zelf al zei: 'ik snap het gewoon niet' is geen vraag. Probeer gewoon stap voor stap door het probleem heen te werken (zoals in bovenstaande posts ook gebeurd) en schakel ons dan in als je er niet uitkomt. Maar goed, ik zal je zo weer even les gaan geven >:) .
Ja, ik hoef heus niet iemand te hebben die mijn huiswerk maakt, daar zou ik alleen wat aan hebben als ik die bij mijn tentamen en mijn verdere programmeercarrière ook aan mijn zijde zou hebben natuurlijk. Maar dat riekt naar slavernij en dat is alweer een poosje afgeschaft, geloof ik. :+

Ben nu - naast heftig aan het posten op got natuurijk - al wat aan het lezen over switches zodat ik zo alweer wat meer basis heb.

Edit: oke, een switch is dus gewoon een makkelijkere manier om een lange lijst if-statements te noteren. Potverdrie, ik ga er nu al zienderogen op vooruit. :D
Hydra schreef op dinsdag 16 oktober 2012 @ 12:16:
[...]


Ik denk dat je het beste gewoon rustig het lesmateriaal er nog eens op na kunt slaan. Volgens mij ben je nu al langer bezig met zoeken dan dat het je zou kosten om gewoon eens een paar for-loops te programmeren en te snappen wat er gebeurt ;)
Wat dat betreft heb ik misschien wel wat veel koudwatervrees, ja. :P
[...]


Er zijn altijd betere en slechtere lesmethoden (ik vind die die meteen beginnen met een grafische user-interface ronduit slecht, veel Java boeken beginnen met applets) maar uiteindelijk maakt het wat betreft deze basis niet zo veel verschil. Wat belangrijk is, is dat je niet de volgende stappen gaat nemen als je de eerste basics nog niet snapt. Het is dus een kwestie van teruggaan en studeren tot je het doorhebt. En trust me, als ze met recursiviteit en multithreading zouden beginnen dan wordt het nog veel complexer en dan ben je volkomen de weg kwijt als je de basics niet 100% snapt.
Jep, precies mijn plan. Voor mij is het nu duidelijk dat ik een paar stappen terug weer moet beginnen en dat niet moet afraffelen. Mocht ik weer tegen (didactische) problemen aanlopen die ik niet bij het vak zelf opgelost zie, zal ik hier zeker weer aankloppen.

[Voor 3% gewijzigd door wimjongil op 16-10-2012 12:27]


  • Karaba
  • Registratie: oktober 2011
  • Laatst online: 04-12 14:42
wimjongil schreef op dinsdag 16 oktober 2012 @ 11:44:
Als ik google naar mijn problemen komt stackoverflow steevast bovenaan te staan, dus daar kijk ik af en toe wat rond. Die link die jij stuurde is in ieder geval erg handig! Zulke dingen zoek ik.
Zelf vind ik Stackoverflow erg geschikt voor directe oplossingen, maar (not intended as bash) Stackoverflow neigt vaak om het directe antwoord te geven. DIC daarentegen heeft een policy omdat juist niet te doen; ze sturen je eerder in een richting als je een probleem hebt, dan direct een voorgekauwd antwoord te geven. (aka, je dient zelf na te denken)
Hydra schreef op dinsdag 16 oktober 2012 @ 12:16:
[...]
En trust me, als ze met recursiviteit en multithreading zouden beginnen dan wordt het nog veel complexer en dan ben je volkomen de weg kwijt als je de basics niet 100% snapt.
Dit dus.

Op het programmeer forum waar ik al enkele jaren rondhang (DIC :+ ), merk ik steeds vaker dat men meer en complexer wilt gaan, zonder dat ze zelf de basis snappen. Vragen als: hoe kan ik dit multithreaden of zelfs dingen als hoe maak ik een GUI zonder te weten hoe classes en objects werken, komen veels te vaak voor.

Gewoon simpel beginnen met de basics en langzaam opbouwen. Niet te groot denken in het begin en vooral plannen en uittekenen. Wat mij altijd helpt is gewoon de pen-papier manier (nu een whiteboard) en uittekenen wat ik wil, wat het doen moet en hoe ik het zou willen doen. Vaak helpt dit een stuk beter dan code bashing.

En bugs features kan je altijd nog toevoegen in een later stadium :X

  • pedorus
  • Registratie: januari 2008
  • Niet online
Dars123 schreef op dinsdag 16 oktober 2012 @ 12:15:
Waarom doe je niet gewoon de opdrachten in Java for Dummies?

Ik wed dat zodra je door dat boekt heen bent de opdracht een fluitje van een cent is.
Lijkt me een goede suggestie.
Hydra schreef op dinsdag 16 oktober 2012 @ 11:56:
Ik vind er echt niks vaags aan. Ik heb dagelijk te maken met klanten die veel vager zijn.
Je ziet die code al weer volgens spec terugkeren natuurlijk: })
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SeriesHolder {
    private TIntIntMap occurencesNumbers = new TIntIntHashMap();
    private TIntList seriesArray = new TIntArrayList();
    
    public void addElement(int element) {
        seriesArray.add(element);
        occurencesNumbers.adjustOrPutValue(element, 1, 1);
    }
    
    public void clear() {
        seriesArray.clear();
    }
    
    //more methods
    
    private int determineOccurencesNumber(int element) {
        return occurencesNumbers.get(element);
    }
}

Vitamine D tekorten in Nederland | Middelen tegen corona


  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
wimjongil schreef op dinsdag 16 oktober 2012 @ 12:20:
Mocht ik weer tegen (didactische) problemen aanlopen die ik niet bij het vak zelf opgelost zie, zal ik hier zeker weer aankloppen.
Vooral doen. En vooral: vergeet je medestudenten niet. Toen ik begon met Java in '98 wisten mijn docenten er maar nauwelijks meer vanaf dan de studenten en bovendien leerden wij veel sneller (jonge kneedbare hersentjes) dingen bij dus we moesten het vooral zelf samen uit weten te vogelen.

https://niels.nu


  • JeroenTheStig
  • Registratie: mei 2000
  • Laatst online: 04:23
pedorus schreef op dinsdag 16 oktober 2012 @ 12:32:
[...]
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SeriesHolder {
    private TIntIntMap _occurencesNumbers = new TIntIntHashMap();
    private TIntList _seriesArray = new TIntArrayList();
    
    public void addElement(int piElement) {
        _seriesArray.add(piElement);
        _occurencesNumbers.adjustOrPutValue(piElement, 1, 1);
    }
    
    public void clear() {
        _seriesArray.clear();
    }
    
    //more methods
    
    private int determineOccurencesNumber(int piElement) {
        return _occurencesNumbers.get(piElement);
    }
}
Z'n docent is hongaars, dus ik heb je code iets aangepast :Y)

  • pedorus
  • Registratie: januari 2008
  • Niet online
_O- hungarian notation

Overigens zou het hier zowaar nuttig zijn om te vermelden dat int element bedoelt is als pointer naar een element; zonder meer context is het wat lastig om met zekerheid te zeggen of dat de bedoeling is.

Vitamine D tekorten in Nederland | Middelen tegen corona


  • las3r
  • Registratie: augustus 2006
  • Laatst online: 20:34
Wellicht kun je het boek BlueJ proberen, dat is waar ze het ons op de Hanzehogeschool Groningen mee leren (Informatica opleiding).

Dat begint vrij basaal met uitleg over constructors, scoping (private, public, protected), en gaat vervolgens dieper in op de stof - je hebt dan waarschijnlijk ook alleen maar de eerste hoofdstukken nodig :)

Just my €0,02

  • xzaz
  • Registratie: augustus 2005
  • Laatst online: 17:18
Allemaal veel te moeilijk hier, weet wat je wilt maken; en gaan met die banaan. Boeken komen wanneer je ergens tegen aanloopt. Met OOP beginnen is allemaal heel leuk en aardig maar dat zegt iedereen die al kan programmeren. Gewoon beginnen met schrijven en langzamerhand verbeteringen opdoen.

Schiet tussen de palen en je scoort!


  • Waster
  • Registratie: september 2006
  • Laatst online: 05-03 21:43
Wat wel helpt is om veel voorbeelden te zien van goede code. We kunnen ook niet Nederlands schrijven als we nog niet kunnen lezen. Hetzelfde geldt voor code schrijven. Als je code kan begrijpen dan gaat het schrijven van nieuwe code op een gegeven moment vanzelf. Jammergenoeg is het internet geplaveit met slechte tutorials en codesamples.

  • PdeBie
  • Registratie: juni 2004
  • Laatst online: 18:41
las3r schreef op woensdag 17 oktober 2012 @ 07:19:
Wellicht kun je het boek BlueJ proberen, dat is waar ze het ons op de Hanzehogeschool Groningen mee leren (Informatica opleiding).

Dat begint vrij basaal met uitleg over constructors, scoping (private, public, protected), en gaat vervolgens dieper in op de stof - je hebt dan waarschijnlijk ook alleen maar de eerste hoofdstukken nodig :)

Just my €0,02
Hier heb ik ook OOP mee geleerd op het MBO.
Geweldig boek en perfect programma om het mee te leren.

  • Caelorum
  • Registratie: april 2005
  • Laatst online: 00:09
pdebie schreef op woensdag 17 oktober 2012 @ 10:42:
[...] Hier heb ik ook OOP mee geleerd op het MBO.
Geweldig boek en perfect programma om het mee te leren.
Maar duidelijk niet voor iedereen weggelegd. Ik kende alle OOP principes al wel en kon behoorlijk wat programmeren in AS3, maar uitvogelen hoe dat BlueJ werkt is mij na bijna 10 jaar programmeren nog steeds niet gelukt :P

  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
xzaz schreef op woensdag 17 oktober 2012 @ 09:06:
Allemaal veel te moeilijk hier, weet wat je wilt maken; en gaan met die banaan.
"Gaan met die banaan" gaat niet werken als hij de basale zaken gewoon niet begrijpt he? Misschien moet je ff teruglezen, de TS heeft al aangegeven gewoon die zaken nog eens opnieuw te gaan bestuderen omdat hij gewoon wat te snel gegaan is.
Waster schreef op woensdag 17 oktober 2012 @ 10:36:
Wat wel helpt is om veel voorbeelden te zien van goede code.
En aangezien een complete beginner het verschil niet ziet tussen goede en slechte code en bovendien basale zaken als een for-loop niet snapt, is naar code gaan staren ook gewoon geen optie.

De TS heeft een prima boek met daarin een lesmethode. Een lesmethode volgen met ondersteuning van medeleerlingen en docenten is by far de beste manier om dit te leren.

[Voor 38% gewijzigd door Hydra op 17-10-2012 11:29]

https://niels.nu


  • xzaz
  • Registratie: augustus 2005
  • Laatst online: 17:18
Hydra schreef op woensdag 17 oktober 2012 @ 11:27:
[...]


"Gaan met die banaan" gaat niet werken als hij de basale zaken gewoon niet begrijpt he? Misschien moet je ff teruglezen, de TS heeft al aangegeven gewoon die zaken nog eens opnieuw te gaan bestuderen omdat hij gewoon wat te snel gegaan is.
Fietsen leer je niet door een boek te lezen, je zal moeten vallen.

Het is gewoon een iteratief gebeuren.. je wilt wat -> google of boek --> je wilt wat --> google of boek --> je wilt wat beter --> google of boek --> je ziet dat het beter kan enz enz..

[Voor 18% gewijzigd door xzaz op 17-10-2012 12:15]

Schiet tussen de palen en je scoort!


  • Merethil
  • Registratie: december 2008
  • Laatst online: 23:31
xzaz schreef op woensdag 17 oktober 2012 @ 12:13:
[...]

Fietsen leer je niet door een boek te lezen, je zal moeten vallen.
Ja maar voordat jij op die fiets stapt wordt jou al wel aangeleerd dat de trappers zijn om mee te trappen en de remmen zijn om te remmen.
Je wordt er niet opgepleurd zonder te weten wat een fiets is, wat de onderdelen doen en hoe je nou in hemelsnaam vooruit komt / remt.

Vallen doe je vanzelf. Maar programmeren zonder enige basis kennen is moeilijk en vaak best desastreus. Ten eerste leer je jezelf al snel verkeerde praktijken aan, ten tweede kost het veel en dan ook echt veeeeel meer tijd dan een goed boek, goede begeleiding en een mooi beginnetje.

  • Kwistnix
  • Registratie: juni 2001
  • Laatst online: 01:30
Een goed boek is essentieel als je net begint. Head First Java bijvoorbeeld, al moet de stijl van dat boek je wel net liggen. Met lezen alleen kom je er natuurlijk niet, dus ga vooral ook lekker aan de slag met code kloppen - toepassen wat je geleerd hebt, dan zie je pas of je het echt begrijpt.
Als je net begint met Java / programmeren is JavaRanch / CodeRanch ook wel een aanrader! Afgezien van het forum zijn er ook aardig wat FAQs en opdrachten die je kan proberen.

  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
xzaz schreef op woensdag 17 oktober 2012 @ 12:13:
Fietsen leer je niet door een boek te lezen, je zal moeten vallen.
Leuk zulke metaforen maar het slaat natuurlijk nergen op. Als je gaat fietsen heb je ook je pappa die je handje vasthoudt bij het oefenen omdat je anders als klein kind zovaak op je bek gaat dat je er de brui aan geeft. En dat gaat dus precies gebeuren als iemand alleen maar naar de code gaat kijken.

Voor het leren programmeren zijn je medestudenten, je docent en je lesboek dat 'handje' waaraan je vastgehouden wordt. En om het dan als je de basis weet echt te leren moet je oefenen, oefenen en nog eens oefenen. Iets wat ik eerder in dit topic ook al gezegd heb.

https://niels.nu


  • xzaz
  • Registratie: augustus 2005
  • Laatst online: 17:18
Hydra, ik zeg toch ook niet dat je geen boeken moet gebruiken. Je kan wel blijven en blijven lezen maar op een gegeven moment moet je toch achter de PC duiken. De eerste vraag is waarschijnlijk welke IDE heb ik nodig, en waar kan ik uberhaupt programmeren. Google geeft dan het resultaat Notepad++ of Netbeans weer. Prima volgende stap..

Dat bedoel ik, met gewoon gaan met die banaan. Je niet laten afleiden door wat op pagina 750 staat.

Schiet tussen de palen en je scoort!


  • Waster
  • Registratie: september 2006
  • Laatst online: 05-03 21:43
Hydra schreef op woensdag 17 oktober 2012 @ 12:57:
[...]


Leuk zulke metaforen maar het slaat natuurlijk nergen op. Als je gaat fietsen heb je ook je pappa die je handje vasthoudt bij het oefenen omdat je anders als klein kind zovaak op je bek gaat dat je er de brui aan geeft. En dat gaat dus precies gebeuren als iemand alleen maar naar de code gaat kijken.
Ik zou zeggen dat dat precies gebeurt als je maar gaat met die banaan en leert door trial en error. Op zich ook niet erg, maar de kans is dat je dan slechte gewoontes aanleert. De wereld zit vol met trial en error programmeurs die niet begrijpen wat ze doen. Als het een goed boek is, denk ik dat de voorbeelden duidelijk genoeg zijn dat je ze echt kan begrijpen. Als je ze begrijpt en kan reproduceren dan ben je echt een stap vooruit gekomen.

  • Novermars
  • Registratie: maart 2011
  • Laatst online: 29-04-2020
Een (off-topic) vraagje. Over welke universiteit gaat dit? (Ik ga zéér waarschijnlijk volgend jaar beginnen aan dezelfde studie :) )

  • wimjongil
  • Registratie: augustus 2006
  • Niet online
Hydra heeft eigenlijk al voor mij geantwoord op de gaan met die banaan-leermethode.

las3r en FallenAngel666 bedankt voor de tips!

@Novermars: de RUG.

  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
xzaz schreef op woensdag 17 oktober 2012 @ 13:15:
Hydra, ik zeg toch ook niet dat je geen boeken moet gebruiken. Je kan wel blijven en blijven lezen maar op een gegeven moment moet je toch achter de PC duiken. De eerste vraag is waarschijnlijk welke IDE heb ik nodig, en waar kan ik uberhaupt programmeren. Google geeft dan het resultaat Notepad++ of Netbeans weer. Prima volgende stap..
"Fietsen leer je niet door een boek te lezen, je zal moeten vallen. "

Daarin zeg je impliciet dat je moet gaan 'fietsen' zonder uberhaupt een boek te lezen, en dat is onzin. Ik krijg bovendien het idee dat je nog nooit een goed Java boek gezien hebt want een goeie lesmethode laat je juist oefenen. Dat is het hele idee; de lesmethode begint op de juiste manier en met het juiste tempo wordt je aan de hand gehouden. Met alleen google kom je er niet, er is veel te veel rotzooi op google te vinden en een beginner weet niet de goeie dingen van de slechte meuk te onderscheiden.

https://niels.nu


  • wimjongil
  • Registratie: augustus 2006
  • Niet online
Even een update: na het vak op het eerste tentamen hopeloos gefaald te hebben, bij de her een 7 gescoord! :) Heb er een paar weken afstand van genomen, toen moest ik voor een ander vak wat doen in LaTeX (niet echt programmeren, maar toch een soort van) en heb ik ervoor gekozen om voor dat vak ook Mathematica te gebruiken. Daarna ben ik weer met Java aan de slag gegaan en toen ging dat opeens heel goed!

  • Comp_Lex
  • Registratie: juni 2005
  • Laatst online: 21:57
Je kunt het oefenen door bijvoorbeeld een tooltje te maken dat voor econometrie heel erg handig zou kunnen zijn. Het kan dan iets worden waar je wel iets aan hebt, maar wat handiger, makkelijker en minder rompslomp is dan bijvoorbeeld (ik noem maar wat) Mathematica.

Anoniem: 417179

@Hydra niet iedereen heeft dat nodig haha: Wikipedia: Theodor Kaluza
Head first java schijnt heel fijn te werken(Zijn ook verscheidene pdfs van te vinden).
Verder is het een kwestie van wilskracht en uitdaging zoeken. Als je opdrachten zoekt kan je project euler problemen oplossen. Econometrische vraagstukken automatiseren etc.

  • Hydra
  • Registratie: september 2000
  • Laatst online: 18:26
@Wimjong: mooi dat het nu goed gaat en leuk dat je dit ff laat weten :)

https://niels.nu


  • JoZ1
  • Registratie: maart 2012
  • Laatst online: 20-02-2013
Hydra schreef op woensdag 17 oktober 2012 @ 11:27:
En aangezien een complete beginner het verschil niet ziet tussen goede en slechte code en bovendien basale zaken als een for-loop niet snapt, is naar code gaan staren ook gewoon geen optie.
Codevoorbeelden opzoeken van basale zaken is anders ook gewoon mogelijk. Vaak staat er ook wel een beschrijving bij, en als je meerdere voorbeelden opzoekt kun je die vergelijken.

Google is je vriend, en zéker voor een programmeur; als je veel opzoekt en veel probeert (evt. aan de hand van je boek) gaat het wel goedkomen.

Succes in ieder geval ;)

  • xzaz
  • Registratie: augustus 2005
  • Laatst online: 17:18
Hydra schreef op vrijdag 19 oktober 2012 @ 09:40:
[...]


"Fietsen leer je niet door een boek te lezen, je zal moeten vallen. "

Daarin zeg je impliciet dat je moet gaan 'fietsen' zonder uberhaupt een boek te lezen, en dat is onzin. Ik krijg bovendien het idee dat je nog nooit een goed Java boek gezien hebt want een goeie lesmethode laat je juist oefenen.
YouTube: Assumption is the mother of all fuckups

Schiet tussen de palen en je scoort!


  • Argantonis
  • Registratie: juni 2005
  • Laatst online: 25-08 15:17
Misschien een beetje laat voor de topic-starter maar http://docs.oracle.com/javase/tutorial/ is echt hartstikke prima, voor Java heb je echt geen boek nodig.
Pagina: 1


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee