KursPM
Kursens mål
Kursen syftar till att ge grundläggande kunskaper i programmering och datalogiska begrepp. Som språk används Python då det är relativt okomplicerat och därmed lämpligt som första programmeringsspråk.
Kurslitteratur
Som kurslitteratur används Python Programming for the Absolute Beginner (Länkar till en externa sida.) av Michael Dawson, ISBN 9781435455009.
Servicecenter
EECS:s Servicecenter finns på Lindstedtsvägen 3, plan 4. Den har öppet måndag-torsdag 08-16 och fredagar 08-14.
Lärare
Sten Andersson
stene@kth.se
http://www.csc.kth.se/~stene
08-790 92 76
Övningsassistenter
Grupp 1: Aleks Durowicz, durowicz@kth.se
Grupp 2: Karl Johannes Jondell, jonde@kth.se
Grupp 3: Mark Antoni Kazzi, kazzi@kth.se
Grupp 4: Boran Sahindal, borans@kth.se
Grupp 5: Linus Eklund, linek@kth.se
Grupp 6: Clas Blank, clasb@kth.se
Grupp 7: John Landeholt, johnlan@kth.se
Grupp 8: Isak Draganovic, isakdr@kth.se
Grupp 9: Gabrel Kitzler, kitzler@kth.se
Grupp 10: Staffan Konstholm, stakon@kth.se
Utöver dessa finns också ett antal extrahandledare för backup / reserv / vid t ex sjukdom och schemakrockar (assistenterna är själva studenter).
Kursmoment och examination
Kursen består av tre LADOK-moment (studiemedelspoängsmoment)
- LAB1 (1,5 hp) Utgörs av fem stycken inledande laborationer som man arbetar med parvis. Betyg P/F.
- LAB2 (1,5 hp) Individuellt datorprov för att testa kunskaperna från LAB1. Betyg P/F.
- LAB3 (3,0 hp) Benämns P-del (P som i Python) och utgörs av en större individuell programmeringsuppgift. Graderad betygsskala A-E.
- MAT1 (1,5 hp) Utgörs av tre stycken laborationer i Matlab som man arbetar med parvis. Betyg P/F.
Sammanlagt 7,5 hp eller c:a 200h arbete.
Inledande laborationer (LAB1)
Labbarna arbetar ni med i grupper om två (fler är ej tillåtet men det kan dock undantagsvis vara ok att arbeta själv). Under de schemalagda laborationstiderna har ni möjlighet att få hjälp, men det mesta av arbetet utför ni på egen tid. Redovisning sker genom att lösningen laddas upp här på Canvas samt att man närvarar vid övningen och där skriver ett individuellt test (med frågor relaterade till innehållet i veckans laboration). Kan man ej närvara vid övningstillfället kan man ej bli godkänd på laborationen (av skälet att en uppladdning av en fil då vore enda examination). Eventuella kvarvarande laborationer kommer att kunna redovisas muntligt vid ett tillfälle i oktober.
Datorprov (LAB2)
Efter de inledande labbarna förväntas man ha grundläggande programmeringskunskaper och dessa examineras med ett datorprov (LAB2). Detta kommer att genomföras vid ett schemalagt laborationstillfälle och utgörs av 10 frågor som ska besvaras på 40 minuter där varje fråga kan ge en eller två poäng, d v s maxpoäng är 20. Frågorna består av några rader kod där en rad ssaknas och er uppgift är att lösa vad denna kan bestå av och ni får använda python under provet. Ett "quiz" per modul samt ett övningsprov kommer att finnas tillgängligt senast onsdag 9:e oktober.
Bonussystem
Veckans test ger maximalt fem poäng och då det är ett test varje övning de sex första veckorna blir det maximalt 5 * 6 = 30 bonuspoäng. Denna bonuspoäng tillgodoräknas på datorprovet (LAB2) där det för godkänt krävs 16 poäng av 20 utan bonus (80% rätt) och 10 poäng med full bonus (50% rätt), d v s bonusen ger en rabatt på godkäntgränsen enligt formeln round(bonuspoäng / 5).
P-del (LAB3)
Kursens tredje moment, LAB3, är en större, individuell programmeringsuppgift i Python; en "P-uppgift". P-delen redovisas i tre steg under kursens andra period. Uppgifterna är tänkta att vara något så när svåra och tidskrävande, räkna med c:a 80 timmar för en medelsvår uppgift.
- Specifikation: Innan programmet skrivs ska en specifikation redovisas. Syftet med specifikationen är att du ska tänka igenom problemet innan du försöker lösa det.
- Granskning: Innan det färdiga programmet kan redovisas för en handledare ska det granskas av en annan kursdeltagare som provkör programmet, sätter sig in i koden och bedömer det m h a ett protokoll. Det är obligatoriskt för varje kursdeltagare att granska ett program.
- Slutredovisning: Du väljer (normalt via webben) en tid för slutredovisning. Uppgiftslydelsen, specifikationen, granskningsprotokollet och granskaren ska medföras till slutredovisningen, källkod och det körbara programmet. Om du tar med en egen dator till redovisningen ska den vara uppkopplad mot Internet, eftersom vi jämför med tidigare lösningar (för att stävja fusk).
P-uppgifterna kan kräva olika tidsomfång beroende på tillvägagångssätt, tidigare programmeringserfarenhet et c. Tänk på att i enlighet med hederskodexen ALLTID ange varifrån koden kommer när det inte är din egen.
Matlab (MAT1)
Utgörs av tre laborationer i Matlab vilka syftar till att ge en introduktion till numeriska metoder vilket ni kommer att läsa under andra året på ert program. Ni jobbar parvis med dessa och både hjälp och redovisning sker muntligt vid laborationerna under kursens sista (tre) veckor.
Betyg
Betyget på kursen avgörs helt av P-uppgiften. De flesta uppgifterna kan byggas på för att ge högre betyg. I övrigt gäller följande:
E = Godkänd P-redovisning av uppgift som lösts tillräckligt bra (max tre påpekanden).
D = Godkänd P-redovisning med ett perfekt program, dvs inga anmärkningar i protokollet (väl uppdelat, ingen kodupprepning, vettigt dokumenterat mm).
För betyg högre än D krävs att grunduppgiften redovisas före kursomgångens slut. Kraven på ett perfekt program gäller hela programmet, inklusive extrauppgifter.
C = Kraven för D + en extrauppgift med betyg C (ofta hantering av felaktig inmatning).
B = Kraven för C + en extrauppgift med betyg B (ofta en svårare algoritm).
A = Kraven för B + en extrauppgift med betyg A (ofta grafiskt användargränssnitt eller avancerad algoritm).
Om du är missnöjd med assistentens betygsättning kan du överklaga detta till kursledaren.
Plussa
På KTH finns en rätt att tenta om för att få högre betyg fast tentan redan är godkänd. I kurser med andra typer av examination (än tenta) måste vi av kostnadsskäl begränsa denna rätt. Följande regler gäller i denna kurs:
- Den som har redovisat sin P-uppgift under kursens gång kan efter det höja sitt betyg, men bara inom ett år från kursstart, sen är det försent.
- Plussning sker genom att man kan behöva förbättra programkvalitén eller göra vissa extrauppgifter. Ibland kan man också göra en helt ny uppgift.
- Redovisningen görs vid något av uppsamlingstillfällena för P-uppgifter.