Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback från studenter HT22 #58

Open
AndreasArne opened this issue Sep 2, 2022 · 13 comments
Open

Feedback från studenter HT22 #58

AndreasArne opened this issue Sep 2, 2022 · 13 comments

Comments

@AndreasArne
Copy link
Member

Fyll på med feedback som studenter har gett i redovisningstexter.

@emcofa
Copy link

emcofa commented Sep 5, 2022

I kmom01 var det en som skrev följande om förbättring av dbwebb-kommandot:

"The dbwebb-cli is an impressive tool. It went well when I used the dbwebb test command. However, It was quite verbose in its output. It would be nice if it by default is less verbose with the option for more verbosity. It could also be something you eventually get used to. "

@bjornmolin90
Copy link

Fick som förslag att spela in en Thonny-video med lite tips om config och hur man använder det.

@emcofa
Copy link

emcofa commented Sep 14, 2022

Ytterligare några förbättringar i kmom01:

  • Det hade varit trevligt om det gick att tabba och få fram en lista på möjliga moduler. Exempelvis dbwebb test pl "användaren tabbar " ger då vid tab - dbwebb test plane.

  • Det saknas en länk i trädet (Innehållsförteckningen) på dbwebbsidan till denna sida: https://dbwebb.se/kurser/python-v4/redovisa, det var svårt att hitta artikeln på dbwebben!

  • Kanske vore det bra med en video för varje miljö: windows, Mac och Linux.

@Ampheris
Copy link

Kmom02 feedback

  • Kravtolkningsförmågan övas upp i Marvin1-uppgiften. Tyvärr är det svårt att veta vilken tolkning av kraven som är integrerad i enhetstesterna. I arbetslivet där det finns enhetstester har utvecklaren oftas tillgång att se enhetstesternas kod, till skillnad från Marvin-testerna.

  • Redovisningstextens frågeställingar är leder tyvärr väldigt lätt till ja- eller nej-svar med nuvarande utforming. Vänligen utveckla frågeställningarna så att de leder till det som ni vill ha svar på förutom i just ja/nej-form.

@emcofa
Copy link

emcofa commented Oct 1, 2022

Kmom 03:

  • Jag tycker även uppgiften (Marvin) var otydligt formulerad på många ställen denna veckan.
    Det är svårt att förstå vad ni menar med "koden för menyvalen".

  • Det var också lite svår att förstå vad ni menade med "funktionen" i menyval 12.
    Jag tolkade det först som att vi skulle kalla på funktionen find_all_indexes flera gånger (rekursivt) med en extra parameter,
    men efter att jag läst det ett par gånger chansade jag på att ni menar funktionen index()?
    "För att komma runt detta och hitta alla index behöver ni anropa funktionen flera gånger och skicka med ett extra argument, start."

@emcofa
Copy link

emcofa commented Oct 1, 2022

Kmom 03:

Någon tyckte det var otydligt varför Marvin.py (filen från kmom02) var tvungen att vara med i kmom03. Tyckte det skulle framgå lite tydligare i instruktionerna eftersom valideringen inte går igenom utan den filen.

@AndreasArne
Copy link
Member Author

kmom03:

Återkoppling på uppgiftsinstruktionerna:
Se gärna över dessa punkter från https://dbwebb.se/uppgift/din-egen-chattbot-marvin-steg-2-v4 då instruktionerna kan förtydligas:

  • Skapa en ny sifferpunkt av denna punkt, eftersom denna punkt förvirrar. Förtydliga även vad ni vill att vi skall göra med denna punkt, kanske enklast att skriva in input/output i terminalen om vad som händer när struct används med testkommandot.
    "Tags: struct. Kör tester som kollar att “marvin.py” och “main.py” finns och att funktionen “main()” finns i “main.py”"

  • Men det som borde vara mest prioriterat av mina punkter är denna. Jag kom till steg 4 och då förstod jag inte i vilket steg som menyvalen från marvin.py skulle ha flyttats över till main.
    Förtydliga även vad ni vill att vi flyttar över till vilken fil! Ska menyvalen ligga i marvin2.py och alla printouts i main.py etc? Lägg till en punkt för detta!

  • elif menychoice == "9": . I kmom02 Marvin1 används "choice" istället för "menychoice" som i Kmom03. Var konsekvent eller förtydliga att det är en ny variabel som skall användas.

  • Separera denna till en egen punkt (det blir rörigt att blanda ihop två olika menyval i en punkt) :
    "Använd också multiply_str för att lösa menyval 3. I word_manipulation anropa multiply_str för att bygga upp strängen (du behöver importera marvin2 i marvin1 för det)."

Övrigt:

  • Många särskrivningar: "Akronym skapare", "Sträng maskering", "marvin kod", "sträng funktionen", "index platser", "Sträng maskering

@emcofa
Copy link

emcofa commented Oct 10, 2022

Kmom 04 feedback:

  • Rättningssystemet tycker jag funkar okej, det var lite problematik med marvinuppgiften för mig då jag inte förstod att problemet var att jag inte hade returnat listan från mina funktioner. Eftersom jag endast printade svaret och ändrade på backpack variabeln i min funktion fick jag fel eftersom att den förväntade att backpacken skulle returneras från funktionen och inte printmeddelandet som i tidigare punkter. Vilket var svårt att felsöka då det endast stod att mitt svar var none men jag hade rätt värden i min lista och i den printade texten. Det som skulle kunna förbättras är att det exempelvis står förväntat svar från funktion, istället för förväntat svar när det som kollas är en funktions return och inte ett printmeddelande.

  • Rättningssystemet är fantastiskt! Väldigt tacksam för det. Man behöver egentligen bara köra testet om och om igen utan att behöva printa ut saker själv. Bra jobbat med dem. :)

  • Feedback till lärarna: Både i övningen och i föreläsningen från i måndags gick Andreas igenom i princip samma sak. Skillnaden var att i övningen fick vi göra test-program, men inte i föreläsningen. Föreläsningen från förra året med Emil och Andreas var mer givande, där test-programmen gav en större förståelse för listor. Å ena sidan är det bra med repetition, men när det finns inspelat, så går det alltid att gå tillbaka och titta igen. Då skulle filmerna från övningen räcka och föreläsningstiden användas som programmeringsstuga, till exempel.

  • Jag tycker att det var stor skillnad mellan lab3-uppgifterna och marvin3-uppgifterna. Som förberedelse inför marvin3 hade lab3-uppgifterna kunnat vara en nivå högre. Många av de uppgifterna var också repetition från övningen. De var lätta att genomföra, medan marvin3-uppgiften var klurigare. Ett annat tips är att förtydliga samtliga errors man ska ta hänsyn till i uppgiften marvin3. När jag trodde att jag hade lyckats förväntade sig testerna att jag skulle ta hänsyn till errors som inte finns med i beskrivningen av uppgiften. T.ex. att ni testar byta plats på två element med samma namn, när det bara finns ett element med det namnet i ryggsäcken.

  • Rättningssystemet tycker jag fungerar bra. Det ger bra information och pekar ut vad som är fel. Det hade varit en nice touch om test/validate hade flaggat vid körning om det fanns en nyare version.

  • Något jag personligen hade tyckt varit bra är om man kan ta bort eller byta "har bedömts" och reservera det till efter en rättare har gått igenom inlämningen. Jag blir alltid lika besviken när jag ser att det bara är Umbridge som kikat på min uppgift istället för en rättare. Dock kanske detta gäller Canvas mer än Umbridge.

@emcofa
Copy link

emcofa commented Oct 18, 2022

Ytterligare kmom 04 feedback:

  • Jag tycker att förklaringen till hur ni vill att man skulle lägga in det nya "inv" i main skulle vara lite mer tydlig. Då jag satt en rätt så lång stund och bara funderade på det om det stämde, vet inte ens om jag gjort rätt nu men det går igenom valideringen så jag antar att det är korrekt.

  • Umbridge verkar bra, men jag vet inte exakt hur testsystemet testar och vad den testar. Men det vore bra om det ingick i dbwebb systemet, så att eleverna kan testa direkt, innan inlämning.

  • Måste inleda med att säga att det är högst frustrerande när man följer instruktionerna och får fails och errors på dbwebb test marvin3.I instruktionerna i Marvin3 nr 6) "Om allt gick bra skall du skriva ut ett passande meddelande med de sakerna som bytte plats." Jag tolkade detta som att jag skulle skriva ett passande meddelande som "föremål 1 och 2 har bytt plats nu" men när jag kör dbwebb test så förväntar sig programmet att det ska vara en lista på föremålen kvar i ryggsäcken...

  • Jag hade uppskattat lite mer specifik output istället för "ett passande meddelande" som flaggas som fel på slutet :\

  • Enhetstesterna som körs i samband med "dbwebb test" och "dbwebb validate" fångade inte följande pylint-varning som Umbridge anmärkte på. Uppdatera så att "dbwebb test" och "dbwebb validate" fångar detta fel!
    WARNING pylint failed: './me/kmom04/marvin3/main.py'
    ************* Module main
    me/kmom04/marvin3/main.py:15:10: R1734: Consider using [] instead of list() (use-list-literal)

  • Nu vet jag inte om Umbridge är samma som dbwebb test men jag hade fördragit om ni var extremt mycket mer tydligare i början av uppgiften exakt hur ni vill ha inputs och vad som förväntas exakt som resultat. För det blir en väldans massa omkodning för min del och mina studievänner som jag pratat med efter varje uppgift som ofta nästan tar mer tid än själva problemlösningen i sig.

@AndreasArne
Copy link
Member Author

Mitt förbättringsförslag är att skrota Marvin och istället ha sex fristående uppgifter. Några av dessa uppgifter skulle med fördel kunna vara mer tillämpade. Förslag: Maskininlärning och visualisering av data mha Pandas i Jupyter Notebook. OCR av PDF-fil mha av Python-moduler. Skript i Python (istället för bat-filer eller Bash-skript), typ räkna antalet rader Python-kod för alla .py-filer i en trädstruktur, eller byta datum på alla filer med ett visst innehåll i en trädstruktur. Använda Python som symbolisk miniräknare mha Sympy.

@AndreasArne
Copy link
Member Author

Istället för dessa bestämda och enformade uppgifterna hade jag velat se mer öppna uppgifter, såsom en primtals räknare där man kan effikivisera koden på olika sätt och vis.

@AndreasArne
Copy link
Member Author

Förbättringsförslag: Jag skulle vilja ha teoriföreläsningen på måndagarna istället för på onsdagarna,
det skulle underlätta att komma igång med inlämningsuppgifterna tidigare i veckan.

@emcofa
Copy link

emcofa commented Oct 30, 2022

KMOM04:

  • Gränssnitten för inlämning och rättning fungerar ganska bra när man vant sig vid dem. En brist är att man får läsa i någon manualtext för att förstå i början eller om man glömt något steg eller vad något kommando gör. Systemnamn som Umbridge och Canvas kanske man kan gömma bakom gränssnitten istället för att använda i länknamn och texter. Feedback från inlämning kändes kryptisk i början (PG, Ux och G). Bättre att ha mer självförklarande gränssnitt. Förkortningar och namn kan också anges i gränssnitten eftersom de är lättare att säga när man lärt sig dem.

  • Specificera vilken övning som avses med "listövningen" (labb/inlämingsuppgift/övningsuppgift?) i detta stycke:
    Om du gjorde uppgiften del 2 i listövningen, varför behöver man göra bytet i den specifika ordningen?

KMOM05:
Emission-uppgiften hade en lagom nivå för inlärning och arbetsbelastning. Däremot önskar jag en förklaring i uppgiftstexten om varför try/excepten skall placeras i main och vad som är best practice. Dessutom fick jag fel på testerna då jag delade upp min kod i olika funktioner som innehöll olika raise-konstruktioner. Men testerna kollade enbart att det fanns en raise-konstruktion och inte att en sub-funktion anropad i get_country_year_data_megaton lyfter exception. Ni får gärna förtydliga i uppgiften att raise-konstruktionen skall göras i get_country_year_data_megaton och inte i en subfunktion till get_country_year_data_megaton.

KMOM06:
Tidigare uppgifter i kursen har varit mer beskrivande vilket har gjort att detta kursmoment tog mycket längre tid. Jag rekommenderar att mer förklarande text även hamnar i lab6 eftersom några förtydliganden om hur read() fungerar hade sparat timmar. Det jag önskar få förtydligat är hur hur "pekaren" som används med read() fungerar, dvs att det det inte fungerar bra vid flera anrop av read() till samma fil i samma "with open"-block.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants