• No results found

Poäng. Start v. Datastrukturer och algoritmer (C) 7.5. Antal registrerade (män/kvinnor) 193 (153/40)

N/A
N/A
Protected

Academic year: 2022

Share "Poäng. Start v. Datastrukturer och algoritmer (C) 7.5. Antal registrerade (män/kvinnor) 193 (153/40)"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

TEK/NAT Kursrapport

Kurs

Datastrukturer och algoritmer (C)

Kurskod 5DV149

Poäng 7.5

År 2017

Start v.

03

Institution

Institutionen för datavetenskap

Antal registrerade (män/kvinnor) 193 (153/40)

Antal aktiva studenter (deltagit i minst en examinerande del)

165

Genomströmning (i %) och betygsutfall efter första tillfälle för examination (för varje betyg som satts på kursen ange antal som uppnått detta på formen ???

Genomströmning: 30% Betyg: U(136) 3(15) 4(23) 5(19)

Hur mycket schemalagd lärar-/assistent-ledd tid har studenten tillgång till på kursen?

15*2h föreläsning 5*2h gruppövningstillfällen

Utöver detta har en stor mängd handledningstillfällen funnits. Totalt sett har kursen haft 642 timmar lärarresurser tilldelat.

Hur är undervisningen upplagd?

Föreläsningar, gruppövningar, handledning under arbete med obligatoriska uppgifter (OU).

Två föreläsningar hölls gemensamt med DoA-kursen i Python (5DV150) i stor grupp.

Självrättade övnings-"quiz" för varje vecka med repetition av genomgånget material.

En OU (komplexitet) gavs som självrättande quiz. En OU (användande av debugger) hade muntlig redovisning. Övriga OU innehöll kodning och rapportskrivning och lämnades in elektroniskt.

OBS! Denna kurs gav också i en version med start v. 12 och anmälningskod 57319.

För vart och ett av lärmålen (FSR:en) i kursplanen, beskriv kortfattat hur det examineras.

förklara grundläggande begrepp relaterade till datastrukturer och algoritmer, tenta + obligatoriska uppgifter

beskriva vanliga abstrakta datatyper och algoritmer, tenta + obligatoriska uppgifter

formulera lösningar till enkla problem i form av algoritmer inklusive att identifiera och använda lämpliga datatyper, tenta + obligatoriska uppgifter

implementera lösningen i form av ett program i programspråket C, obligatoriska uppgifter

tillämpa filhantering och dynamisk minnesallokering, obligatoriska uppgifter

använda sig av grundläggande problemlösningsstrategier, obligatoriska uppgifter + labbar

experimentellt och teoretiskt undersöka en mjukvaras tids- och minneskomplexitet, samt redogöra för och dokumentera utfallet enligt givna riktlinjer,

obligatoriska uppgifter + labbar

visa att en komponent i ett program fungerar korrekt med hjälp av testning, obligatoriska uppgift

använda sig av en debugger för att hitta fel i program.

obligatoriska uppgifter

visa förståelse för hur struktur-, tids- och minnesaspekter påverkar kvalitet hos program.

obligatoriska uppgifter + tenta

Beskriv hur betygssättningen på kursen fungerar. (Vilka betyg ges på kursen och hur sker bedömningen, dvs vilka delar betygssätts och hur vägs de samman? Finns det skrivtliga betygskriterier och/eller lärmål (FSR) för de olika betygen?)

Kursen består av två moment. Ett laborationsmoment och ett teorimoment. Laborationsmomentet har betygen U och G och examineras via fem (5) obligatoriska uppgifter. Teorimomentet examineras via en tentamen med betygen U,3,4,5.

Betygsgränserna är ungefär 50/65/80% av full poäng. För gränsfall görs en helhetsbedömning.

Samläses denna kurs med andra kurser??

Ja

(2)

1

Hur stor andel av kursen samläses?

13

Samläser flera program denna kurs?

Ja

Om ja, hur många?

3

Arbetar studenterna i projektform på kursen?

Nej

Om ja, uppskattad omfattning i poäng på projektdelen:

Antal projekt som varje student deltog i:

Antal studenter i projektgrupp:

Förväntades studenterna använda en projektmetodik för dokumentation och styrning (tex LIPS)?

Hur skedde indelning av studenter i projektgrupper?

Har studenterna uppmanats föra projektdagbok?

Om ja, Har dagboken utgjort grund för examination?

Kursens samverkan med forskning

Ingen samverkan med forskningsverksamhet förekommer på kursen Annan samverkansform, nämligen:

Kursens samverkan med näringsliv eller offentlig verksamhet

Ingen samverkan med näringsliv/offentlig verksamhet förekommer på kursen Annan samverkansform, nämligen

Genomförda förändringar till detta kurstillfälle

Fler kodexempel under föreläsningarna, inkl. illustrationer av pekare. (Förslag från tidigare kursansvarig.) Tidigareläggande av tentan för att minska tidskonflikt med OU5. (Feedback från kursvärdering i fjol.) Omskrivning av flera specifikationer av laborationerna för att förtydliga kraven.

Omplanering av handledningstiderna för att ha extra resurser att sätta in till OU4 och OU5 (Feedback från kursvärderingen i fjol.)

Planering av genomförandet av handledning i lab för att undvika att några få studenter lägger beslag på handledarna.

(Feedback från kursvärderingen i fjol.)

Möten mellan kursansvarig och handledarna för att öka samstämmigheten i rättningen av de obligatoriska uppgifterna.

Förändringsförslag från föregående kursrapport Försök se om kodexempel går att lägga in.

Se om man kan ha återlämningstillfällen för labbarna utan att minska på handledningstiden i övrigt i ngn större grad.

Fundera över handledningstidernas placering.

Fundera över om man kan ha ett handledningstillfälle med några övningsuppgifter gällande kod tidigt på kursen.

Tänk på att gruppövningar kan behöva ha en intro.

Lärare

Information om inblandade lärare

Kursansvarig Niclas Börlin

Antal övrig personal som ej föreläser 4

(3)

Antal övriga föreläsare 0

Hur stor del av den schemalagda tiden på kursen undervisas av forskande lärare (dvs lärare med mer än 25% forskning i sin tjänst)?

0

Hur stor del av den schemalagda tiden på kursen undervisas av lärare verksamma i näringsliv/offentlig verksamhet (dvs lärare med mer än 25% av sin tjänst förlagd till näringsliv/offentlig verksamhet)?

0

Kursvärd.

Totalt antal svarande 50

Sammanställningsdatum 2017-06-16

När genomfördes kursvärderingen?

Efter genomfört första examinationstillfälle

För varje lärmål på kursen ange hur stor del av de studerande som uppger att det har behandlats på kursen - ange svaret i procent på formen

har behandlats/har inte behandlats/vet ej

förklara grundläggande begrepp relaterade till datastrukturer och algoritmer, 98/2/0

beskriva vanliga abstrakta datatyper och algoritmer, 98/2/0

formulera lösningar till enkla problem i form av algoritmer inklusive att identifiera och använda lämpliga datatyper, 96/0/4

implementera lösningen i form av ett program i programspråket C, 96/0/4

tillämpa filhantering och dynamisk minnesallokering, 98/2/0

använda sig av grundläggande problemlösningsstrategier, 96/0/4

experimentellt och teoretiskt undersöka en mjukvaras tids- och minneskomplexitet, samt redogöra för och dokumentera utfallet enligt givna riktlinjer,

94/4/2

visa att en komponent i ett program fungerar korrekt med hjälp av testning, 100/0/0

använda sig av en debugger för att hitta fel i program.

100/0/0

visa förståelse för hur struktur-, tids- och minnesaspekter påverkar kvalitet hos program.

90/2/8

Sammanf.

Sammanfattning av åsikterna i kursvärderingen - positivt och negativt kring föreläsningar, seminarier, grupparbeten, laborationer, examination etc

(4)

Vad har varit positivt med kursen och bör behållas? (39 svar)

Riktigt bra med material på cambro. Föreläsningarna uppe så man alltid har tillgång. Man kände helt enkelt att alla som har hand om kursen investerade tid för att hjälpa så mycket det bara går.

Ou1 till ou4 var bra strukturerade och så, men tycker att tentan och ou5 har för tight med tid emellan och ou5 var lite oklar då man inte sysslat med grafer överhuvudtaget tidigare

Handledningen har varit mycket värdefull.

Det har varit bra med uppgifter som man måste göra som håller en sysselsatt under hela kursen. Quiz som man kan ta för att se att man kan är också bra.

Varför skulle någonting behållas överhuvudtaget, förutom smarta studenter som skriver bra kursutvärderingar?

- Bra energi på föreläsningarna från läraren - Snälla handledare - Quiz - Gamla övningstentor - Upplysa en om att man kanske inte kommer förstå något i början, att det släpper efter ett tag (börjar få förståelse/tänket för det mesta nu mot slutet av kursen)

Lektionerna med gruppövningarna var väldigt bra. Vi fick träna på saker som annars kunde missförstås.

Niclas attityd till att lära ut, väldigt energisk Bra examinationsformer

Niclas har varit en väldigt intressant föreläsare under hela kursens gång, tycker att han har gjort ett bra jobb och jag har lärt mig mycket! Handledarna har varit till stor hjälp under kursens gång, dock skulle de kunna vara 2-3 fler i arbetsstyrkan.

Kursen har varit bra.

Bra med tydliga exempel i föreläsnings-pdf:arna, exempelvis att merge sort visas steg för steg Aktiv lärare som verkar angelägen att lära ut och uppdaterar material efter behov Bra med genomgång av filhantering. Bra med massor av quiz, framför allt vid tentaplugg! Vissa frågor var lite otydliga bara. Bedömningsmatrisen var till bra hjälp vid lab och

rapportskrivning. Genomgången av pekaransvar (som gjordes på tavlan) var bra, men kunde gärna ske lite tidigare Det mesta! Jag har verkligen gillat den här kursen, den är definitivt bland mina top 3 favoritkurser från att jag började på umu 2013. Jag var en av dem som läste kursen förra året (och klarade den inte) när Johan Eliasson höll den. Då kändes allt mer oseriöst och han var inte alls lika engagerad och mån om att få oss att förstå. Till i år känns det som allt med kursen har förbättrats. Mycket bättre föreläsningar, bättre exempel, bättre handledare, tydligare instruktioner och jag har lyckats få en mycket bättre förståelse för ämnet och blivit bättre på att programmera. Quizen är en stor hjälp! Gruppövningarna är också bra! Handledarna har verkligen varit suveräna. Jag kommer lägga min röst för årets lärare på Niclas. Han är kanon! Tydlig, engagerad och bra pedagog.

Lärorika labbar. Grymt nice att tentan inte var absolut sist i kursen.

lektionerna har varit givande! tycker att det har varit bra powerpoint och kul hur du får en engagerad.

De olika laborationsmomenten och att ni var flexibla med att ge oss mer tid för OU4 inlämningen när ni märke att nästan ingen skulle lämna in i tid. Väldigt bra med bedömningsmatriserna som ni införde senare och testprogrammet som ni la upp för att hjälpa oss i tesningen. Väldigt bra Latex fil för att hjälpa oss på traven att börja skriva i Latex. Både föreläsningarna och gruppövningarna var otroligt bra och gav mig en bättre förståelse av hur implementationerna skulle gå till och fungerade. Tentan hade de uppgifter som verkligen hade gåtts igenom under föreläsningarna vilket gjorde att det känns väldigt bra. Jag gillar även era initiativ att lägga in fler handledningstid och gruppövningar när ni märker att behovet behövs.

Otroligt bra repetition med Quizarna för varje moment, vilket gjorde att vi kunde träna in teorin bättre.

Bra upplagt, bra med quiz på respektive område.

Nästan allt. Det kan vara allt från quizen till lektionerna med olika grupparbete. labbhjälparna har varit preffekta och svar via mail av alla har varit snabb och kanon.

Bra föreläsningar med väldigt bra exempel och visualiseringar.

Både ovn2 & 4 var bra.

Lektionerna/gruppövningarna har varit bra, speciellt de senare tillfällena. Tentan tog upp det vi lärt oss på ett bra sätt.

Diskussionsövningarna på föreläsningarna.

Föreläsnings materialet var väl framtaget och fick en att förstå bättre än boken.

Upplägget med laborationer och tentamen. Gruppövningarna var ett jättebra sätt att verkligen ta in det som var på föreläsningen.

Quizen tyckte jag har varit mycket bra.

Positivt med kursen har varit det stöd som getts av handledare på utsatta tider samt lektioner.

powerpoint laddas upp på cambro.

Kursansvarig, handledarna, tentan

Det mesta har varit positivt, tycker det har funkat bra på både föreläsningar, labbar och lektioner.

Bra vettiga obligatoriska uppgifter, bra övningsquiz, bra lärare, bra handledare, bra kommunikation, bra med föreläsningsanteckningar tillgängliga på cambro. Bra kurs i helhet!

Quizzen hjälpte väldigt mycket inför tentan, eller kändes i alla fall som att det hjälpte. Föreläsningarna var inte så dåliga heller.

Tentan

Quizen, föreläsningsanteckningarna och bra med mycket handledningstid!

Uppgifterna har varit utmanande och förhållit sig till vad kursen ska handla om. Handledarna har varit väldigt hjälpsamma och kunde svara på de flesta frågor som man frågade dem. All information som lärdes ut användes för det mesta på något sätt i uppgifterna som vi fick. Var väldigt bra att när en student hittade ett fel i er kod så korrigerades det snabbt för att undvika att fler stötte på problemet.

Bra föreläsningar. Givande uppgifter. Quizen var väldigt bra.

Handledarna i slutet av kursen! Framförallt under i slutet av Ou5, då några av handledarna kom förbi påsen lediga tid en sen kväll för att hjälpa till. Det har även varit bra att ni har hört att vi haft det svårt och lyssnat, genom att sätta in fler handledningstillfällen. Adam! För all hjälp han har bidragit med. För hans mänsklighet. För att han har erkänt när han skrivit koder fel. För att han tagit sin lediga tid för att hjälpa oss vilsna själar. Förtjänar helt klart löneförhöjning :)

Bra med att få en vecka efter tentan för Ou5. Bra grupplektioner/övningar

Engagemanget från "hjälplärarna" som gjort sitt bästa för att ge en hjälp samt tagit ut extra handledningspass inför inlämningar.

Det mesta.

Upplägget i stort, det har varit bra med innehållet uppdelat i veckor så att man alltid har kunnat gå in och kolla vart man bör vara och då vad man har kvar. Det samma gäller uppgifterna då dessa avlöser varandra så kan man fokusera på en åt gången. Slutligen så tycker jag att det har varit en väldigt bra föreläsare, det är mycket information men det presentera på ett mycket bra sätt sådan att den har varit lätt att ta till sig.

Bra föreläsningar. Bra typer av laborationer. Bra lärare.

************************************************************************

Vad kan förbättras? Ge gärna tips på hur! (40 svar)

Gärna att alla handledare är på handledningen. Till skillnad från första C kursen så är denna ett stort hopp. Som att man kommer från gymnasiet till universitet. De flesta tycker denna kurs är svårare, så gärna att fler handledare är på plats. Något som jag tycker samt en äldre kursare som håller på att ta examen nu höll med. Ersätt det mesta med engelska. Till och med

(5)

de som undervisar har sagt att i programmering så är det engelska som gäller. Det blir svårt senare för oss när man har lärt sig allt på svenska och så ska man lära sig nya saker (för man lär sig inte allt på uni inom IT) och det blir svårare. Gör det enkelt och byt ut allt mot Engelska. Visst, en del kan inte engelska så bra, men om de inte kommer misslyckas nu och träna upp engelskan så kommer dessa misslyckas senare vid ännu svårare tillfällen. Flytta föreläsningen till kl 09:15. Riktigt jobbigt när man är trött och så hänger man inte alls med på föreläsningen. Och nej, att sova klockan 09:00 fungerar inte. Så flytta fram please. Det blir riktigt tajt och jobbigt när man har svåraste programmerings uppgiften på slutet med en tenta.

Och samtidigt så har man tenta på en svår mattekurs. En bra lösning är mer tid eller öppna sista uppgiften sent så man skjuter fram det. Just nu måste man skita i matten och uppgiften för att träna till tentan och sedan hoppas man att man blir klar med något.

Mer tid mellan ou5 ogh tentan,(bara någon dag med handledning skulle ge mycket) Lite mer strukturerat material, färre slides i power points.

Koden som vi ska använd för datatyper har varit lite jobbig att arbeta med. Dels för att namngivningen inte har varit konsekventa och dels för att den behövde uppdateras under tiden som vi skulle använda den för uppgifter. Så det vore trevligt om den uppdaterades för att konsekvent och eventuella buggar löstes.

Lägg upp ALLT kursmaterial på internet så långt det går utan att bryta mot copyright, gratis, och ta bort förkunskapskrav, så att ALLA i detta land kan lära sig saker utan att behöva begränsas av ett universitet som ska tjäna pengar på att göra det onödigt svårt för människor att utbilda sig! Föreläsningarna/kursmaterial: Koppla all information som lärs ut till verkliga konkreta sammanhang! Hur ska man t.ex. använda grafalgoritmer för att lösa problem i verkligheten? Visa specifika vetenskapliga exempel på verkliga tillämpningar, d.v.s. bevisa att informationen kan användas i verkligheten, och hur. Det räcker inte att bara prata om att det finns appliceringar, det intressanta är att förstå exakt hur informationen kan användas i verkligheten, så att man själv har någon nytta av att lära sig den informationen, annars är det som att vara en idiotsavant som inte begriper någonting, snarare än att utbilda sig! (Om appliceringar behandlas på senare kurser, informera om det.) De obligatoriska uppgifterna/kursmaterial: Vi får så lite relevant information på kursen, bara de grundläggande koncepten, så att man bara just och pass under en väldigt ineffektiv process, och med väldigt mycket trial and error, kanske kan lösa de obligatoriska uppgifterna själva. Att studenterna har ansvaret för att utbilda sig, medan universitetet däremot ska göra det onödigt svårt för dem att lära sig saker, och samtidigt, påtvinga dem obligatoriska uppgifter, är ett mönster som verkar upprepas! Ett exempel: "Hur modifierar ni bredden-först-algoritmen från föreläsningsanteckningarna till att hitta till slutnoden?" Varför skulle jag behöva modifiera innehållet från föreläsningsanteckningarna, ska inte kursmaterialet vara så välgjort att det inte ska behövas? Om det är lättare att lösa de obligatoriska uppgifterna med hjälp av internet, än med hjälp av föreläsningsmaterialet, har kursen inte gett tillräckligt bra förståelse för ämnet. (Kom inte och säg: det är ju därför lärarna finns. De hade inte behövts lika mycket om kursen hade varit bättre, vilket måste prioriteras först. Studenterna vill lära sig, det är ju därför DE finns.) Kursutvärderingen: Ändra frågan till exempelvis: För var och en av de förväntade studieresultaten nedan, markera till vilken utsträckning du tycker att det har blivit behandlat på kursen. (Annars är denna fråga inte så mycket till utvärdering.) (läs även övriga synpunkter)

- quiz skulle gärna kunnat ha lösningsförslag upplagt nu precis innan tentan (t.ex. att det kommer när man slutfört alla test) - mer pekarförståelse - intro till varje OU uppgift lektionen efter släpp - mindre sista-minuten mail om ändringar om möjligt Bättre spec. för obligatoriska uppgifterna, alltså mer tydligt skrivet. Det var väldigt svårt i början att beta hur filerna i filsystemet skulle användas på grund av ingen förklaring i specifikationen.

Färdigställda slides så de inte är fulla med slarvfel, samma med all kod som lämnas ut. Koden ändrades flera gånger under tiden som uppgiften skulle göras vilket var både irreterade och stressande vilket inte var så bra då uppgiften var svår nog som den var

Hoppet från introduktionskursen i C till DoAn är väldigt långt för ovana programmerare. Lite mer tid skulle behöva läggas(i början av kursen) på mer abstrakta saker som pekare.

Mer genomgång av dynamiskt minne.

Ganska stort glapp mellan teori och praktik. Jag förstod teorin ganska bra men framför allt första labbarna var ganska svåra att komma igång med. Konceptet gränssnitt är enkelt men ovana/okunskap kring void-pekare gjorde det svårt att förstå hur den givna koden fungerade. Även konceptet "test" är lätt att fatta, men jag och många andra fick chansa på vad som skulle göras i praktiken. Kodbas: Kommentarerna i kodbasen var ibland över 80 tecken långa, så JAG fick backning på det på en labb. Det kunde handledaren ha tänkt på, men bra om given kod följer dom egna reglerna. Labspecarna var lite otydliga ibland, förutom för någon som kanske redan är datavetare. Dessutom spreds informationen ut lite mellan själva labsidan och bedömningsmatrisen, vore bra om bedömningsmatrisen inte innehöll ny information.

För lite kodexempel på föreläsningar. Svårt att sätta sig in i dom obligatoriska uppgifterna utan något om dom på föreläsningarna.

Jag tycker fortfarande kursen är svår, trots att den är så otroligt kul och intressant! Det är ett STORT steg upp i programmering från att ha läst introduktionskursen i c, och labbarna är näst intill omöjliga att förstå och klara själv utan hjälp. Det är mycket abstrakta och vaga instruktioner men som tur är fanns det i år gott om hjälp att få från handledarna, till skillnad från förra året. Jag skulle dock nästan säga att det behövs tre handledningstillfällen per vecka. Jag har verkligen stressat med att försöka få klart labbarna i tid och har inte lyckats med det på OU4 och OU5. Det är mycket material, definitioner, algoritmer, gränsytor och datatyper att ta in och memorera. En sak som definitivt kan förbättras är läroboken.

Helt ärligt så avskyr jag den. Det som står där är väldigt kompetent skrivet och korrekt men den är otroligt svårläst och det suger verkligen mental energi att kämpa sig igenom meningarna. Den är inte alls pedagogiskt skriven. Författarna verkar ha valt ett så abstrakt och formellt språkbruk som möjligt för att matcha det redan abstrakta ämnet. De borde skrivit boken tvärtom - enkelt språk, förklarande och med gott om simpla exempel. Det tar väldigt lång tid att läsa den för att förstå - och det är mycket läsangivelser. Det står på kursintroduktionen att man ska fråga ifall man inte förstår boken, och ifall jag hade följt den rekommendationen hade jag fått fråga om nästan varje mening. Det måste finnas en bättre bok?

Övningsuppgifterna i boken är dessutom extremt svåra, speciellt med tanke på att författarna själva anger enbart en grundläggande programmeringskurs och lite matte som förkunskapskrav. Jag har i största möjliga utsträckning försökt förstå genom att kolla på föreläsningsslides, youtube etc för boken är verkligen hopplös. Många av quizens frågor kräver

dessutom att man måste hitta den exakta meningen i boken för att kunna skriva in rätt ord. Det gör att ganska mycket tid går åt till att leta och bläddra. Jag minns inte skälet till varför tentan flyttades fram till att vara innan deadline för OU5, men för min del innebar det att det blev extremt stressigt med att komplettera OU2, OU4 och börja på OU5 samtidigt som jag tentapluggade och hade en annan kurs. Min ambition var att skriva en 5a på tentan och jag hade gärna velat ha lite mer tid att förbereda mig. Jag tycker också att mer tid borde läggas på att debugga, och lära sig valgrind och leta läckor. Det gicks igenom alldeles för hastigt i min mening. Sen borde mer tid läggas på att visa studenterna hur man ska tänka när man ritar upp en bild av datastrukturer och pekare, listor, länkar etc. Jag var helt förvirrad på OU4 och förstod ingenting innan Niclas gjorde det på en föreläsning. Mer av det! Det är svårt för en orutinerad programmerare att tyda en kod i huvudet och måla upp en mental bild av vad som händer. Att kunna rita upp saker är en mycket stor hjälp.

Tydligare instruktioner till labbarna. Få labbinstruktionerna tidigare, så om man är klar med en labb och känner att man har möjlighet och kunskapen, kan komma igång med nästa.

labbinstruktionerna borde vara mer tydliga, och borde finnas övningsuppgiter. jag tycker att ou3 borde vara före ou2 då momentet valgrind kommer i ou2.

Att du går igenom specifikationerna för laborationerna under föreläsningen, och laborationerna är släppta några dagar innan eller ska släppas, det beror på hur dem som går kursen då tycker är bäst, så får vi ställa alla frågor som vi inte förstår vad som ska göras på laborationen. Det gör att vi snabbare kommer igång med laborationen utan att behöva tyda vad specifikationen säger. Information om specifikationerna till laborationerna. Vi fick inte allt information om vad som

(6)

förväntades göras i specifikationerna. När vi väl fick informationen så fick vi den ca 3 dagar innan. Mitt tips är att ifall vi ska kolla minnesläckor i OU2, så skulle det vara väldigt bra om du gick igenom hur Valgrind fungerade under föreläsningarna.

Fler övningsuppgifter på pekare och pekare tillsammans med minneshantering då det är centrala bitar i kursen att förstå och kunna använda dem. Det skulle även vara bra med lösningsförslag på dessa pekare så att du visste om du har tänkt rätt med pekare eller inte. Det är också bra om du introducerar tidigt i kursen hur pekaransvar ritas upp och strukturer som tabellen bygger upp, vilket kommer ge en bättre bild och förståelse hur olika abstrakta datatyper är länkade och fungerar.

Det skulle även vara roligt om ni kunde lägga upp små övningsuppgifter som går att implementera för varje moment som inte behöver ha något lösningsförslag.

Labbspecifikationerna kan förbättras till nästa år. Fortfarande lite luddigt om vad som ska göras.

1. Fixa koderna som vi behöver kompilera i databasen så att det ser bättre ut. Först så är dem båda i svenska och

engelska. Förvirrande med två olika språk, bättre med allt i samma språk. 2. Lite mer förbreddelse inför föreläsningarna. Det var inte alltid föreläsaren hann gå genom allt han hade tänkt sig men mde tiden vart det bättre och bättre. Men kan

förbättras ännu mer. 3. Tydligare beskrivningar inför labbarna. Ou5 kan ett bra exempel som ett bra beskrivning av labben.

4. Ta bort rapportdelen i labbarna, eller minska kraven i dem. Man läser kursen för att lära sig mer inom programmering inte att skriva rapport.

Standarisera koden med antingen engelsk eller svensk text. Se till att uppgifterna är tydliga nog så att inget nytt material måste läggas till mot slutet av uppgiften.

Få de tidigare uppgifterna att arbeta mer inklusivt. Om vi ska skapa en implementation utifrån ett testprogram så se till att vi endast arbetar med implementationen.

Handledningstillfällena behöver förbättras, fler handledare behövs. jag har mer än en gång suttit i en labbsal en hel eftermiddag utan att hinna få hjälp och när handledaren väl kommer har han sagt "jag har tyvärr inte tid att hjälpa dig" och sprungit vidare för att det varit så många andra som behövt hjälp. detta har gjort att jag ofta diskuterat lösningar med klasskompisar för att se om de tagit sig vidare och förbi problemet jag stött på. Jag förstår att man inte får skriva av varandras kod eller jobba i grupp för att lösa uppgiften men om samma upplägg används under kommande år är jag säker på att studenter kommer fortsätta samarbeta för att hitta lösningarna på de obligatoriska uppgifterna. Det obligatoriska uppgifterna behöver vara bättre formulerade, det har varit svår att förstå vad det är som ska göras och vad ni vill ha ut av oss. Det är inte rimligt att 98% av studenterna får komplettera OU2, det visar på att handledningstillfällena inte fungerat och att studenterna inte fått ut allt de hade behövt av föreläsningarna. Föreläsningarna har ibland varit lite virriga och det har varit svårt att hänga med i. Niclas är en duktig föreläsare och är intressant att lyssna på men det har varit några gånger då vi som suttit lite längre bak inte hört vad han sagt då han varierat volymen på rösten för mycket.

Fixa automat rättning av koden. I C kursen fick man den rättad automatiskt och fick feedback på en gång, om man implementerade något liknande i denna kurs skulle små missar i koden inte behövas behandlas av handledarna t.ex., i ou2 så kunde man skriva koden och den hade inga minnesläckor när man körde den själv mot en felaktig kö men när

handledarna körde den mot sin felaktiga kö så skapades det minnesläckor, hade man fått den feedbacken direkt från inlämningssidan kunde man undviket såna små missar. Koderna man får från kursen borde "lead by exampel" fick en kommentar på mina kommentarer till koden och den vara minst lika bra som dom kommentera som stod i koden som lämnades ut. Man använder dom koder man får som exempel på hur man ska skriva sin kod och kommentera den.

Laborationspecifikationerna. Blev dock bättre mot slutet. En förbättring skulle kunna vara att fler exempel ges i specifikationerna.

labbarna. De kan inte vara skrivna som det är nu. Man måste lägga så mycket tid för att lista ut vad man egentligen ska göra istället för att lösa uppgiften.

Lite otydliga beskrivningar kring de olika obligatoriska uppgifterna vilket hade kunnat förtydligat vad som skulle göras men även vad som inte skulle göras.

Fler övningsuppgifter som är relevant till OU-uppgifterna.

Obligatoriska uppgifterna. Nuvarande specifikationer lyckas inte förklara på ett bra sätt hur man ska gå tillväga, vilket innebär att de flesta som inte är väldigt insatta i programmering måste ta mycket hjälp av handledare/lösa tillsammans i grupp.

Labspecifikationen var ibland "copy-paste:ade" från tidigare labbar med saker som glömt att ändras, t.ex. det står fortfarande(2017-03-13): "Vilken förenklad asympotisk komplexitet har operationerna i gränsytan för dina två

tabellimplementationerna?" på labb 5. Det har också uppdaterats grejer till labbarna sent ibland. Det kändes som att man hade lite tid på labb 4(i alla fall före förlängningen) och labb 5, på labb 5 beror det nog mest på att man ville plugga till provet. På en del av labbarna har det blivit väldigt många som varit i kö, generellt har det fungerat bra men det var väl främst de närmare deadline. Föreläsningen om filhantering borde flyttas närmare labb 5 då vi behöver den.

Bättre organisering av föreläsningsanteckningarna på cambro hade uppskattats. Exempelvis indelat både föreläsningsvis och kapitel-från-boken-vis, if that makes sense. Hänvisningar till specifika sidor/kapitel i boken under föreläsningarna. Det är tydligt när man läser boken vad du hämtat från den under föreläsningarna, så säg det! Blir lättare att plugga/kolla upp i efterhand på så vis :)

Bilderna till quizzen strulade, så se till att dem inte gör det.

Ou5ans specifikation.

Bättre och tydligare förklaringar på alla obligatoriska uppgifter! Inte att det framgår ny information om uppgiften när man väl har börjat.

Först och främst är att vara konsekvent. Detta gäller desto mer i koden för att eleverna ska ha bra exempel på hur man kan skriva utan att läraren och handledarna säger att koden inte är korrekt. Dessutom så verkade det vara som så att

handledarna inte var överens i sina rättningar, där vissa studenter klarade med många små fel medan andra fick skicka in igen för att de missade en liten sak. Se till att ha specifikationerna över varje uppgift färdiga innan eleverna får läsa dem.

Detta minimerar risken för onödigt arbete och förvirring som orsakar mer skada än om ni väntar en extra dag för att korrigera alla fel som fanns i dem. Alternativt ge ut uppgiften i sig självt, men rapporten senare. Inte lämna "to-do" eftersom då kan det bli missförstånd. Det är förståeligt om läraren eller handledarna inte hinner läsa all e-post, men det känns lite som att man blir ignorerad om man inte får svar på alla sina frågor.

Har varit lite problem med obligatoriska uppgifter som inte riktigt varit tydliga. Stavfel och blandningar av språk på kommentarerna i filerna på datatypssidan.

Uppgiftsspecifikationerna har varit extremt svåra att tyda. Jag har nästan aldrig veta vad jag skulle gjort och vad nästa steg ska ha varit. Det är riktigt svårt att gissa sig fram när programmering är helt nytt. Även om en uppgift uppfattas som "lätt" har språket komplicerat allt. Uppläggning av Handledningen! Jag har under manga handledningstillfällen tyck riktigt synd om handledarna. Det har varit många personer som har behövt hjälp och det har märkts på handledarna att de varit riktigt stressade. Ibland har de inte kunnat hjälpa en för att "det tar för lång tid", "det är många som vill ha hjälp", "jag hinner inte".

Det blir då väldigt svårt för oss som inte är hejare på programmering att lösa problemen. Uppgifterna! Vet inte hur man ska förbättra dessa. Men även om jag vetat vad jag ska göra så har programmeringen varit sådan som jag aldrig sett = svårt!!

Som sagt på introföreläsningen: glappen mellan kurserna! Även om det är vårt eget ansvar att kunna det vi lärde oss på C- programmeringen har jag insett att det inte varit tillräckligt över huvudtaget. Ibland har det vi lärde oss där visat sig vara fel.

Det är nog dags att se efter båda kurserna och göra så att de överlappar varandra istället för en stor bergruin mellan.

Många har brutit ihop totalt för att de känt att de inte kommit någonstans. En kurs må vara svår, men en kurs som folk mår dåligt av, gråter, sömnlösa nätter kan inte vara rätt upplagd. En del av mina kursare har funderat seriöst på att hoppa av programmet pga frustration och stress. Jag förstår att sådant är livet och en kurs är en kurs, men det känns inte helt värt att må extremt dåligt i två månader för några hp... När det gått så dåligt på en kurs är det lätt att man blir väldigt negativ och har

(7)

behov att uttrycka negativ feedback. Men det finns bra saker också - mestadels er mänsklighet!

Ha mer struktur från början var mycket som ändrades under tiden speciellt inför Ou2. Mer handledningstillfällen och kanske en workshop tillfälle utöver gruppövningarna. Kändes inte som att handledarna inte hade tid nog för att hjälpa alla optimalt.

Tydligare uppgifts-instruktioner.

Tydligare beskrivning av OU2. Lite mer steg för steg hur man kommer igång med den.

Uppgifternas specifikation måste vara i princip klar när en uppgift öppnas. Det blir oerhört stressande om de ändras bara några dagar innan?de ska lämnas in. Sedan de givna datatyper att behöver en uppdatering för de sätter absolut inget bra exempel på hur en bra läsbar kod ska se ut.

Kanske lite roligare gruppövningar... de var ganska tråkiga och handlade typ bara om att återupprepa det vi precis gått igenom. Lite mer "knep och knåp" kanske skulle vore roligare. Du får tolka det lite som du vill. Jag har tyvärr inga konkreta förslag.

***********************************************************************

Saknar du något på kursen som borde vara med? (29 svar) Skrev allt ovan.

Hade gärna haft en mindre uppgift med grafer/träd och dyl. Innan ou5, så man förstår bättre hur de funkar -

Att få tänka kritiskt och förstå informationen i verkliga sammanhang, d.v.s. utbilda sig på riktigt istället för att vara en som en idiotsavant som inte begriper någonting. Om den indoktrinerande läraren skulle göra sin hemläxa i t.ex. astronomi och sprida den informationen till t.ex. studenterna så vore väl det en bra början på en intellektuell revolution? Kurslitteratur:

Zetetic Astronomy: Earth Not a Globe Samuel Birley Rowbotham 200 Proofs Earth is Not a Spinning Ball Eric Dubay The Flat-Earth Conspiracy Eric Dubay Tipsa studenterna om dokumentärer som t.ex: Money as Debt och Adolf Hitler Vs. The Jew World Order, och saker som The Protocols of the Learned Elders of Zion för att öka sannolikheten för världsfred.

Mer lektioner!

Mer tid! Innan man fattat vissa koncept, framför allt kring den praktiska kodningen, så tar det lång tid att komma igång med labbarna. Vore trevligt om kursen var längre

Mer exempel på kod på föreläsningar, sällan som vi fick exempel.

Det skulle vara bra om ni omfördelade tiden för laborationsmomenten. Det första var en quiz som skulle kunna utföras inom en vecka eller 1,5 vecka. OU2 skulle kunna vara på 1,5 vecka till 2 veckor också. Det gör att vi får mer tid till de svårare laborationerna längre fram, särskilt då även tentan infaller under OU5.

Inte direkt

Svar till övningsquizen, så man vet vad som man faktiskt hade fel på. Alla svaren var ej uppenbara och man kunde bara testa nya teorier igenom att göra quizet igen och hoppas på att man får samma fråga.

En introduktion till de obligatoriska uppgifterna i slutet av föreläsningen när den släpps, bara lite översiktligt om vad den går ut på och några tankar om hur man kan börja. Det hade hjälpt mycket om det funnits föreläsningsanteckningar utöver powerpoint presentationerna som studenter som är sjuka eller av andra anledningar missar föreläsningarna. Powerpoint presentationerna missar en hel del information och det är svårt att koppla ihop boken och presentationerna.

Lite mer hur man hanterar malloc, calloc och free så man lättare kan hitta sina minnesläckor.

Inte vad jag kommer på.

nej - Nej

Tycker det kunnat vara lite mer om dynamisk minnesallokering, kanske med exempel från någon av labbarna om vilken funktion som blir ansvarig för vad och sådant.

-

Det saknas lite mer praktiska övningsuppgifter. Det finns visserligen quiz och OU, men det hade kanske hjälpt med ett par enkla övningar.

Bättre instruktioner till ou5

Facit till quizen och övningsuppgifter

Att ni lär ut const-correctness. Konsten att använda sig av const för att visa vad man vill göra med koden. Den var väldigt begränsad, om ens existerande, i de uppgifter vi utförde.

Nej

Hypen för att det är en svår kurs! Inför Envariabelanalyskurserna hörde man av både lärare och elever att dessa var extremt svåra, vilket gjorde att man gick in med den inställningen och gjorde det bästa av situationen. I DoA fallet var det INGEN som varnade. Vi gick alltså in med inställningen att det skulle vara "ok" , men jag tror alla fick sig en rejäl chock!

Workshop i mindre grupper som kanske går igenom vissa algoritmer mer djupgående, så att man verkligen förstår vad man ska göra sen till de obligatoriska uppgifterna.

Nej Nej.

Inget direkt, möjligtvis att uppgiften med grafer bör innehålla mer än endast en grafalgoritm.

Att kanske ha någon slags träff där man får titta och ge feedback på varandras kod från de obligatoriska

uppgifterna/laborationerna. Alltså efter att uppgiften är över ha ett tillfälle där man träffas och pratar med andra om hur man löste uppgiften. Det går nog att lösa uppgifterna på många olika sätt och man kan säkert lära sig mycket av hur andra har tänkt. Förstås inte innan uppgiften för då har man inte löst den enskilt men efter då uppgiften är klar och rättad.

Lärarnas synpunkter på kursens innehåll och genomförande

Trevligt med övervägande positiv kritik gentemot föreläsare och handledare.

Det var första gången jag hade kursansvar på denna kurs, vilket tillsammans med en matförgiftning inför kursstart påverkade planeringen negativt, speciellt inför OU2. Vi försökte förtydliga laborationsspecifikationerna, i några fall olyckligt sent. Testprogrammet till OU4 byttes ut för att göra det möjligt för studenterna att själva fånga upp fler fel. Tyvärr ledde uppdateringarna av testprogrammet till frustration hos en del studenter.

Kritiken mot att OU-specifikationerna är otydliga är en svår fråga att hantera: En bra uppgift har en bra balans mellan frihet/otydlighet och tydlighet/tvingande lösning. Nackdelen med en för tydlig "gör-så-här"-specifikation är att studenten leds till en specifik lösning i stället för att fundera på vilken lösning som är bäst.

Quiz får mycket beröm, vilket stämmer med tidigare år. Tyvärr strulade en del av bilderna på ett sätt som jag inte lyckades replikera och därför inte kunde åtgärda på ett tillfredsställande sätt.

Förslag till nästa kurstillfälle - ange vem som ansvarar för förändringen

(8)

Släpp specifikationen till OU3 samtidigt med OU2 - den är ändå till hjälp för studenterna.

Behåll den tidigarelagda tentamen.

Behåll exempel på latex-kod till labrapporterna.

Uppdatera kodbasen för ökad konsistens (kod + kommentarer) och förståelse. Lägg till någon fullt typad datatyp (lista?) för att underlätta körning i debugger. Lägg till exempel i kodkommentarerna.

Fundera på att lägga till övningsuppgifter i kod - gärna självrättande.

Ännu mer kodexempel på dynamisk minnesallokering + filhantering.

Om OU5 kvarstår, förtydliga kraven på tolerans vad gäller filslut på kartfilen.

Fundera på någon lösning med peer review av kod/rapport.

Behåll upplägget med att planera in handledning i början av kursen med spara resurser att sätta in mot slutet.

Bör kursplanen ändras till nästa kurstillfälle - vem ansvarar i så fall för att förändringen görs?

Nej

Granskn.

Granskare lärare (CAS-identitet) nibo0001 [Börlin, Niclas]

Granskare student (CAS-identitet) jaro0015 [Ronestjärna, Jakob]

Granskare studieadministratör (CAS-identitet) leka0001 [Kallin Westin, Lena]

Eventuella kommentarer på granskningsprocessen

Jakob, hör av dig via epost till mig (niclas) om du vill har synpunkter på/vill lägga till saker i sammanfattningen från kursvärderingen.

References

Related documents

Feedbacken studenterna fick på labbarna vart kanske lite väl kvantitativ (eh mkt feedback, men där stora delar av det kanske inte gav så mycket). Hade nog varit bättre om de varit

värdera kvaliteten i olika designförslag utifrån syftet och behovet av interaktiva intelligenta miljöer (FSR10) an assignment + peer-review + written exam.. va¨rdera eget och

- läsa och förstå datablad för vanliga typer av givare, läsa ut storheter som mätområde, utsignal, känslighet, noggrannhet, samt känslighet för yttre störningar som

- läsa och förstå datablad för vanliga typer av givare, läsa ut storheter som mätområde, utsignal, känslighet, noggrannhet, samt känslighet för yttre störningar som

- Stanna på skolan från 8:00 till minst 18:00 redan från början och läs vad som står i boken innan föreläsningarna - Hamna inte efter, väldigt svårt (känns omöjligt) att ta

throughout the course, sending the required drafts on time, peer review meetings visa erfarenhet av att ha skrivit en artikel till en konferens med peer review system (FSR 10),

Ny kursbok han inte komma ut förrän mitt under kurstillfället, så byte av denna och att uppdatera materialet för att stödja Android studio kvarstår att ändra till

- Bara det att jag till slut inte fick chansen att lära mig om de olika områden i programmet, utan jag har lärt mig programmera det min squad var ansvarig för och lite från chapter.