Programsystemkonstr. m. C++, cprog09Redovisningar augusti17-19/8 (tis - tor) tid och plats efter överenskommelse per epost.Extratenta 19/3Det kommer att anordnas en extra C++-tenta fredagen den 19/3 kl 9 sal 1537. Tentan är påkallad av en student har det som sista moment för examen därav kort varsel. Skriv till mig om ni vill delta senast onsdag samma vecka.C++ redovisningarIf you want to show your assignment and get examined, please contact C++ assistant, Siavash Soleimanifard. Look at his calendar on his page and find a suitable time for both you and him. Then send him an email. His email address is: siavashs@csc.kth.se .Omtentan rättadoch rapporterad.OmtentaTentan går 14-18 i E33-E35.Resultat ladokResultat kommer att synas på mina sidor inom kort. Det finns ett betygskript på /info/cprog09/betyg09 som man kontrollera själv hur mycket man borde ha. Extrapoäng för lab1 och lab2 stod olika i labbpek och kurspm, jag har ändrat till förmån för kursdeltagarna i år.Redovisningar januariJag har lagt upp bokningsbara tider för fredagens och måndagens redovisningar. Det är ett mycket gammalt bokningssytem. Om tiderna tar slut lägger jag upp nya. Tiderna (halvtimmes pass) är ungefärliga eftersom grupperna redovisar olika mycket. Endast en extra labb tar kanske fem minuter medan samtliga extralabbar + lab3 tar mer än en timme. Kom därför innan er tid. Om ni ska redovisa samtliga extrauppgifter och labbar kan ni boka två tider. Hämta tider här:Redovisningslista i gul sal utan simaVi provar utan sima på tisdag från kl 13. Skriv upp er på tavlan i gul sal. Skriv namn, var ni sitter och hur många uppgifter ni ska redovisa (så att andra kan avgöra hur lång tid det tar). Vi är två som tar redovisningar. På onsdag är det redovisning 10-12 då är vi hela fyra handledare parallellt.Om sima som krascharSima tar ibland mycket CPU, troligen en oändlig loop i någon tråd. Sedan någon tid så slås processen ihjäl efter att en viss mängd CPU har förbrukats och då, vilket flera har noterat, nollställs kön.Deadline för extrauppgifterDeadline för labb3 i tid samt extrauppgifter för labb1 och labb2 skjuts fram till extratillfällena i januari.Om extrauppgifter och extra redovisningarPreliminära datum 8/12 em, 9/12 fm, 8/1, 11/1. Vi kommer bara vara två eller tre på tisdag och onsdag.Om tentanTentorna rapporteras in i ladok. Det sista dröjsmålet berodde på att en del kursdeltagare inte varit med på rättningen (t.ex. de som skrivit blankt) och alla tentor gåtts igenom för att kontrollera att man rättat någon annans tenta. Viss besvärlighet att tyda handstilar gjorde krångligare än det borde vara.RättningenRättningen var överlag mycket bra. På sina håll imponerande bra! Det förekommer mycket felrättat eller felvärderat också men det var förväntat. Det är bara ett par rättningar som är helt åt fanders.Om const_castEn missuppfattning som var ganska spridd rör const_cast. Många har motiverat const_cast på ett hårresande sätt och det tog ett tag (20:e gången) innan jag fick förklaringen till ett exempel på sidan 185 i C++ primer. Jag måste här ta mig tid att tydliggöra exemplet. Lippmans exempel handlar om att man vill anropa en funktion och skicka en const char * till en parameter som är deklarerad char * vilket inte går om man inte först använder const_cast se nedan.void foo(char * x) { int tmp = 0; // ändrar inte på x } int main() { const char * s = "hello"; // foo(s); // <--- kompilerar inte foo(const_castDet alltför vanliga tentasvaret sammanfattar exemplet som att man i allmänhet måste använda en const_cast för att skicka en const-deklarerad variabel till en icke const-deklarerad parameter. Det är inte sant! Om det är en referensparameter gäller det däremot men man kan alltid skicka som kopia. void foo_copy(int a) {} void foo_ref(int & a) {} void foo_const_ref(const int & a) {} int main() { foo_copy(a); //foo_ref(a); // <--- kompilerar inte foo_const_ref(a); }Vad Lippmans exempel handlar om är att man skickar en pekare till skrivskyddat minne till en pekare som inte är skrivskyddad. Om sub_seqJag rättade i början ganska hårt på de som uppfattat algoritmen som sub_string. I takt med att U-högen växte i allarmerande takt ändrade jag inställning. Det finns indata i uppgiften att testa med men jag undrar om en olycklig radbrytning gjort att många missat exemplet {2, 4} är en subsekvens av {1,2,3,4}. Den korrekta algoritmen (implementerad med en onödig inre loop) blir lätt substring och det kan vara ett misstag istället för felläst. Begränsningar med [], T*, T::iterator bryter mot tanken med typparametriserade algoritmer som är att göra algoritmen oberoende av mängden den opererar på.Om länkade listanDe flesta gör ganska rätt! Det var inte så många trasiga listor. Märkliga lösningar finns. Ett par deltagare tog fasta på "sortering på något sätt" och glömde bort att den skulle vara "förbättrad" och återgav a) igen. Några implementerade binärträd !? Många hoppade över Nod-definitionen vilket jag antar till viss del beror på layout på tentan. Jag ska ändra på detta nästa gång.Om 4711Det finns de som drabbas av sista talets fråga i labb2. Därför var frågan med men jag hade på förhand bestämt för att det inte var något allvarligt fel.Gregorian(const Date & d) // är inte Gregorians kopiekonstruktor UnderkändSammantaget blev det en bedömningsfråga. Har man varit med och rättat så räknar jag med att man i efterhand inser t.ex. att consider ska vara en const-deklarerad metod. Men gör man för många fel så har jag underkänt. Ett tjugo-tal tentor låg i en grå-zon flera rättningsiterationer några blev godkända och några underkända.ÖverklaganDu har rätt att överklaga. Studera eller ta kopia på din tenta på expeditionen och lämna sedan in skriflig överklagan. Det som är annorlunda än annars är elevrättningen, jag har inte fäst någon vikt på vad som står, i vissa fall har jag strukit över felrättningar eller tillfört egna iaktagalser men det mesta har jag låtit stå kvar oemotsagt. Tid för överklagan sätts till 23/12.OmtentaDet går att anmäla sig till omtentan i januari. Om ni går upp, läs på tal 1!Sista schemalagda labbpassetDet sista schemalagda labbpasset var välbesökt idag. Det kommer ett par tillfällen till nästa vecka och i januari. De kommer att vara bokningsbara med ungefärliga tider (eftersom det somliga ska redovisa mer än andra). Sima fungerade kriminellt dåligt idag. Mitt första labbpass var kl 8 (annan kurs) och då hade folk redan ställt sig i kö. Det har inte kraschat tidigade år på detta vis. Jag stannade till 18 och då var kön tom (om den inte kraschat igen).Tentor rättadeResultat ska avkodifieras och rapporteras och in i ladok.TillbakaJag är tillbaka.tentorStatus för tentor är att jag håller på att rätta om flertalet efter att ha ändrat mig om bedömningen. Mer om det senare. Jag räkna med att vara klar den här veckan men resultat kan i vilket fall inte rapporteras in i ladok förrän på måndag.LabbredovisningarDet kommer att bli minst ett extra tillfälle i januari preliminärt mån 11/1. Det kommer att bli minst ett tillfälle till i december för redovisningar. Det är många som skrivit och vill redovisa.Inställd föreläsningFöreläsning torsdag 26/11 inställd.InfluensaAlexanders familj är sjuka i influensa.Handledare på labbtillfällenaI måndags var det väldigt få handledare. Jag har talat med flertalet handledare och torsdag och fredag kommer det att vara många handledare. Passa på att få hjälp eller redovisa.Extra redovisningstillfälle i januariDet ser ut att kunna bli ett extra redovisningstillfälle i januari. Troligen måndag 11:e januari. Jag återkommer med närmare beskedTentanTentan är fortfarande inte rättad men resultat rapporteras in senast på måndag. Överlag är mitt intryck att kursdeltagarnas rättningar av andras tentamina är mycket nogrann.Illegal function tis 28/10Flera studenter meddelar att kattis rapporterar illegal function för inskickningar, enligt uppgift även tidigare godkända inskickningar. Det är rapporterat till kattisadminstratörer. Jag har ingen annan information när kattis kan tänkas fungera normalt.Tentan genomfördTentan är genomförd och jag vill tacka alla som hade tålamot att vänta den otroligt långsamma hanteringen. Hanteringen berodde på att en tentavakt missförstod instruktionerna och struntade i de id som förgenererats. De andra tentavakterna hade förstått och gjort rätt men ... jaja ... jag som hade tänkt hantera utlämning av tentan elektroniskt men men ... Jag vet inte när tentorna blir rättade. Jag är förkyld (ej influensa) och måste bli friskare så jag klarar av att tänka.Januaritentan uppeExtentan från januari låg inte tillgänlig på nätet. Det gör den nu.Ladok stängt längeLunds universitet har rapporterat stora problem när ladok öppnade. Ladok lär har bytt databasleverantör och något kanske gått snett. Sena anmälningar kan inte göras, ni är välkomna till tentan men ert idnummer får genereras manuellt.Anmälan till tenta torsdag"Ladok kan för närvarande inte hantera din begäran. Du kan försöka senare eller rapportera felet till systemdriften." jag försöker förlänga tiden igen efter lunch. Uppdatering: (torsdag 14:30) Delar av ladok fungerar inte. Det finns ingen information om när det börjar fungera igen.Anmälan till tenta ny deadline torsdagJag kommer ändra (när ladok öppnar) så att det går att anmäla sig till tentan under torsdagen. Det finns flera anledningar till obligatorisk tentaanmälan. Det ena är planering av salar och en annan är att jag förgenererar id-nummer innan tentan därför vill jag att ni bokar er i systemet.Deadline för labb2 flyttas fram till torsdagDeadline för labb2 flyttas fram till torsdag 15/10 23:59. Utnyttja labben tisdag 13/10 om ni har problem.Påminnelse anmmälan till tentaAnmäl er till tentan via mina sidor. De som läser på universitet kan anmäla sig via epost direkt till Caroline och doktorander direkt till mig. Om ni inte kan anmäla er via mina sidor skriv till expeditionen (exp at csc kth se) med cc till mig. Det är mycket viktigt, Om ni inte kan anmäla er så kan det vara så att jag inte heller kan rapportera in något resultat.Inskickningar till kattis igångInskickningar till kattis ska nu vara möjligt. Källkoden till bedömningsprogrammet för labb2 var inte uppdaterad på kattis.Fel i exempeltextJag har ändrat i exemplet för add_month 30/1 -> 31/1 så att det hänger ihop logiskt.Tester på kattisJag har genererat tester för kattis men levererat dem i fel format vilket kräver en del handpåläggning. Det dröjer innan de läggs upp. I väntan på det, använd testfilerna på kurskatalogen.cat /info/cprog09/labbar/lab2/lab22a.in | ./lab22a.exe > resultat diff /info/cprog09/labbar/lab2/lab22a.out resultat Testfiler till labb2 klaraTestfiler ligger på kurskatalogen. OBS! de första (1:a oktober) var fel kontrollera med filstämpeln.Anmälan till tentamen 20/10Det är nu möjligt att anmäla sig till tentamen den 20:e oktober. Gör det via "mina sidor".Kvällsupport för lab1 onsdag och torsdagJag tar emot epost lite då och då under kvällen för att hjälpa till med kattisproblem innan deadline för labb1.Nya i kattisNi som inte har använt kattis förut ska ha fått epost med instruktioner hur man skickar in till kattis.Nu går det att skicka till kattisSkicka med filen cprog09lab14.cpp respektive cprog09lab15.cpp båda finns på kurskatalogen.Schemaändringar nya salarDe tre första föreläsningarna är ombokade till större salar.Registrera sig på kursenRegistrerar er på kursen gör ni via res. Logga in på en terminal i datasalen eller hemifrån och skriv:res checkin cprog09Svara på frågorna. Frågan om övningsgrupp är inte viktig. Platsbrist i föreläsningsalenDet är många som anmält sig till kursen i år. Schemat är lagt sedan länge och det är svårt för att inte säga omöjligt att boka större sal. Det kan bli lite trångt på måndag.KursstartKursstart 31/8 kl 9 i sal V1. |