7101 projekt

Projektidéer följer en bit ner.

I korta drag

  1. välj projekt
  2. gör en lista med mål, det vill säga saker som programmet ska klara av
  3. skriv pseudokod och eller rita flödesschema för den första punkten
  4. Skriv kod och testa att den fungerar. Testa all kod.
  5. Ändra eventuellt på ordningen i mållistan. Kanske ska något mål läggas till. Vid minst tre tillfällen får du ett nytt mål av din lärare.
  6. välj nästa mål på listan
  7. upprepa pukt 3 - 6 tills projektet är klart

Ramar - måsten

  • projektkoden i en egen mapp
  • loggbok förs varje vecka i filen readme.md
  • kod delas på GitHub.
  • Commit och push to GitHub efter varje lyckad kodförändring. Förhoppningsvis flera gånger per lektion.
  • Minst tre nya eller ändrade mål från din lärare. Ska dokumenteras i loggboken.

Loggbok

För loggbok som innehåller:

  • lista med mätbara mål, samt vilka som är avklarade.Det som ska kodas först är överst. Ordningen kan ändras senare vid behov.
  • Pseudokod och eller flödesschema
  • hänvisa till koden
  • reflektion: vad har gått bra?, vad var svårt?, vad har du lärt dig?

Exempel - Black Jack

Lista med mål

  1. Kortlek med fyra 1:or, fyra 2:or, ..., fyra 13
  2. Blanda kortleken
  3. Dra ett kort ur leken
  4. Ge spelaren 2 kort
  5. Ge datorn 1 kort
  6. Spelaren kan välja hit eller stand
  7. Datorn väljer hit eller stand
  8. Vem vinner. Enkel summa. Korten värda 1 - 13.
  9. spela om pengar
  10. Kunna spela en gång till.
  11. Knekt, dam kung värda 10.
  12. Ess är värt 1 eller 11 enlig regelboken
  13. kan splitta handen
  14. Implementera fler regler

Lättare projekt

Enarmad bandit

Vinst

  • tre lika
  • tre sjuor är ännu bättre
  • par

Sten sax påse

Enhetsomvandlare

Exempel:

  • mellan hästkraft och kW
  • mellan km/h och m/s
  • mellan celsius, farenheight, kelvin
  • kvadratmeter, hektar, tunnland
  • recept: matsked, tesked, kryddmått, deciliter
  • recept: volym, vikt för olika livsmedel, t.ex. mjöl, makaroner, socker, ...

Förfina genom att svaret ges med lämpligt prefix.

PQ-formeln för att lösa andragradsekvationer

Lösenordsgenerator

Ange hur långt lösenordet ska vara. Kanske någon mer parameter, t.ex. minst en siffra.

Tidtagare

Timer - äggklocka

Sannolikhet - simulering

Kasta två tärningar 1000 gånger. Hur ofta blir det par. Svara i procent.

Simulera sannolikheten för något annat.

Medelsvåra projekt

Tre luckor

Har varit populärt på TV. Bakom en av tre luckor finns vinsten, t.ex. en bil.

  • Spelaren väljer en av tre luckor.
  • Programledaren öppnar en av de andra två luckorna. Bakom den luckan är det alltid tomt.
  • Spelaren kan sedan välja att behålla sin lucka eller byta till den andra luckan som fortfarande är stängd.

Skriv ett program som simulerar att spelaren behåller luckan 1000 gånger och som simulerar att spelaren byter lucka 1000 gånger.

Sedan vet du om spelaren ska byta eller inte.

Master Mind

Kasta Gris

Kast två grisar.

Escape room - äventyrsspel

Charader

Datorn ger ord, tar tid och räknar poäng.

T.ex. två spelare och tio ord var innan byte.

simulera sannolikheter

Hur stor chans är det att få kåk på given i poker.

Eller något annat fall.

Svåra projekt

Sänka skepp

Spela mot datorn eller mot annan människa men på samma dator.

Black Jack

Yatzy

Cosmic Wimpout

Spelet innehåller fem tärningar. Fyra lika tärningar med sidorna 2, 3, 4, 5, 6, och 10. Den femte tärningen har annan färg. Trean är utbytt mot en stjärna.

Regler för Cosmic Wimpout

RSA-kryptering

Exempel från KTH.

Programmeringsolympiaden

Gör ett gammalt problem.

programmeringsolympiaden

Project Euler

Lös ett av problemen.

Project Euler

Advent of code 2023