CodeGym /Java blogg /Slumpmässig /Effektiv programmeringsträning
John Squirrels
Nivå
San Francisco

Effektiv programmeringsträning

Publicerad i gruppen
Att lära sig programmera från början är en komplex process. Speciellt om du studerar online på egen hand: du försöker hitta de bästa metoderna; du lägger tid och ansträngning på att hitta rätt information; du lyssnar, läser eller tittar på; du försöker skriva dina första program; du gör misstag, men du vet inte exakt var; du känner att du inte förstår någonting; du fastnar... 90% av försöken slutar innan de verkligen börjar. Efter all denna ansträngning ger personen ofta en negativ självdiagnos ("det här är inte min grej") och slutar lära sig programmera.
Effektiv programmeringsträning - 1

Orsakerna?

  • Inte tillräckligt med övning: programmerare bör inte gräva i teorin först. Först och främst programmerar programmerare. Någon som lär sig denna färdighetsuppsättning måste envist fokusera på övning, övning, övning! "Jag kommer att ta reda på vad som är vad, och sedan gör jag uppgiften" - det är inte vad programmering handlar om!
  • På grund av bristande erfarenhet kan en nybörjare inte skilja viktig information från triviala saker . Han går ofta vilse i detaljerna, eller gräver ner sig i svåra ämnen eftersom någon smart person på Internet sa, "om du inte kan skriva koden för sorteringsalgoritmer kan du inte vara programmerare". Sedan går han vilse i det svåra och... det är över.
  • Inget systematiskt tillvägagångssätt: att försöka få information från alla möjliga källor, oändligt gå i cirklar.
  • Försöker förstå allt omedelbart och fullständigt innan man börjar programmera.
  • Svag ansträngning: särskilt när människor inte försöker gräva i och slutföra en uppgift på egen hand mer än en gång, utan istället letar efter någon annans lösning på Internet. I verkligheten kan "kopiera" vara användbart. Att lära sig grunderna i programmering inkluderar ofta att analysera någon annans kod. Men det är analysen som är användbar, och först efter att personen har försökt göra uppgiften på egen hand flera gånger.
Och en punkt till:
  • Förlust av motivation. Förutom att detta inte är en orsak – det är en konsekvens av allt som anges ovan. Och det är här misslyckanden inträffar. Personen bestämmer sig för att allt är förlorat, han har slösat bort sin tid och han kommer inte att få något av det. Så det är inte värt att försöka.

Hur gör du framsteg när du lär dig programmera?

  1. Hitta en primär informationskälla. Den ska vara detaljerad, välstrukturerad, fylld med bara den viktigaste informationen och inte tråkig (det är viktigt!). Följ sedan denna källa.
  2. Vet hur du hittar ytterligare informationskällor och använder dem efter behov. När du gör detta, sprid dig inte tunn.
  3. Skriv kod hela tiden: lös massor av övningar och kunna kontrollera träffsäkerheten i dina lösningar.
  4. Arbeta med det regelbundet – avbryt inte dina studier under långa perioder.
  5. Försök inte täcka allt på en gång. Gå framåt i iterationer, öka gradvis komplexiteten.
  6. Effektiv programmeringsträning - 2
  7. Lär dig att läsa andras kod.
  8. Lär dig hur du hittar svar på frågor på Internet, men missbruka det inte.
  9. Diskutera din framtida lycka med andra: det är bättre att ha minst en annan programmeringsstudent i närheten; att lära sig online utan att interagera med andra är mycket mindre effektivt.
  10. Prata med mer erfarna programmerare.
  11. Ge inte upp!
" Ha, det är lätt sagt! " säger du. Och lägg till, " Tack, Cap! " Det enklaste rådet är vanligtvis det svåraste att implementera. Men... du läser det här, och du har redan hittat CodeGym. Och CodeGym innehåller en kurs med samma namn som byggdes specifikt på denna filosofi! Låt oss övertyga oss själva.

CodeGym är ett icke-standardiserat tillvägagångssätt för lärande

  • CodeGym är en välstrukturerad kurs i programmeringsspråket Java. Den består av korta lektioner som presenteras som underhållande samtal, varvat med massor av praktiska övningar. Du slutför kursen som en karaktär som du behöver för att "nivå upp" från nivå 0 till nivå 40, som i en RPG. Genom att slutföra uppgifter får du poäng som du kan spendera för att låsa upp nästa lektion.

    Men i verkligheten förbättrar du dina egna programmeringsförmågor, inte din karaktär. Kursen innehåller all viktig information om Java Core (allt en framtida junior Java-utvecklare behöver veta), plus lite mer. Vid det här laget kan du bocka av det första objektet i listan ovan.

  • CodeGym har speciella lektioner där kursutvecklare rekommenderar specifika böcker, videor och andra resurser. Dessutom skriver webbplatspersonal och avancerade studenter ofta artiklar med rekommendationer som är utformade för att göra det lättare för dig att förstå komplexa ämnen. Det tar hand om artikel nummer 2.
  • För att bli programmerare måste du programmera. Det är en enkel regel och låter extremt logiskt. Ändå är det förvånande hur ofta folk glömmer att lära sig att vara programmerare kräver framför allt övning i att skriva kod, och allt annat är sekundärt.

    CodeGyms skapare har förstått detta länge, så övning är själva grunden för kursen. Den har 1200 uppgifter! Detta är extremt värdefull programmeringserfarenhet som varje blivande mjukvaruutvecklare saknar.

    Arbetsuppgifterna i sig är små. Men de måste fortfarande göras och du måste veta att din lösning är korrekt.

    För detta ändamål har CodeGym ett omedelbart och automatiskt verifieringssystem för lösningar. Du gör en uppgift, klickar på en knapp och får omedelbart resultatet (oavsett om din lösning är rätt eller fel). Dessutom kommer vårt smarta rekommendationssystem att berätta vad du gjorde fel (om du gjorde något fel, förstås).

    Effektiv programmeringsträning - 3 Effektiv programmeringsträning - 4

    Utöver uppgiftsvillkoren får du uppgiftskraven. Krav är mer detaljerade villkor som ger en steg-för-steg-översikt över exakt vad ditt framtida program ska göra.

    Bocka av det tredje objektet.

  • CodeGym övningar
    • Några av övningarna täcker det teoretiska materialet från föregående lektion.
    • Vissa är utformade för att granska teori som redan har täckts (i tidigare nivåer).
    • En tredje typ av övning är "utmaningsuppgifter", som bygger på material från följande en, två eller tre nivåer. Japp, du trodde inte att vi skulle göra det mot dig. Vi gjorde det med flit. Vill du göra en uppgift nu, men vet inte hur? Googla det! Detta är en extremt användbar färdighet för en programmerare. Men om du vill gå vidare i ordning är det bara att skjuta upp uppgiften och återgå till den i ett par nivåer när du når den nödvändiga teorin. Vid det här laget kan du bocka av punkterna 5 och 7.
    • Bonusuppgifter. Det är svårare uppgifter för självstudier och för att utveckla din förmåga att tänka i termer av algoritmer. Ytterligare en kontroll bredvid punkt 7!
    • Miniprojekt. Dessa uppgifter är uppdelade i flera deluppgifter. När du slutför var och en av dem i sekvens, skapar du relativt komplexa och stora program. Till exempel spelet Sokoban eller ett online chattrum. Dessa uppgifter dyker upp runt mitten av kursen.
    • Kodinmatning är en uppgift för nybörjare. Ibland borde en blivande programmerare bara gräva i händerna och känna på koden. För att göra detta, "kopiera" bara ett exempel.
    • Analysera någon annans kod och hitta buggar. Tja, du förstår. Vi har dessa uppgifter också, så du kan bocka av artikelnummer 6.
    • Videoklipp. Ibland är det användbart att byta upp det du gör. På CodeGym gör vi detta genom att titta på IT-videor.
  • Hjälp med uppgifter

    Som vi nämnde ovan bör din erfarenhet av att lära sig programmera online inte likna att flyta ensam på en flotte i havet. Du måste interagera med andra. Framför allt har CodeGym en "Hjälp"-sektion för detta. Om du har fastnat på en uppgift från kursen länge eller inte kan förstå ett svårt ämne, ställ en fråga i ett specifikt avsnitt . En student, programmerare eller webbplatsanställd kommer säkert att hjälpa dig. Dessutom har vi en "Grupper"-sektion där du kan prata med andra studenter som går kursen. När du känner dig redo kommer det dessutom att vara mycket värdefullt för dig att gå till avsnittet "hjälp" och hjälpa någon annan med sina studier. Det betyder att du måste förstå någon annans kod. Bocka av punkterna 8 och 9 plus nummer 6 igen!

  • Effektiv programmeringsträning - 6
  • Många motiverande lektioner är invävda i CodeGym. Dessutom skickar våra akademiker som redan arbetar som programmerare ibland sina framgångsberättelser till oss. Att döma av kommentarerna under dessa berättelser, motiverar de verkligen människor att inte ge upp lärande. Nu kan du bocka av punkt 10.
Så vi kunde bocka av alla föremål (ibland till och med flera gånger). "Det är inte sant. Du bockade inte av den fjärde punkten", kommer en uppmärksam läsare att märka. Och så är det! CodeGyms skapare har dock gjort allt för att göra det så att du kan bocka av det här föremålet. Valet är ditt! Och... lycka till i den utmanande uppgiften att lära sig programmera!
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION