<?xml version="1.0" encoding="utf-8"?> 
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
 <title type="text">Daniel Brunner: Mein Blog: Posts tagged 'Lehre/Ausbildung'</title>
 <link rel="self" href="https://www.dbrunner.de/feeds/Lehre-Ausbildung.atom.xml" />
 <link href="https://www.dbrunner.de/tags/Lehre-Ausbildung.html" />
 <id>urn:https-www-dbrunner-de:-tags-Lehre-Ausbildung-html</id>
 <updated>2021-09-30T08:03:23Z</updated>
 <entry>
  <title type="text">Vortrag zur Hybrid- und Online-Lehre</title>
  <link rel="alternate" href="https://www.dbrunner.de/blog/2021/09/30/vortrag-zur-hybrid-und-online-lehre/" />
  <id>urn:https-www-dbrunner-de:-blog-2021-09-30-vortrag-zur-hybrid-und-online-lehre</id>
  <published>2021-09-30T08:03:23Z</published>
  <updated>2021-09-30T08:03:23Z</updated>
  <author>
   <name>Daniel Brunner</name></author>
  <content type="html">
&lt;p&gt;Das &lt;a href="https://www.thm.de/zekoll/"&gt;Zentrum für Kooperatives Lehren und Lernen&lt;/a&gt; an der Technischen Hochschule Mittelhessen hat mich für den 02. Dezember 2021 zu einem Vortrag und Diskussion zu &amp;ldquo;Erfahrungen, Lessons Learned und Good-Practive-Beispiel aus der Hybrid- und Online-Lehre&amp;rdquo; eingeladen. Die Veranstaltung ist (hochschul)-öffentlich und wird per Zoom bereit gestellt. Interessierten kann ich gerne den Link zur Verfügung stellen.&lt;/p&gt;

&lt;p&gt;Bereits vor der Corona-Pandemie hatte ich die Gelegenheit eine Veranstaltung in einem hybriden Format durchzuführen (siehe diesen &lt;a href="/blog/2019/10/15/start-meiner-verteilten-vorlesung/"&gt;Blog-Beitrag&lt;/a&gt;). Im Vortrag werde ich von meinen Vorbereitungen und Überlegungen zur hybriden Lehre berichten und meine Anpassungen bei der Umstellung auf reine Online-Lehre erläutern. Mit einigen Thesen zur gelingenden Online-Lehre freue ich mich anschließend auf die Diskussion mit den Teilnehmenden.&lt;/p&gt;</content></entry>
 <entry>
  <title type="text">Corona und Vorbereitung auf das Wintersemester</title>
  <link rel="alternate" href="https://www.dbrunner.de/blog/2020/08/17/corona-und-vorbereitung-auf-das-wintersemester/" />
  <id>urn:https-www-dbrunner-de:-blog-2020-08-17-corona-und-vorbereitung-auf-das-wintersemester</id>
  <published>2020-08-17T16:23:12Z</published>
  <updated>2020-08-17T16:23:12Z</updated>
  <author>
   <name>Daniel Brunner</name></author>
  <content type="html">
&lt;p&gt;&amp;ldquo;Planung ersetzt Zufall durch Irrtum.&amp;rdquo; Dieses Albert Einstein zugeschriebene Zitat beschreibt das letzte halbe Jahr ganz gut. Dennoch hier einmal ein Lebenszeichen.&lt;/p&gt;
&lt;!-- more--&gt;

&lt;p&gt;Eigentlich wollte ich gerne von meiner Vorlesung im Wintersemester berichten und meine Erfahrungen und die Rückmeldungen darstellen. Ich habe auch einige Texte dazu vorbereitet. Allerdings war ich dann mit eigener Fort- und Weiterbildung ziemlich beschäftigt und dann kam Corona. Nach wie vor ist geplant, die Erfahrungen noch zu bloggen.&lt;/p&gt;

&lt;p&gt;Neben den Umstellungen und aktuellen Themen im Betrieb, die mich zeitlich sehr gefordert haben, ist leider auch mein Blockpraktikum für Lehramtsstudierende an der Friedrich-Alexander Universität Erlangen-Nürnberg Corona zum Opfer gefallen. Ich hoffe, es findet sich irgendwann eine Gelegenheit es nachzuholen.&lt;/p&gt;

&lt;p&gt;Anschließend war das Sommersemester wieder sehr von eigenen Fort- und Weiterbildungsthemen beherrscht. Aber nun, im Sommer, wird es besser und ich finde wieder etwas mehr Zeit. Derzeit sitze ich an den Vorbereitungen für das kommende Wintersemester und freue mich insbesondere auf das Modul zur Funktionalen Programmierung. Es findet dieses mal komplett online statt.&lt;/p&gt;</content></entry>
 <entry>
  <title type="text">Start meiner (verteilten) Vorlesung</title>
  <link rel="alternate" href="https://www.dbrunner.de/blog/2019/10/15/start-meiner-verteilten-vorlesung/" />
  <id>urn:https-www-dbrunner-de:-blog-2019-10-15-start-meiner-verteilten-vorlesung</id>
  <published>2019-10-15T15:10:44Z</published>
  <updated>2019-10-15T15:10:44Z</updated>
  <author>
   <name>Daniel Brunner</name></author>
  <content type="html">
&lt;p&gt;Am 09. Oktober 2019 hat meine (verteilte) Vorlesung an der &lt;a href="https://www.studiumplus.de"&gt;THM, StudiumPlus&lt;/a&gt; zum Thema &amp;ldquo;Funktionale Programmierung&amp;rdquo; begonnen. Ich will hier und in den folgenden Blog-Posts meine Pläne sowie auch meine Erfahrungen mit verteilter Lehre aufschreiben. Ich werde in den Blog-Posts unterschiedliche Themen (Inhalte, benutzte Werkzeuge, Methoden etc.) beleuchten.&lt;/p&gt;
&lt;!-- more--&gt;

&lt;p&gt;Für den Bachelor-Studiengang &lt;a href="https://www.studiumplus.de/sp/duales-studium/studienangebote/softwaretechnologie.html"&gt;&amp;ldquo;Software-Technologie&amp;rdquo;&lt;/a&gt; betreue ich in diesem Wintersemester ein Wahlpflichtmodul zur Funktionalen Programmieren. Die besondere Herausforderung besteht darin, dass die Veranstaltung &amp;ldquo;live&amp;rdquo; am Standort Frankenberg gehalten wird und via Adobe Connect an den Standort in Wetzlar übertragen wird. Ich habe mich entschieden, das Modul wie folgt technisch unter Nutzung von Adobe Connect und dem Moodle-System der THM aufzubauen:&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;
  &lt;p&gt;&lt;strong&gt;Live Coding:&lt;/strong&gt; Ich habe mir Racket als Programmiersprache  ausgewählt und werde wichtige Konzepte und Funktionen live  vorprogrammieren, so dass die Studierenden dies nachverfolgen und in  ihrer Entwicklungsumgebung nachvollziehen können.&lt;/p&gt;&lt;/li&gt;
 &lt;li&gt;
  &lt;p&gt;&lt;strong&gt;Kleine Programmieraufgaben mit Pair Programming:&lt;/strong&gt; Ich werde eine  Reihe von Übungsaufgaben vorbereiten, die mit Pair Programming von  den Studierenden umgesetzt werden sollen. Die Ergebnisse sollen dann  die einzelnen Teams vorstellen, hierzu werden wir die Lösungen  aufgrund der schmalen Bandbreite nach Frankenberg in einem Forum in  Moodle bereit stellen.&lt;/p&gt;&lt;/li&gt;
 &lt;li&gt;
  &lt;p&gt;&lt;strong&gt;Quizze / Peer Instruction:&lt;/strong&gt; Zu einzelnen Aspekten werde ich  Quizze einstreuen, die mittels Peer Instruction (siehe zum Beispiel  &lt;a href="https://peternewbury.org/2016/01/02/getting-the-most-out-of-peer-instruction/"&gt;hier&lt;/a&gt;)  gelöst werden sollen. Die Fragen habe ich über Abstimmungen in  Moodle umgesetzt.&lt;/p&gt;&lt;/li&gt;
 &lt;li&gt;
  &lt;p&gt;&lt;strong&gt;Ständige Evaluierung:&lt;/strong&gt; Ich sehe die entfernten Studierenden  leider nicht, daher möchte ich regelmäßig über Tempo,  Schwierigkeitsgrad und Verständtlichkeit der einzelnen Termine ein  Feedback einholen. Hierzu habe ich pro Termin ein Feedback in Moodle  eingerichtet.&lt;/p&gt;&lt;/li&gt;
 &lt;li&gt;
  &lt;p&gt;&lt;strong&gt;Online-Sprechstunde:&lt;/strong&gt; Zusätzlich zur Veranstaltung biete ich  einmal in der Woche eine Online-Sprechstunde in Adobe Connect an, um  den Studierenden bei Fragen eine niedrigschwelliges Angebot zu  machen.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Im Vorfeld und während der Veranstaltung unterstützt mich das E-Learning-Team der THM bei der Nutzung der Medien, Werkzeuge (technisch und didaktisch). Methodisch habe ich mich unter anderem von &lt;a href="https://twitter.com/guzdial"&gt;Mark Guzidials&lt;/a&gt; &lt;a href="https://cacm.acm.org/magazines/2019/8/238336-cutting-the-wait-for-cs-advice/fulltext"&gt;Artikel in den Communications of the ACM&lt;/a&gt; leiten lassen.&lt;/p&gt;</content></entry>
 <entry>
  <title type="text">Evaluierungsergebnisse mit Racket/Scribble verarbeiten und darstellen</title>
  <link rel="alternate" href="https://www.dbrunner.de/blog/2017/12/11/evaluierungsergebnisse-mit-racket-scribble-verarbeiten-und-darstellen/" />
  <id>urn:https-www-dbrunner-de:-blog-2017-12-11-evaluierungsergebnisse-mit-racket-scribble-verarbeiten-und-darstellen</id>
  <published>2017-12-11T16:58:35Z</published>
  <updated>2017-12-11T16:58:35Z</updated>
  <author>
   <name>Daniel Brunner</name></author>
  <content type="html">
&lt;p&gt;Auch in diesem Jahr habe ich (zum Teil mit Stephan Brunner zusammen) wieder Lehrveranstaltungen für StudiumPlus durchgeführt.&lt;/p&gt;

&lt;p&gt;Die Ergebnisse finden sich jeweils als Link auf der &lt;a href="/ueber/lehre.html"&gt;Seite mit meinen Lehrveranstaltungen&lt;/a&gt;. Im Folgenden beschreibe ich, wie ich in diesem Jahr die Ergebnisse der Evaluierung mit Racket und Scribble verarbeitet habe.&lt;/p&gt;
&lt;!-- more--&gt;

&lt;p&gt;Im vergangenen Jahr wurde eine zentrale Evaluierung der Lehrveranstaltungen von StudiumPlus durchgeführt. Die Studierenden konnten zu 13 Fragen ihre Einschätzung von &amp;ldquo;trifft voll zu&amp;rdquo; über &amp;ldquo;trifft meistens zu&amp;rdquo;, &amp;ldquo;trifft teilweise zu&amp;rdquo;, &amp;ldquo;trifft selten zu&amp;rdquo; zu &amp;ldquo;trifft überhaupt nicht zu&amp;rdquo; abgeben. Von der Hochschule erhielten wir  dann eine Auswertung mit der Anzahl der jeweils gegebenen Einschätzungen pro Frage sowie der relativen Häufigkeit.&lt;/p&gt;

&lt;p&gt;Nachdem ich in diesem Jahr eine Übung im Rahmen einer Vorlesung übernommen hatte, wusste ich nicht, ob dieser Teil eine eigene Evaluierung erhalten würde. Des Weiteren wurde für die Zwei-Tages-Module in diesem Jahr keine zentrale Evaluierung angeboten.&lt;/p&gt;

&lt;p&gt;Ich habe daher die Fragen vom vergangenen Jahr mit dem Projektor an die Wand projeziert und die Studierenden um ihre Einschätzung gebeten.&lt;/p&gt;

&lt;p&gt;Da ich die Ergebnisse verschiedentlich weiterverwenden wollte, habe ich mich entschieden, diese in Racket zu verarbeiten und mit Scribble in ein Dokument (sowie auch Seiten hier auf der Homepage) zu setzen. Der Code hierfür ist als Racket-Datei &lt;a href="/lehre/format-eval.rkt"&gt;hier&lt;/a&gt; zu finden.&lt;/p&gt;

&lt;p&gt;Die Antworten führe ich dann als Liste von Arrays (Vector in Racket).&lt;/p&gt;

&lt;div class="brush: racket"&gt;
 &lt;pre&gt;&lt;code&gt;  (list (vector 3 4 3 1 2 1 2 1 2 3 1 1 2) ; 1
        (vector 2 1 1 1 2 1 1 1 2 #f 1 1 1) ; 2
        (vector 1 4 1 1 2 1 2 2 2 3 1 1 1) ; 3
        (vector 2 3 1 1 2 2 2 2 2  2 1 1 2) ; 4
		...)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Um die Häufigkeiten für eine Frage zu ermitteln, extrahiere ich mittels &lt;code&gt;vector-ref&lt;/code&gt; und &lt;code&gt;map&lt;/code&gt; sämtliche Antworten zu einer Frage. Hat ein Studierender nicht oder nicht leserlich geantwortet, habe ich jeweils &lt;code&gt;#f&lt;/code&gt; eingetragen, die ich aus der Ergebnisliste entferne:&lt;/p&gt;

&lt;div class="brush: racket"&gt;
 &lt;pre&gt;&lt;code&gt;(define (sample-question loe no)
  ;; Gibt alle Antworten auf eine Fragenummer
  (remove* (list #f) (map (lambda (answers) (vector-ref answers no)) loe)))&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Als Ergebnis erhalte ich eine Liste mit Antworten (wobei die Antworten derart kodiert sind, dass eine &lt;code&gt;1&lt;/code&gt; für &amp;ldquo;trifft voll zu&amp;rdquo; und eine &lt;code&gt;5&lt;/code&gt; für &amp;ldquo;trifft überhaupt nicht zu&amp;rdquo; steht), zum Beispiel:&lt;/p&gt;

&lt;div class="brush: racket"&gt;
 &lt;pre&gt;&lt;code&gt;'(4 1 4 3 3 5 4 3 3 4 3 2 4 1 4 1 3 3 2 2 2)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Für die Weiterverarbeitung habe ich im &lt;code&gt;math&lt;/code&gt; Modul die praktische Funktion &lt;a href="http://docs.racket-lang.org/math/stats.html#%28def._%28%28lib._math%2Fstatistics..rkt%29._samples-~3ehash%29%29"&gt;&lt;code&gt;samples-&amp;gt;hash&lt;/code&gt;&lt;/a&gt; gefunden, die einem das Zählen abnimmt und einen Hash-Table mit der absoluten Häufigkeit zurückgibt:&lt;/p&gt;

&lt;div class="brush: racket"&gt;
 &lt;pre&gt;&lt;code&gt;&amp;gt; (samples-&amp;gt;hash '(4 1 4 3 3 5 4 3 3 4 3 2 4 1 4 1 3 3 2 2 2))
'#hash((4 . 6) (3 . 7) (2 . 4) (1 . 3) (5 . 1))&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Hieraus habe ich dann eine Formatierung in eine Liste zusammengestellt, die anschließend in ein &lt;code&gt;tabular&lt;/code&gt; eingebettet werden kann:&lt;/p&gt;

&lt;div class="brush: racket"&gt;
 &lt;pre&gt;&lt;code&gt;&amp;gt; (result EVALUIERUNG 0)
'(("Bewertung" "++" "+" "0" "-" "- -")
  ("Anzahl" "5" "7" "8" "2" "0")
  ("in v.H." "22.73" "31.82" "36.36" "9.09" "0.00"))&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Etwas gekämpft hatte ich einige Zeit mit dem Umstand, dass ein sogenannter &lt;code&gt;content&lt;/code&gt; ein String sein muss und nicht einfach eine Zahl. Man muss also die vorher ausgerechneten Werte via &lt;code&gt;number-&amp;gt;string&lt;/code&gt; in einen String umwandeln, damit Scribble diese verwenden kann.&lt;/p&gt;

&lt;p&gt;Da ich die Parameter für die Tabular-Umgebung auch nicht immer wieder tippen wollte, habe ich hierfür auch eine Funktion geschrieben, so dass es im Scribble-Dokument wie folgt aussieht (gegeben, dass sich hinter EVALUIERUNG die Liste der Arrays mit den Antworten verbirgt):&lt;/p&gt;

&lt;div class="brush: scribble"&gt;
 &lt;pre&gt;&lt;code&gt;@itemlist[#:style 'ordered @item{Die Veranstaltung ist klar strukturiert.
@tabular-result[EVALUIERUNG 0]
}
@item{Die verwendeten Veranstaltungsunterlagen sind hilfreich.
@tabular-result[EVALUIERUNG 1]}
...&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Das Ergebnis kann man am Beispiel der letzten Veranstaltung &lt;a href="/lehre/iot-eval-2017.html"&gt;hier&lt;/a&gt; einsehen, die zugehörige Scribble-Datei ist &lt;a href="/lehre/iot-eval-2017.scrbl"&gt;hier&lt;/a&gt; einsehbar.&lt;/p&gt;

&lt;p&gt;Der Vorteil für mich liegt bei dieser Vorgehensweise darin, dass ich die Antworten in strukturierter Form behalte und auch noch für andere Zwecke weiter verwenden kann. Darüberhinaus ist diese Ausgabe mittels Scribble vielfältig nutzbar: Ich erzeuge bspw. daraus ein PDF-Dokument (über LaTeX) und eine Seite hier auf der Homepage mit dem statischen Seitengenerator Frog. Und, ich musste keine Tabellenkalkulation verwenden.&lt;/p&gt;</content></entry></feed>