Permalänk

Algoritm bok utan matte.

Tja. Har kikat på några algortim böcker men alla dessa har mer eller mindre kört med ganska avancerat matte (enligt mig). Då mina Mattekunskaper inte sträcker sig längre än Matte A,B,C på gymnasiet, undrar jag om det finns någon bok där ute som behandlar algoritmer utan en massa matte inblandat. Tack.

Permalänk
Medlem

Vad är det du är ute efter egentligen? Algoritmer och bra programmeringslösningar hör i regel ihop med bra matematiska lösningar.

Har du exempel på vad du är ute efter?

Om du menar saker som något halflummigt upplägg med "såhär parsar man en jpeg-bild" eller "såhär skapar man en bra pathfinding" så tror jag inte att du hittar böcker som har lite av varje, utan du får nog leta upp en bok som handlar om aktuellt ämne istället.

Det säger jag pga att de ämnen som jag nämnde nu är lite för komplexa för att bara slänag upp en algoritm "såhär gör du" utan att förklara hur systemet / formatet är uppbygt från grunden.

Men jag tror de här spelutvecklingsböckerna "Game programming gems" är ganska vettiga för spelbruk. De presenterar lite av varje men det skulle förvåna mig om de drar sig för att vara matematiska. Dock är de väl knappast skrivna för att vara för färdigutbildade ingenjörer, så de är knappast skitsvåra.

Permalänk
Citat:

Ursprungligen inskrivet av totoo
Vad är det du är ute efter egentligen? Algoritmer och bra programmeringslösningar hör i regel ihop med bra matematiska lösningar.

Har du exempel på vad du är ute efter?

Om du menar saker som något halflummigt upplägg med "såhär parsar man en jpeg-bild" eller "såhär skapar man en bra pathfinding" så tror jag inte att du hittar böcker som har lite av varje, utan du får nog leta upp en bok som handlar om aktuellt ämne istället.

Det säger jag pga att de ämnen som jag nämnde nu är lite för komplexa för att bara slänag upp en algoritm "såhär gör du" utan att förklara hur systemet / formatet är uppbygt från grunden.

Men jag tror de här spelutvecklingsböckerna "Game programming gems" är ganska vettiga för spelbruk. De presenterar lite av varje men det skulle förvåna mig om de drar sig för att vara matematiska. Dock är de väl knappast skrivna för att vara för färdigutbildade ingenjörer, så de är knappast skitsvåra.

Jag är inte ute efter spelprogrammering, utan rent generellt programmeringstänkande, jag vill inte och kommer aldrig syssla med spelprogrammering då denna bransch kräver att man kan sitt matte och som jag sa mina mattekunskaper sträcker sig till C nivå (gymnasiet).

Jag ser i din signatur att du kan PHP, MySQL och JS och antar att du kan dina grejer, så mitt fråga är till dig, om jag nu skulle vilja skapa halv avancerade system, från grunden dvs utan att copy pasta andras kod utan från skiss till färdig lösning, vilken är det bästa vägen att gå. Det är därför jag syftade på algoritmer då jag tror att jag behöver komma in i själva programmeringstänkandet.

Permalänk
Medlem

game programming gems är ändå bra till mycket, jag tror faktiskt att av alla programmeringsböcker så lär dessa vara bland de bättre för det du pratar om. T.ex. minns jag att jag för typ 6-7 år sedan läste i en sådan bok om ett "meddelandesystem" där objekt i en applikation kommunicerar med varandra. Det jag läste där ligger kvar och gnager i mitt huvud även när jag kodar php...

Av alla programmeringsböcker jag känner till så passar de bäst in på vad du beskriver. Jag tycker du skolla upp dem, typ ta en titt på en innehållsförteckningen (som borde finnas på nätet) så att du ser vad de innehåller.

Bästa vägen att gå... Ja... Älska att koda... Koda mycket... Gör inte så mycket annat.... Koda mer än vad du borde... Efter några år kommer du känna att det var värt det....Ta detta med en liten nypa salt, men jag programmerar hela tiden, nästan precis hela tiden. Det är bland det roligaste jag vet. Därför har jag blivit ganska duktig, ganska erkänd och det gör det inte mindre roligt att hålla på.

Men något jag försöker säga till folk som är nya är att inte ha för bråttom. Man ska aldrig ta genvägar. Man ska inte börja med att göra det tuffaste och man ska ABSOLUT INTE börja använda skitspråk (som gör jobbet åt dig) och en massa "fuskbibliotek" för att direkt få börja göra tuffa saker. När jag började göra spel så började jag i dos. Det tog flera år innan jag överhuvudtaget började med en windowsapplikation. Några av mina kompisar började med att göra 3dspel i opengl.... Gissa vilka som la ner och vem som fortsatte?

Skynda långsamt och lär dig koda innan du gör tuffa saker. Börja inte med att göra ett community eller nåt annat barnsligt ambitiöst...

Om du börjar koda nu - räkna med att vara "rätt bra" om 5 år. Försök inget annat.

Permalänk
Citat:

Ursprungligen inskrivet av totoo
game programming gems är ändå bra till mycket, jag tror faktiskt att av alla programmeringsböcker så lär dessa vara bland de bättre för det du pratar om. T.ex. minns jag att jag för typ 6-7 år sedan läste i en sådan bok om ett "meddelandesystem" där objekt i en applikation kommunicerar med varandra. Det jag läste där ligger kvar och gnager i mitt huvud även när jag kodar php...

Av alla programmeringsböcker jag känner till så passar de bäst in på vad du beskriver. Jag tycker du skolla upp dem, typ ta en titt på en innehållsförteckningen (som borde finnas på nätet) så att du ser vad de innehåller.

Bästa vägen att gå... Ja... Älska att koda... Koda mycket... Gör inte så mycket annat.... Koda mer än vad du borde... Efter några år kommer du känna att det var värt det....Ta detta med en liten nypa salt, men jag programmerar hela tiden, nästan precis hela tiden. Det är bland det roligaste jag vet. Därför har jag blivit ganska duktig, ganska erkänd och det gör det inte mindre roligt att hålla på.

Men något jag försöker säga till folk som är nya är att inte ha för bråttom. Man ska aldrig ta genvägar. Man ska inte börja med att göra det tuffaste och man ska ABSOLUT INTE börja använda skitspråk (som gör jobbet åt dig) och en massa "fuskbibliotek" för att direkt få börja göra tuffa saker. När jag började göra spel så började jag i dos. Det tog flera år innan jag överhuvudtaget började med en windowsapplikation. Några av mina kompisar började med att göra 3dspel i opengl.... Gissa vilka som la ner och vem som fortsatte?

Skynda långsamt och lär dig koda innan du gör tuffa saker. Börja inte med att göra ett community eller nåt annat barnsligt ambitiöst...

Om du börjar koda nu - räkna med att vara "rätt bra" om 5 år. Försök inget annat.

Jag är ju inte någon nybörjare på programmering, (hur man nu definierar en nybörjare) utan jag har gått en del kurser på universitetet som behandlar programmering (30 poäng). Har även kodat en del vid sidan av, men har inte byggt något själv. Det som jag känner att jag har problem med är just att tänka programmering, jag menar, problemlösning, hur dela upp problemet, var börja, osv. Hoppas du fattar. Och by the way, jag har inte 5 år på mig, utan jag är nyexaminerad systemvetare som blivit konfronterad med att vi skall kunna så mycket mer än vad vi lärde oss på universitetet när det gäller programmeringsbiten. Grejen är de att jag gillar programmering skarpt, men känner att mina kunskaper inte räcker till för ett utvecklingsjobb.

Permalänk
Medlem

börja koda på något spännande då. Bestäm dig för något som det kan finnas behov av eller intresse kring. Det är flera på swec som har gjort riktigt tuffa mjukvaror, allt från egna communityn, forum, bildtjänster etc, det är bara att börja med något. Gör en modell "ganska enkel" webbshop eller nåt om det vore intressant.

Nu nämnde jag ju bara webbtjänster, för det är bara sådant som intresserar mig i dagsläget, men ja.. Det är bara att börja. Gör något kul och spännande som du kommer lära dig mycket av. Oavsett va du väljer att göra så kommer du nog efter ett tag tycka att programmet suger, för du hade dålig inblick i vad som skulle göras och du var en dålig kodare. Så har jag upplevt läget i nästan varje projekt jag har jobbat med - och det är en naturlig del i min utveckling. Så när du känner så - börja om och gör applikationen bättre eller börja på nästa.

Det är bara att jobba! Det är mitt tips! Välj ut något givande, något du kan ägna dag och natt till utan att det blir tråkigt.

Permalänk
Citat:

Ursprungligen inskrivet av totoo
börja koda på något spännande då. Bestäm dig för något som det kan finnas behov av eller intresse kring. Det är flera på swec som har gjort riktigt tuffa mjukvaror, allt från egna communityn, forum, bildtjänster etc, det är bara att börja med något. Gör en modell "ganska enkel" webbshop eller nåt om det vore intressant.

Nu nämnde jag ju bara webbtjänster, för det är bara sådant som intresserar mig i dagsläget, men ja.. Det är bara att börja. Gör något kul och spännande som du kommer lära dig mycket av. Oavsett va du väljer att göra så kommer du nog efter ett tag tycka att programmet suger, för du hade dålig inblick i vad som skulle göras och du var en dålig kodare. Så har jag upplevt läget i nästan varje projekt jag har jobbat med - och det är en naturlig del i min utveckling. Så när du känner så - börja om och gör applikationen bättre eller börja på nästa.

Det är bara att jobba! Det är mitt tips! Välj ut något givande, något du kan ägna dag och natt till utan att det blir tråkigt.

Ok, låter najs. Men hur gör du när du kodar? Sätter du när dig och börjar hacka kod direkt, eller skapar du först lösningen på papper, dvs hur varje del kommunicerar med varandra, vilka funktioner du ska ha (Tex använda UML) etc?

Permalänk
Medlem

Data Structures and Algorithms in Java, 2nd Edition av Robert LaFore kanske kan vara något? Hade den i en programmerings kurs på universitetet. Den innehåller inte avancerade matte utan håller det enkelt. Det finns även ett online kapitel från boken och en kort beskrivning om den på http://www.samspublishing.com/bookstore/product.asp?isbn=0672....

Visa signatur

Signatur?

Permalänk
Medlem

När det kommer till algoritmer är denna bok lite av boken med stort B.

Och som systemvetare är det givetvis helt rätt att skapa lösningen på papper innan man ens börjar tänka på att skriva kod.

I egna projekt brukar iaf jag speca upp ungefär vad det är jag vill ha, prioritera dem och sedan ta mig an basfunktionaliteten. När/om projektet börjar lämna planeringsstadiet, vill säga. En timme i början av ett projekt är värd mycket mer än en timme i slutet av ett projekt (när det gäller design, åtminstone).

Visa signatur

The power of GNU compiles you!
"Often statistics are used as a drunken man uses lampposts -- for support rather than illumination."

Permalänk
Medlem

kode, den boken är nog inte så bra om man inte är intresserad av matten bakom algoritmer. Visst är den en riktigt bra bok (använder den mycket själv) men en stor del av boken går ut på att förklara matematiken bakom algoritmerna och bevis, vilket kan vara svårt att sätta sig in i om man inte är så insatt i den matematiken.

Om man inte vill veta så mycket matematik om algoritmer skulle jag rekoemdera wikipedia, där står de flesta av de mest använda algoritmerna förklarade.

Visa signatur

http://www.dvp.nu
#dvp @ quakenet.org

Permalänk
Citat:

Ursprungligen inskrivet av kode
När det kommer till algoritmer är denna bok lite av boken med stort B.

Och som systemvetare är det givetvis helt rätt att skapa lösningen på papper innan man ens börjar tänka på att skriva kod.

I egna projekt brukar iaf jag speca upp ungefär vad det är jag vill ha, prioritera dem och sedan ta mig an basfunktionaliteten. När/om projektet börjar lämna planeringsstadiet, vill säga. En timme i början av ett projekt är värd mycket mer än en timme i slutet av ett projekt (när det gäller design, åtminstone).

Läste lite på Amazon vad andra skrivit om denna bok.

Citerar : * Don't bother with this book unless you have a high aptitude for math

Alltså, inget för mig, som sagt, matte och jag är inte bästa vänner och jag tänker heller inte lära mig någon avancerad matte, för hade jag velat göra det så hade jag gjort det för länge sedan. Jag vet att som utvecklare/programmerare så kommer man långt med (+-/*). Men du ska ha tack för tipset iallafall.

Edit: Spenen hann före.....

Permalänk
Medlem

problemet är ju att det är svårt att förklara algoritmer utan att ta med matten i det. det är ont om enkla lösningar när det gäller algoritmer, tror jag.

Ren problemlösning är ju egentligen en lite annan historia. Tror det mest är övning som gäller där.

Visa signatur

The power of GNU compiles you!
"Often statistics are used as a drunken man uses lampposts -- for support rather than illumination."

Permalänk
Medlem

Varför skulle du kunna massa matte? Eller en bättre fråga. Vad sak du med massa algoritmer till? En algoritm är på inget sätt ett magiskt ting. Det är en serie händelser. Visst matte är bra att kunna men det är inte livsviktigt att kunna allt innom alla områden av programmering.

Ta bara något lättare språk som tex Python ( <3 ) eller ruby och börja koda. Oftast handlar det bara om att behandla data för att uppnå ett riktigt resultat. Och *poff* har du en algortim.

Puss.

Visa signatur

Opera user | 3.6 GHz AMD Phenom II X4 | 6144MB RAM | AMD ATI HD7870 2GB | Det är jag det.
Linux, Eating apple and smashing Windows.

Permalänk

Den enda algoritm-boken jag äger och använder regelbundet.

[1] The Algorithm Design Manual, Steven S. Skiena

This volume helps take some of the "mystery" out of identifying and dealing with key algorithms. Drawing heavily on the author's own real-world experiences, the book stresses design and analysis. Coverage is divided into two parts, the first being a general guide to techniques for the design and analysis of computer algorithms. The second is a reference section, which includes a catalog of the 75 most important algorithmic problems. By browsing this catalog, readers can quickly identify what the problem they have encountered is called, what is known about it, and how they should proceed if they need to solve it. This book is ideal for the working professional who uses algorithms on a daily basis and has need for a handy reference.

Rekomenderar även följande bok som ett komplement om man vill träna sig på att lösa problem:

[2] Programming Challenges, Steven S. Skiena

The challenges of problems from international programming competitions are an effective way to improve algorithmic and coding skills and understanding. This book uses international programming competition-type problems to motivate the study of algorithms, programming, and other topics in computer science. It includes more than 100 programming challenges, as well as the theory and key concepts necessary for approaching them. Problems are organized by topic, and supplemented by complete tutorial material. Readers gain a concrete understanding of both algorithmic techniques and advanced coding topics.

[1] http://www.amazon.com/Algorithm-Design-Manual-Steve-Skiena/dp...

[2] http://www.amazon.com/Programming-Challenges-Steven-S-Skiena/...

Permalänk
Medlem

Du kommer inte hitta någon "algoritm-bok utan matte"
Låter dock som att du söker efter något helt annat.

Om du däremot vill ha en bra algoritm-bok så rekommenderar jag http://www.adlibris.se/product.aspx?isbn=0262531968
Mycket bra

Permalänk
Citat:

Ursprungligen inskrivet av BobbyFromDallas
Den enda algoritm-boken jag äger och använder regelbundet.

[1] The Algorithm Design Manual, Steven S. Skiena

This volume helps take some of the "mystery" out of identifying and dealing with key algorithms. Drawing heavily on the author's own real-world experiences, the book stresses design and analysis. Coverage is divided into two parts, the first being a general guide to techniques for the design and analysis of computer algorithms. The second is a reference section, which includes a catalog of the 75 most important algorithmic problems. By browsing this catalog, readers can quickly identify what the problem they have encountered is called, what is known about it, and how they should proceed if they need to solve it. This book is ideal for the working professional who uses algorithms on a daily basis and has need for a handy reference.

Rekomenderar även följande bok som ett komplement om man vill träna sig på att lösa problem:

[2] Programming Challenges, Steven S. Skiena

The challenges of problems from international programming competitions are an effective way to improve algorithmic and coding skills and understanding. This book uses international programming competition-type problems to motivate the study of algorithms, programming, and other topics in computer science. It includes more than 100 programming challenges, as well as the theory and key concepts necessary for approaching them. Problems are organized by topic, and supplemented by complete tutorial material. Readers gain a concrete understanding of both algorithmic techniques and advanced coding topics.

[1] http://www.amazon.com/Algorithm-Design-Manual-Steve-Skiena/dp...

[2] http://www.amazon.com/Programming-Challenges-Steven-S-Skiena/...

Detta är nog det jag är ute efter, ren problemlösning, dvs programmerinstänkande. Jag kanske var lite vag i min beskrivning av vad jag egentligen ville, men jag ska ta mig en titt på dessa böcker. Men BobbyFromDallas, Programming Skills boken kanske är lie overkill för mig, jag menar vilke nivå ligger boken på på skal 1-10 där 1 är nybörjare och 10 fulljärdad kodare.

Vad tycker ni om denna bok, någon som läst den ?
http://www.studentlitteratur.se/o.o.i.s?id=2474&csid=66&artnr...

Det jag också saknar i de flesta böcker jag läst (Förutom Java Direkt av Skansholm) är t ex övningsuppgifter efter varje kapitel. Skansholm boken är Okej, men jag skulle vilja ha mer rena programmerinsuppgifter utan att blanda in någon avancerad matte förutom +-/* övningsuppgifterna. Problemet är att Skansholm boken vänder sig till Civilingenjörer i första hand så som jag förstått
och att matte på högre nivå är inblandat i 60 % av övningsuppgifterna vilket inte gör livet lättare för mig direkt.
En grej till, jag har aldrig varit någon höjdare på matte men gillar programmering skarpt, så om någon tror att jag är bara nån lat besserwisser har fel Tack på förhand.

Permalänk
Avstängd

Jag tror det blir svårt att få någon bättre förståelse för algoritmer utan matte. På KTH är algoritminriktningen, den fördjupning som är svårast och kräver mest matte av alla program och fördjupningar. Det är nästan som att säga att "jag vill jobba som civilekonom utan att behöva lära mig ekonomi". Sen är matte inte så himla svårt som du verkar tro, om du bara lär dig lite hur man tänker så kommer du snart se att du kommer bli bättre på matematik oxå. Algoritmer är egentligen matematiskt tänkande. Du kommer aldrig ifrån matematiken. Men grundläggande algoritmteori är inte så svårt och väldigt användbart. Vilken algoritm är bäst, av dessa två? Ja, hur svarar man på det, utan att kunna kvantifiera hur bra en algoritm är?

Matten används inom algoritmteori, för att kunna "mäta" hur effektiv en algoritm är. Kan du inte "mäta" olika algoritmer, så har du egentligen inte en aning om vad du gör.

Permalänk
Glömsk
Citat:

Ursprungligen inskrivet av Kurcolino
Ok, låter najs. Men hur gör du när du kodar? Sätter du när dig och börjar hacka kod direkt, eller skapar du först lösningen på papper, dvs hur varje del kommunicerar med varandra, vilka funktioner du ska ha (Tex använda UML) etc?

Här är ditt problem, inte algoritmerna. Det finns ingen algoritm för utveckling om man säger så.

Programmering blir man bra på genom att programmera, alltså genom att läsa och skriva kod. Som Totoo rekommederar jag att du bestämmer att du ska skapa ett program, en enkel epostklient eller något, och sedan försöker du göra det. Sen väljer du något annat projekt och upprepar.

Ämnen inom teoretisk datavetenskap (typ algoritmer och datastrukturer) kan du läsa senare. Det kommer inte hjälpa dig i början.

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Psionicist
Ämnen inom teoretisk datavetenskap (typ algoritmer och datastrukturer) kan du läsa senare. Det kommer inte hjälpa dig i början.

Väl talat.