Moment 15 – Slutprojekt – Självständigt terminalprogram (deadline 19 maj)

Projektets syfte

Du ska skapa ett självständigt, terminalbaserat program i Python som kombinerar flera moment från kursen. Syftet är att visa vad du lärt dig om struktur, problemlösning, programlogik och interaktion med användaren.

Lärandemål

Efter projektet ska du kunna:

  • Skriva ett program med tydlig meny och struktur.
  • Använda funktioner, loopar, villkor och datastrukturer.
  • Spara och läsa information till och från filer.
  • Dela upp kod i moduler (flera Python-filer).
  • Använda felhantering (try/except).
  • Dokumentera din kod med kommentarer.

Projektidéer (välj en eller föreslå egen)

IdéBeskrivning
📅 ElevregisterRegistrera elever, visa alla, spara till fil, lägg till och ta bort elever.
🍔 BeställningssystemVälj produkter, beräkna totalsumma, spara kvitto till fil.
🎮 SpelEx. ”Gissa talet”, ”Textäventyr” med poäng och highscores.
📚 BokregisterRegistrera böcker, sök, filtrera, spara/läsa fil.
🔮 QuizsystemLäs frågor från fil, kör quiz, spara resultat.

Krav för godkänt (E-nivå)

  • Program med meny.
  • Använd funktioner och loopar.
  • Använd minst en lista eller dictionary.
  • Använd minst en try/except.
  • Tydlig kod med kommentarer.

Högre nivåer (C–A)

  • Strukturera upp kod i moduler (flera .py-filer).
  • Använd flera datastrukturer tillsammans.
  • Spara/läs data från textfil.
  • Effektiv felhantering och bra användarflöde.
  • Genomtänkt design och anpassning till syfte och användare.

Bedömningskriterier (E–C–A)

KriteriumECA
Struktur och menyEnkel meny och några funktionerKlar struktur, loopar och tydlig navigationKomplett meny med flera nivåer
Funktioner och modulstrukturFunktioner används korrektKod uppdelad i flera filer med modulerBra återanvändning av kod, logiskt strukturerat
DatastrukturerEnkla listor eller dictionariesKombinerar strukturer (t.ex. lista av dictionaries)Effektiv användning av flera datastrukturer
FilhanteringSpara/läsa filerDynamisk hantering av data från filStrukturerad filhantering, t.ex. flera filer, autospara
FelhanteringEnkla try/except-blockFelhantering på flera delar av programmetAvancerad felhantering med användarmeddelanden
Kodstil och kommentarerNågra kommentarer, godtagbar stilVälkommenterad kod och bra strukturExemplariskt namnval, struktur och kodläsbarhet
Syfte och användbarhetProgrammet fungerarProgrammet är användbartProgrammet är genomtänkt, anpassat och förbättrat med feedback

Inlämning

Du ska lämna in:

  1. Din/dina .py-filer.
  2. En kort beskrivning (txt eller PDF):
    • Vad programmet gör
    • Vilka funktioner du skapat
    • Vad som fungerat bra/mindre bra
  3. (Frivilligt) Skärmdump eller exempelkörning

Tips

  • Planera först: Vad ska ditt program kunna göra?
  • Testa varje del för sig innan du bygger vidare.
  • Kommentera tydligt, så att du och läraren förstår.
  • Be om hjälp tidigt om du fastnar!