Problemlösning Flashcards

1
Q

Hur ser abstraktionsnivån ut under programmeringsprocessen?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vilka är problemlösningens 6 faser?

A
  1. Förstå problemet
  2. Utarbeta en plan för att lösa problemet
  3. Utföra planen
  4. Utvärdera lösningen
  5. Reflektera över vad du lärt dig
  6. Dokumentera lösningen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad ingår i 1. Förstå problemet?

A

Vad ska du göra?

Vad krävs för att lösa uppgiften?

Kan du beskriva problemet på ett annat sätt?

Matematiskt, modell, flödesschema?

Vad är det du inte vet?

Är det uppgiften att finna det?

Behöver du ytterligare information?

Vilka antaganden gör du?

Går det att bryta ner problemet i mindre delar?
Divide and conquer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad ingår i 2. Utarbeta en plan för att lösa problemet?

A

Har du stött på problemet tidigare?
Finns det likheter med sådant som du löst tidigare?
Finns det delar av problemet som är lättare att lösa?
Finns det en lättare variant av problemet som du kan lösa som en startpunkt för att komma vidare?
Alternativa sätt att beskriva problemet.
Dryfta problemet med någon annan.
Har du utelämnat något?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad ingår i 3. Utföra planen?

A

Skriv ner lösningsprocessen/flödet.
Finns det villkor som behöver vara uppfyllda för att gå från ett steg till nästa?
Ska allting utföras varje gång? Finns det delprocesser som ska utföras flera gånger?
Gå igenom för att validera att lösningsförslaget ”funkar”. Testa.
Kan du strukturera lösningen ”smartare”?
Kommer allt i rätt ordning?
Finns det upprepningar?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad ingår i 4. Utvärdera lösningen?

A

Får man rätt/förväntat resultat?
Om inte, vad kan orsaka detta?
Om du tror att resultatet är rätt, hur vet du att det är rätt.
Testa med olika indata.
Finns det delar av lösningen som verkar onödigt komplicerade.
Kan du göra den enklare, snabbare eller tydligare?
Förstår andra hur din lösning funkar?
Om inte, hur kan du göra det förståeligt?
Får andra samma resultat som du?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad ingår i 5. Reflektera över vad du lärt dig?

A

Vad lärde du dig av övningen?
Vad vet du nu som du inte visste innan?
Vad var särskilt utmanande?
Kan du lösa det om du stöter på det igen?
Jämför din färdiga lösning med tidigare försök.
Håll koll på vad du gör och vilka förändringar du gjort under resans gång.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad ingår i 6. Dokumentera lösningen?

A

Finns det delar av lösningen som är svåra att förstå?
Är det för att den är krångligt utförd, eller är lösningen helt enkelt komplicerad.
Om du skulle återse din lösning om fem år, skulle du fortfarande förstå vad du gjort.
Kommentera kod!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly