Permalänk
Medlem
Skrivet av Mikael_Berglund:

Det enda som är riktigt intressant här är att du ska läsa Matematik E, Fysik B och Kemi A. Se till att tidigt sätta dem målen och berätta för dina lärare att du satsar på bra betyg i dessa ämnen!

När det gäller programmering i skolan så är det ingenting du kan lite på att det kan hjälpa dig någonstans. Inte ens på universitet så får man de värdefulla kunskaper som kommer ifrån att man faktiskt har programmerat och varit intresserad av det en längre tid utan vill du hålla på med detta så krävs det att du spenderar din fritid med det.

Så sätt igång och bygg en portfolio! Knacka kod av hjärtans lust och gör dig imponerad av hur mycket du kan skapa med några tangenttryckningar! GL HF!

Håller med!

Som alla skrivit ovan är att behörighet till högskola viktigt. Det som gäller är att kunna visa att du kan ta in information och sedan tillgodogöra dig informationen. Det är det man lär ut på universitet/högskolor och i viss mån gymnasiet.

Vad du väljer för inriktining i gymnasiet är relativt oviktitgt, bara du får behörighet till universitet och högskolor.(Och kanske specifikt det du vill arbeta med, som i detta fallet borde du välja en teknisk inriktning.(Datavetenskap,högskoleingenjör i inbyggdasystem... osv))

Som jag skrivit i några andra trådar så är blandningen av mina kollegors utbildning högst varierande. Vi har några maskiningenjörer, en kemist, en datavetare, en elektroingenjör och en systemvetare. Det gemensamma är att alla har en högskoleutbildning och uttagen examen. Och alla är nu programmerare. Vi hoppar hej vilt mellan olika programmeringsspråk, men huvudspåret är LabView och C#/C++. Även om vi ibland får göra lite appar i Objetive-C och Java eller "grotta" ned oss i Fortran. Den kunskap man inte har skaffar man sig.

Min bakgrund är själv högskoleingenjör i inbyggda system som jag sedan läste ett år till på och tog ut en magisterexamen. På min utbildning fick jag lära mig programmera C och C++. Sedan fick jag jobb där jag skulle programmera C# och det var inga problem att göra det... Kan man grunderna i programmering så spelar det egentligen mindre roll vilket språk du programmerar i.

Och jag hatar matte. (Hade VG,G,VG,G,VG i matte A,B,C,D,E) Fick slita hårt för att få de betygen. (Läste natur på Rudbeckianska i Västerås)

Lycka till!

Visa signatur

Lill-server(2010): SFF NAS Zotac H55ITX-C-E, Lian Li PC-Q08B, Intel Core i3 540
Stor-server(2014): SuperMicro X10SL7-F, 20GB ECC RAM, 4x2TB WD Green, E3-1230v3, 2xIntel Dual Gigabit Nic

Permalänk
Medlem
Visa signatur

intel i5, a-data 4 gb ram, 1 tb caviar black, gigabyte hd5850, win 7 x64 home premium, gigabyte p55m-ud2, dwa-140 wireless

Permalänk
Medlem

Jag ser intresse och förkunskap i programmering som nästan ett måste, jag kan bara utgå från mig själv och där var programmeringen ett intresse många år innan man började på gymnasiet, själv började man med basic på de tidiga commodore maskinerna vilket följdes at MIKRO asm men blev snabbt för mig ersatt av 68k asm när Amigan var det bästa

Sen den vägen gick det, jag tycker att en bra början är grundläggande kodknackande i text miljö, jag brukar rekommendera folk utan erfarenhet att börja med ett lätt grundspråk som tex pascal vilket är jätte lätt att lära sig sedan kommer delphi automatiskt

Det viktigaste är just att förstå programmering, inte bara de olika syntaxerna utan grunden vilket när man har den underlättar enormt inlärningen av nya språk.

Nu tycker jag man skall börja i låg ålder och börja från grunden, men det är självklart inte ett måste och innan någon hackar på pascal så kan jag säga att jag tycker det är ett extremt lättlärt språk men självklar behöver man inte lära sig det utan kan byta ut det mot valfritt, dock blir pascal kul så fort man kommer in i det och börjar använda graph.

Så folk får göra som dem vill men börja från grunden så att hoppa på VB eller delphi direkt tycker jag inte är rätt väg att gå alls.

Edit: jag har själv lärt ut pascal samt delphi till ett flertal personer förr som hade 0 förkunskap om någon form av programmering eller scriptande och en av dem jobbar med java programmering idag och han tyckte det var en bra start han fick detta är dock många år sen nu.
Sen självklart ser jag fortfarande att folk börjar ännu mer grundläggande än pascal men frågan är om man har tid med det nuförtiden.

Visa signatur

Amiga 3000 (1990), CPU: 68060 66MHz, RAM: 2MB chip 470MB Fast, GFX: ECS+RTG zz9000 @ 1920x1080, HDD: 32GB SSD/PATA, 128GB SCSI, DVD-Brännare/SCSI, Chassi: Original Desktop. www.som99.se

Permalänk
Medlem

Man blir ju inte egentligen en programmerare, utan snarare en utvecklare. Det kan låta som en rent semantisk skillnad, men det är det inte. Som några tidigare påpekat är det egentligen egalt vilket språk man "lär sig" först, eftersom man sällan kan veta vilket språk (och andra verktyg) man kommer jobba med i nästa projekt. En VÄLDIGT stor andel av all "programmering" handlar inte om nyutveckling, utan om att komma in i en existerande och ofta väldigt omfattande kodbas, som ska vidareutvecklas, testas, optimeras, rättas eller på något annat sätt hanteras.
Jag har genom många års erfarenhet slutit mig till att det här är några saker som folk i allmänhet skulle behöva bättre kunskaper i:

- trådsäkerhet (man måste verkligen förstå det här konceptet, eftersom de mest svårhittade buggarna ofta uppkommer i stora system där folk inte tagit trådsäkerheten på allvar).

- effektivitet (viktigast i inbyggda system där man inte sällan har några få kB ledigt ROM eller RAM och inte kan slösa bort en enda byte).

- versionshantering (det är många som tror de kan versionshantera men som gång efter annan ställer till det när det visar sig att de inte alls fattat. Speciellt viktigt är det att förstå konceptet eftersom man aldrig kan vara säker på om nästa projekt eller arbetsplats använder GIT, ClearCase, Subversion, SourceSafe eller något annat system som finns idag eller kommer i morgon).

- läsbarhet (alldeles för många är alldeles för slapphänta när det gäller att namnge klasser, metoder, funktioner, variabler, konstanter. Och nästan ingen verkar förstå vikten av vettiga kommentarer. Se kommentaren i början av det här inlägget: det är sällan man utvecklar ny kod, men väldigt ofta man kommer in och ska hantera någon annans redan existerande. Och när man är klar med det kommer nästa person vid något annat tillfälle att behöva göra samma sak med det man nyss skrev. Om fler var bättre på att lämna ifrån sig läsbar, välstrukturerad och välkommenterad kod skulle mycket vara vunnet.)

- best practices (det är förbluffande många som uppfinner hjulet gång på gång. För nästan varje uppgift finns det ett antal olika sätt att lösa den, och beroende på situationen är nästan alltid ett av sätten bättre än de andra. Alla borde ha målet att lämna ifrån sig kod som är lätt att underhålla och som minimerar risken för att den vid något framtida tillfälle måste skrivas om, och ett sätt att sträva mot det målet är att varje gång välja det bästa sättet att lösa uppgiften.)

Det här är inget man lär sig på egen hand. Man kan få grunderna på en högskola och delvis utveckla dem hemma i egna hobbyprojekt, men den riktiga förståelsen och kunskapen kommer inte förrän man jobbat några år i några olika projekt, gärna på några olika arbetsplatser. Det är också anledningen till att arbetsgivarna gärna ser att sökande till utannonserade tjänster har "några års erfarenhet". Det är bara att inse att nyutexade och självlärda egentligen inte kan särskilt mycket, eller rättare sagt: de har ofta massor med teori men väldigt liten praktisk erfarenhet av det slag man bara kan få hands-on i arbetslivet. Dessutom är det en förutsättning att man inser att man aldrig blir färdiglärd.. fem-tio år fram i tiden är det inte lätt att sia om vad man kommer behöva för färdigheter.

Med allt detta sagt.. till TS: oroa dig inte över att du måste välja "rätt språk" eller att du måste "börja i tid", men se till att du får behörighet till en högskola. Den största delen av din utbildning kommer ändå inte förrän efter du är klar med den, så det är ingen panik

Permalänk
Medlem
Skrivet av -=|ZetaXtreme|=-:

Att ta fram optimerade algoritmer påminner ju ofta om att bygga matematiska funktioner, ofta går samma problem att lösa med bruteforce och idag är datorer så pass kraftfulla att det oftast funkar helt ok bara lite mer lagg men i många miljöer är det knappast önskvärt.

Att det skulle gå att lösa problem med hjälp av bruteforce för att datorerna är så snabba idag stämmer inte. Att lösa ett problem som är NP-Complete med hjälp av bruteforce kan lätt ta några miljoner år med dagens datorer (givetvis beroende på storlek men exekveringstiden blir mycket snabbt orimlig då den växer exponentiellt med problemets storlek).

Skrivet av SnowJim:

Jag har pluggat en del matte även på högskolan och därefter jobbat på 3-4 olika företag som utvecklare inom en massa projekt både mer och mindre avancerade. Visst har man stött på ett o annat problem som krävt matte men förövrigt har det varit väldigt basic matte kunskaper som man i de flesta fall redan har efter att man är färdig med Matte C. Så jag förstår inte helt vad man menar med att det krävs avancerad matte? Självklart förstår jag om man jobbar med uppgifter där matte är en del av ämnet, ex Ekonomi men annars vill jag inte påstå att matte på högre nivå är nödvändigt.

Det beror på vad man gör. Eftersom du skriver ex. Ekonomi känns det inte som du riktigt förstår problemet eller är det jag som missuppfattar dig? Om du jobbar på avancerad nivå måste du kunna räkna och analysera algoritmerna du skriver. Kanske kan ett formellt bevis behövas för att säkerställa korrektheten av din algoritm, hur vet du att det alltid fungerar i alla lägen, du kan inte testa alla fall. Jag är dock medveten om att de flesta programmeringsjobb inte kräver dessa kunskaper, detta är och snuddar lite på forskning inom området men vill man bli riktigt duktig är det denna vägen man ska gå.

Permalänk
Skrivet av SnowJim:

Jag har pluggat en del matte även på högskolan och därefter jobbat på 3-4 olika företag som utvecklare inom en massa projekt både mer och mindre avancerade. Visst har man stött på ett o annat problem som krävt matte men förövrigt har det varit väldigt basic matte kunskaper som man i de flesta fall redan har efter att man är färdig med Matte C. Så jag förstår inte helt vad man menar med att det krävs avancerad matte? Självklart förstår jag om man jobbar med uppgifter där matte är en del av ämnet, ex Ekonomi men annars vill jag inte påstå att matte på högre nivå är nödvändigt.

Optimering kan man såklart göra på olika nivåer men än så länge har jag aldrig stött på optimering där jag behövt fundera över matematiska formler istället har det varit ren kod optimering.

Jag säger dock inte att matte är helt ointressant för en utvecklare, jag tror fortfarande att matte ger en ett visst logiskt tänkande som man undermedvetet använder sig av i utvecklingen.

Mest används det ju när man optimerar algoritmer, framförallt i system där prestanda är kritiskt. Jag har haft användning av det när jag kodat till små "slöa" integrerade system som ska utföra många hyfsat avancerade uppgifter och sedan kommunicera med andra system men tack vare smartphones har utvecklingen raketsjutit där och nu är det inte längre ovanligt med 1GHz ARM Cortex A8 med typ 512MB ram (förra generationens smartphones) vilket också gör att man kan köra slarvigare kod även där. Project Euler är ju ett bra exempel där många problem går att lösa med bruteforce och även hyfsat fort men det är ju inte optimalt eller rätt utan problem bör ju lösas matematiskt och sedan skrivas med kod, på så vis kan koden köras snabbt även på en 20 år gammal dator eller i saker som körs hela tiden i tungt belastade system.

Skickades från m.sweclockers.com

Visa signatur

[i7 2600k @ 5GHz| NH-D14, fläktar utbyta mot ljudlösa 120mm SySS 800| Asus P8P67| HD6870 DirectCU| Corsair 4x8GB (32GB) 1600MHz DDR3| Moddat Corsair 550VX | Mac Pro / G5 Chassi| 2x120GB raid0 Intel 520 sys+ 2x3TB slask & home (riktig lagring på 12TB ZRAID NAS som även home backuppas/rsyncas till) ] - Helt ljudlös om man inte lägger örat intill chassit
[ MacBook Pro Retina 13 | 16GB ram | 256GB PCIe SSD | OS X(main), Arch ]

Permalänk
Skrivet av RaBoX:

Att det skulle gå att lösa problem med hjälp av bruteforce för att datorerna är så snabba idag stämmer inte. Att lösa ett problem som är NP-Complete med hjälp av bruteforce kan lätt ta några miljoner år med dagens datorer (givetvis beroende på storlek men exekveringstiden blir mycket snabbt orimlig då den växer exponentiellt med problemets storlek).

Det beror på vad man gör. Eftersom du skriver ex. Ekonomi känns det inte som du riktigt förstår problemet eller är det jag som missuppfattar dig? Om du jobbar på avancerad nivå måste du kunna räkna och analysera algoritmerna du skriver. Kanske kan ett formellt bevis behövas för att säkerställa korrektheten av din algoritm, hur vet du att det alltid fungerar i alla lägen, du kan inte testa alla fall. Jag är dock medveten om att de flesta programmeringsjobb inte kräver dessa kunskaper, detta är och snuddar lite på forskning inom området men vill man bli riktigt duktig är det denna vägen man ska gå.

Jo det vet jag, vad jag menade var att många problem går att lösa bruteforce (medvetet eller ej) bara att programmen blir segare, laddningstider längre osv. Men sen fattar jag att många problem verkligen kräver bra optimerade algoritmer. Tror faktiskt du är inne på samma bana som mig när jag menar att man har mer användning av matte inom avancerad programmering.

Skickades från m.sweclockers.com

Visa signatur

[i7 2600k @ 5GHz| NH-D14, fläktar utbyta mot ljudlösa 120mm SySS 800| Asus P8P67| HD6870 DirectCU| Corsair 4x8GB (32GB) 1600MHz DDR3| Moddat Corsair 550VX | Mac Pro / G5 Chassi| 2x120GB raid0 Intel 520 sys+ 2x3TB slask & home (riktig lagring på 12TB ZRAID NAS som även home backuppas/rsyncas till) ] - Helt ljudlös om man inte lägger örat intill chassit
[ MacBook Pro Retina 13 | 16GB ram | 256GB PCIe SSD | OS X(main), Arch ]

Permalänk
Medlem
Skrivet av Mikael_Berglund:

När det gäller programmering i skolan så är det ingenting du kan lite på att det kan hjälpa dig någonstans. Inte ens på universitet så får man de värdefulla kunskaper som kommer ifrån att man faktiskt har programmerat och varit intresserad av det en längre tid utan vill du hålla på med detta så krävs det att du spenderar din fritid med det.

Av ren nyfikenhet - vad grundar du det på? Vad är det exakt för värdefulla kunskaper som man lär sig hemma men inte i skolan? Varför skulle man inte kunna lära sig det (vad det nu kan vara) när man knackar på ett skolprojekt?

Permalänk
Medlem
Skrivet av Amöban:

Av ren nyfikenhet - vad grundar du det på? Vad är det exakt för värdefulla kunskaper som man lär sig hemma men inte i skolan? Varför skulle man inte kunna lära sig det (vad det nu kan vara) när man knackar på ett skolprojekt?

Jag tror att det han menar är att skolan ger bara en grundläggande kunskap även på högskolenivå, resten får man lära sig på fritid eller genom jobbet.

Som jag sagt så min erfarenhet av diverse utvecklings kurser är att man måste gå en bra bit utan för kraven för kursen om man verkligen ska få något ut av det och då förutsätter jag såklart att man har ett gediget intresse för utveckling och sysslar med det på sin fritid.

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Medlem
Skrivet av RaBoX:
Skrivet av -=|ZetaXtreme|=-:

Aha, då förstår jag vad ni menar men det är inget som jag behövt göra hitintills faktiskt. Visst har man optimerat men det har aldrig behövt gå på ett sådant djup än. Förstår att det kan mycket väl vara ett krav när det gäller inbyggda system där resurserna är väldigt begränsade.

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Skrivet av Amöban:

Av ren nyfikenhet - vad grundar du det på? Vad är det exakt för värdefulla kunskaper som man lär sig hemma men inte i skolan? Varför skulle man inte kunna lära sig det (vad det nu kan vara) när man knackar på ett skolprojekt?

Just skolprojekt kan lätt ge samma förståelse för programmering som att knacka hemma och visst går det snabbare att lära sig saker när man kan få hjälp av någon som är kunnig i ämnet. Men precis som SnowJim sa så menade jag att inte ens universitet/högskola kan ge en tillräckligt bra kunskap för att man ska bli en bra programmerare och absolut inte gymnasiets programmering även om det helt klart är en bra grund!

Detta grundar jag på att jag själv läser sista året en datalinje på KTH och många av mina kurskamrater har inte en tillräcklig förståelse för programmering för att jag skulle vilja göra något större projekt med dem (som programmerare dvs, många är überduktiga på HCI eller liknande men vet inte vad en konstruktor är för något). Det finns några kurser här som går utanför den vanliga kravspecifikationen och faktiskt kräver att man programmerar snyggt och visar en bra förståelse för språket men de är snarare undantag än regel utav det jag har sett. Mycket av det kommer ifrån att programmering är ett så enormt ämne och en bra programmerare ska inte bara ha förståelse för själva språket utan också hur kompilatorer, länkare, minneshantering, garbage-collection etc fungerar och det går aldrig under några små kurser att testa allt sånt, det är en livstids kunskap.

Visa signatur

Avatarkreds till: http://imgur.com/HOxIL
Alakai säger: Ryssen skrattar. Norrland hembränner på uppdrag av regeringen. Sälar dör i blyförgiftning, fulla och glada. Förvirringen är total. Kungen är nöjd.

Permalänk
Medlem

Mycket intressant att läsa här även för mig som är inne på tredje högskoleåret..

Tänkte bidra med mina tips:
Som en del redan har sagt, plugga så mycket matte du bara kan, det kommer hjälpa dig så otroligt mycket i så många olika steg. Fysik är inte fy skam och ha läst heller. Kolla intagningskr även på högskolorna så får du n humm om vad du ska plugga på extra mycket.

Sätt igång och programmera redan idag. Jag började programmera i C# vilket var ett mycket trevligt och enkelt språk att komma in i. När det gäller litteratur så är internet en ändlös källa med fakta, på boksidan så kan jag rekommendera Jan Skansholms böcker. Har själv hans bok om C#, lättläst och väldigt nybörjarvänlig. Givetvis går det även att börja programmera i andra spåk men C# känns som ett av de enklare nybörjarspråken. Dessutom finns där även Xna för den spelintresserade. Utvecklingsmiljö till C# finns att tanka hem gratis från microsoft. Visual Studio Express.

Finns så mycket mer att säga inom ämnet men det absolut viktigaste är att du har kul medan du programmerar!

Skickades från m.sweclockers.com