bild
Skolan för
elektroteknik
och datavetenskap

Programsystemkonstr. m. C++, cprog09

Redovisningar augusti

17-19/8 (tis - tor) tid och plats efter överenskommelse per epost.

Extratenta 19/3

Det 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++ redovisningar

If 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ättad

och rapporterad.

Omtenta

Tentan går 14-18 i E33-E35.

Resultat ladok

Resultat 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 januari

Jag 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:
Tryck här för att hämta bokningslistor:

Redovisningslista i gul sal utan sima

Vi 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 kraschar

Sima 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 extrauppgifter

Deadline för labb3 i tid samt extrauppgifter för labb1 och labb2 skjuts fram till extratillfällena i januari.

Om extrauppgifter och extra redovisningar

Preliminära datum 8/12 em, 9/12 fm, 8/1, 11/1. Vi kommer bara vara två eller tre på tisdag och onsdag.

Om tentan

Tentorna 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ättningen

Rä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_cast

En 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_cast (s));
}
Det 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_seq

Jag 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 listan

De 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 4711

Det 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änd

Sammantaget 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.

Överklagan

Du 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.

Omtenta

Det går att anmäla sig till omtentan i januari. Om ni går upp, läs på tal 1!

Sista schemalagda labbpasset

Det 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ättade

Resultat ska avkodifieras och rapporteras och in i ladok.

Tillbaka

Jag är tillbaka.

tentor

Status 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.

Labbredovisningar

Det 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äsning

Föreläsning torsdag 26/11 inställd.

Influensa

Alexanders familj är sjuka i influensa.

Handledare på labbtillfällena

I 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 januari

Det ser ut att kunna bli ett extra redovisningstillfälle i januari. Troligen måndag 11:e januari. Jag återkommer med närmare besked

Tentan

Tentan ä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/10

Flera 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örd

Tentan ä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 uppe

Extentan från januari låg inte tillgänlig på nätet. Det gör den nu.

Ladok stängt länge

Lunds 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 torsdag

Jag 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 torsdag

Deadline 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 tenta

Anmä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ång

Inskickningar till kattis ska nu vara möjligt. Källkoden till bedömningsprogrammet för labb2 var inte uppdaterad på kattis.

Fel i exempeltext

Jag har ändrat i exemplet för add_month 30/1 -> 31/1 så att det hänger ihop logiskt.

Tester på kattis

Jag 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 klara

Testfiler ligger på kurskatalogen. OBS! de första (1:a oktober) var fel kontrollera med filstämpeln.

Anmälan till tentamen 20/10

Det ä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 torsdag

Jag 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 kattis

Ni 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 kattis

Skicka med filen cprog09lab14.cpp respektive cprog09lab15.cpp båda finns på kurskatalogen.

Schemaändringar nya salar

De tre första föreläsningarna är ombokade till större salar.

Registrera sig på kursen

Registrerar er på kursen gör ni via res. Logga in på en terminal i datasalen eller hemifrån och skriv:
res checkin cprog09
Svara på frågorna. Frågan om övningsgrupp är inte viktig.

Platsbrist i föreläsningsalen

Det ä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.

Kursstart

Kursstart 31/8 kl 9 i sal V1.

Copyright © Sidansvarig: Alexander Baltatzis <alba@nada.kth.se>
Uppdaterad 2011-01-14