# Slutprojekt programmering 2 Nu är det dags för ett sista projekt i programmeringskursen. Här får ni frihet att utveckla något som ni tycker verkar roligt och spännande, samt visa era kunskaper inom Java och objektorienterad programmering. ![image](https://hackmd.io/_uploads/rJ7laUija.png) ### Bedömning I bedömningen kommer jag titta på: * planering av projektet med hjälp av UML diagram * komplexitet * användning av de verktyg vi har lärt oss i kursen: filhantering, internetkommunikation, generiska klasser * användning av objekt orienterad programmering * kodstil * utformning av interaktion med användaren * programmets funktion * felsökning och problemlösning * utvärdering av programmet ### Idéer Här är några förslag på olika idéer som kan göras både med grafik (med swing) eller som en ren konsol-applikation. Man får gärna komma med en helt egen idé, men kolla med Johan för att se om den är görbar! Olika slags spel: * snake * memory * breakout * variant på RPG-spelet vi arbetade med tidigare * rougelike med ascii-grafik, till exempel med [detta bibliotek](https://github.com/trystan/AsciiPanel) Övriga projekt: * todo-list * anteckningsapp * tränings-schema * betting-system för vänner * fantasy-football ### Planering Innan ni börjar koda ska ni planera ert projekt med hjälp av UML-diagram. Planeringen är något ni ska lämna in tillsammans med koden. I planeringen ska det finnas: * En kort beskrivning av vad projektet innebär * En lista på features som är *krav* och som är *önskemål* * Ett översiktligt UML-diagram över klasserna i projektet. Gör diagrammet för hand eller med ett digitalt verktyg, till exempel https://www.drawio.com/ ### Tidsplan | Vecka | Innehåll | | -------- | -------- | | 8 | Planering och UML-diagram | | 9 | Sportlov | | 10 | Eget arbete | | 11 | Eget arbete + avstämning | | 12 | Eget arbete | | 13 | Deadline och redovisningar |