Professionella programmerare behöver gemensamma kodkonventioner för att säkerställa samarbete och en viss kvalitet på programvaran. Novis programmerare, dock lätt glömma frågor om programmering stil i deras programmering kursarbete. I synnerhet med stora klasser, studenter kan passera flera kurser utan att lära delar av programmering stil. Detta beror ofta på brist på handledningsarbete för att ge studenterna grundlig feedback på deras kursarbete. Att införliva stilfrågor i programmeringskurser är alltför ofta försummat och studenterna hoppas kunna lära sig dessa frågor själva. För att ta itu med problemet samlades en uppsättning kodningsregler in och motiverades att användas i C++ programmeringskurser vid universitetet. Ett automatiskt C++-programmeringsverktyg implementerades för att säkerställa att studenterna följde reglerna. Studenter kan fritt använda detta verktyg för att förbättra kvaliteten på sitt kursarbete, och handledare kan använda det för att bedöma uppgifterna. Bedömningsregler och kriterier kan enkelt anpassas efter kursens eller övningens behov. Eftersom grundläggande programmeringsfrågor bedöms av studenterna självständigt innan kursarbete lämnas in, kan lärarpersonalen koncentrera sig på att ge feedback på de mer avancerade funktionerna i programdesign och kursspecifika frågor. Tillvägagångssättet tycks ha tagit itu med det grundläggande problemet på ett bra sätt. Studenterna lär sig att ägna större uppmärksamhet åt sina kodningsmetoder och utvecklar sig själva goda grundläggande programmeringsvanor redan på sina första kurser. Efter den första chocken av att ha fler krav på de praktiska programmeringsuppgifterna har studenterna betraktat den automatiska stilanalysen som ett användbart hjälpmedel i programmeringskurserna. Kvaliteten på kursarbetet har förbättrats, och med en systematisk bedömning av programmeringsstilen har också uppdelningen av innehållet och utformningen av kurserna förbättrats. Med mer noggrann övervakning och utvärdering av verktygsanvändningen hoppas vi få ännu bättre resultat i att förbättra förståelsen och antagandet av bra kodningsprinciper som en del av studenternas personliga programmeringsrutiner. Nyckelord: C++ programmeringsstil, automatiserad bedömning, programmeringskurser, självbedömning Material som publiceras som en del av denna tidskrift, antingen on-line eller i tryck, är upphovsrättsskyddat av förlaget för Journal of Information Technology Education. Tillstånd att göra digitala kopior eller papperskopior av delar eller alla dessa verk för personligt bruk eller klassrum beviljas utan avgift, förutsatt att kopiorna inte görs eller distribueras i vinstsyfte eller kommersiellt syfte OCH att kopiorna 1) är fullständiga och 2) innehåller en fullständig hänvisning på första sidan. Det är tillåtet att abstraktera dessa verk så länge kredit ges. Att kopiera i alla andra fall eller att publicera eller att posta på en server eller att omfördela till listor kräver särskild behörighet och betalning av en avgift. Kontakta Editor@JITE.org för att begära omfördelningstillstånd. Att stödja studenter på C++ programmeringskurser 246 Programmeringsstil, d.v.s. sättet att använda ett programmeringsspråk och skriva programkod, är en av de viktiga men alltför ofta försummade frågorna i programmering. Med vana att skriva dålig kod är det möjligt att göra ett program omöjligt för andra programmerare att förstå. Det kan också finnas språkberoende kodningskrav som kräver särskild uppmärksamhet för att undvika fel i programmets funktionalitet. Detta gäller särskilt för C++-språket, som har flera fallgropar för programmeraren, t.ex. implicita typkonversioner och kopieringsmetoder. Genom att följa goda och systematiska riktlinjer för programplaneringen är det möjligt att undvika denna typ av problem. Gemensamma riktlinjer och kodningskonventioner är viktiga i verkliga programvaruprojekt, eftersom projekten vanligtvis genomförs i grupper, där flera programmerare bör kunna samarbeta effektivt och uppmärksamma kvaliteten på programvaran. För nybörjare programmerare, är det ofta svårt att förstå relevansen av programmering stil riktlinjer medan de försöker koncentrera sig på att producera sina första program. Som uppmärksammats av Schorsch (1995), studenter uppfattar ofta programmering stil som sekundär, inte integrerad till programutveckling. Därför städar de ofta upp ett programs stil sist eller inte alls. Ett litet program kan köras korrekt även om det är dåligt skrivet. Problemen med osystematiska eller på annat sätt dåliga kodningsvanor visar sig i större program, eller i en situation där ett program senare bör ändras av en annan person eller överföras till en annan miljö. Därför är det viktigt att studenterna alltid får feedback om dessa frågor i sitt arbete. Studenter bör inte tillåtas att använda dåliga eller inkonsekventa kodning vanor fritt, eftersom dessa kan vara mycket svåra att ändra senare. Programmeringskurser innehåller i allmänhet många praktiska övningar: de frågor som ska läras ut blir inte konkreta för den studerande förrän de provats i ett program. De första programmeringskurserna syftar till att ge studenterna de grundläggande programmeringsfärdigheter på vilka de senare kan bygga mer avancerade färdigheter och kunskaper. I dessa kurser är det särskilt viktigt att ägna uppmärksamhet åt programmeringsstil och att försöka vägleda studenterna att lära sig goda programmeringsvanor. För att uppnå detta mål bör studenterna alltid erbjudas så bra och grundlig återkoppling på sitt arbete som möjligt. Tyvärr är det tidskrävande och svårt att bedöma och ge feedback på dessa frågor, även för erfarna programmerare och lärare. Stora programmeringsklassstorlekar gör problemet ännu värre. Ofta är det enda sättet att hålla nivån på det nödvändiga praktiska programmeringsarbetet och den mängd feedback som erbjuds studenter på en rimlig nivå, att utveckla programvarulösningar för att hjälpa lärare i deras handledning och bedömning av uppgifter. Denna artikel är organiserad enligt följande. I avsnittet "Bakgrund" granskas befintliga metoder för analys av programmeringsstil och bedömningsverktyg för den. I det tredje avsnittet beskrivs kortfattat principerna för utarbetande av riktlinjer för C++-kodning och bedömningsverktyget för dessa. I det fjärde avsnittet presenteras sammanhang och praxis för användning av bedömningsverktyget i programmeringskurser. I det femte avsnittet presenteras några synpunkter och erfarenheter från att använda verktyget i våra kurser. I utvärderingsavsnittet diskuterar och utvärderar vi vårt arbetssätt enligt en ram som fastställts för utvärdering av utbildningsteknik. Slutligen avslutar vi dokumentet med en del framtidsutsikter för det framtida arbetet.
Ett verktyg för att automatiskt analysera och bedöma programmeringsstilen för C++-program implementerades av Ala-Mutka et al. Hoppa över det.
Supporting Students in C++ Programming Courses with Automatic Program Style Assessment
{'venue': 'JITE', 'journal': 'JITE', 'mag_field_of_study': ['Computer Science']}