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 |
|---|---|
| 📅 Elevregister | Registrera elever, visa alla, spara till fil, lägg till och ta bort elever. |
| 🍔 Beställningssystem | Välj produkter, beräkna totalsumma, spara kvitto till fil. |
| 🎮 Spel | Ex. ”Gissa talet”, ”Textäventyr” med poäng och highscores. |
| 📚 Bokregister | Registrera böcker, sök, filtrera, spara/läsa fil. |
| 🔮 Quizsystem | Lä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)
| Kriterium | E | C | A |
|---|---|---|---|
| Struktur och meny | Enkel meny och några funktioner | Klar struktur, loopar och tydlig navigation | Komplett meny med flera nivåer |
| Funktioner och modulstruktur | Funktioner används korrekt | Kod uppdelad i flera filer med moduler | Bra återanvändning av kod, logiskt strukturerat |
| Datastrukturer | Enkla listor eller dictionaries | Kombinerar strukturer (t.ex. lista av dictionaries) | Effektiv användning av flera datastrukturer |
| Filhantering | Spara/läsa filer | Dynamisk hantering av data från fil | Strukturerad filhantering, t.ex. flera filer, autospara |
| Felhantering | Enkla try/except-block | Felhantering på flera delar av programmet | Avancerad felhantering med användarmeddelanden |
| Kodstil och kommentarer | Några kommentarer, godtagbar stil | Välkommenterad kod och bra struktur | Exemplariskt namnval, struktur och kodläsbarhet |
| Syfte och användbarhet | Programmet fungerar | Programmet är användbart | Programmet är genomtänkt, anpassat och förbättrat med feedback |
Inlämning
Du ska lämna in:
- Din/dina
.py-filer. - En kort beskrivning (txt eller PDF):
- Vad programmet gör
- Vilka funktioner du skapat
- Vad som fungerat bra/mindre bra
- (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!