SCRUM und eduSCRUM

SCRUM ist im HFU-Studiengang WIB ein inhärenter Bestandteil des Moduls Programmieren_2. Dieser Blogpost zeigt, wie sich die Kombination gestaltet.

Scrum ist, kurz gesagt, eine agile Software-Entwicklungsmethode, wir können auch sagen: eine Software-Projekt-Management-Methode. Und in der Lehre läßt sich SCRUM auch einsetzten. Was liegt näher, sich mit SCRUM gleich von Anfang an (1. Semester, Programmieren_1) auseinander zu setzen? Genau das machen wir. 🙂

Und dieser methodischen Ansatz wird eduSCRUM bezeichnet. (Einfach mal danach recherchieren.)

Dieser Blogpost ersetzt keine fundierte Auseinandersetzung mit dem Thema, aber einen Überblick, über die Konzepte und Ideen von SCRUM und die Lehre, läßt sich aber damit durchaus gewinnen.

Viel Spass dabei!

Der SCRUM-Überblick

Die Methode SCRUM hat drei tragende Säulen: Rollen, Zeremonien (auch Events genannt) und Artefakte. Diese tragenden Säulen kann man sich auch als die Achsen des Rahmenwerks von SCRUM vorstellen. Ein paar Details erläutert das folgenden Video.

Der SCRUM-Überblick

Die SCRUM-Rollen

„SCRUM und eduSCRUM“ weiterlesen

Agil programmieren, mit TutorInnen

Beim Programmieren lernen kann der/die Student*In viel anhand des Skripts und der dafür vorgesehenen Videos selbst lernen, ohne dass ich es als Dozent „erzählen“ muß. (Der Wissenschaft sei Dank, wurde Flipped Learning schon vor Jahren entwickelt!). Genau das kann Student*In zuhause im stillen Kämmerlein machen!

„Agil programmieren, mit TutorInnen“ weiterlesen

Sprache macht‘s

Für die größte Erfindung der Menschheit halte ich die Sprache! Alle anderen Erfindungen lassen sich mit Sprache beschreiben. Mit allen Sprachen? Mit welcher Sprache? Egal – darum geht es mir hier nicht. Persönlich fühle ich mich „benachteiligt“, wenn ich mich auf französisich ausdrücken muss — geht bei weitem nicht so gut, wie mit meiner Muttersprache, der deutschen Sprache. Das dürfte den meisten Menschen so gehen. Auch den Studierenden.

Hier fällt es erstmals auf

Im ersten Semester fällt auf, Studierende müssen erst die Lernkuve „durchlaufen“, um sich sprachlich als sachverständig erkennbar geben zu können. Frage: Wo das notwendig ist? Antwort: Spätestens bei der Klausur! Viele „verraten“ sich durch ihre Sprache (und nicht vorhandenen Fromulierungskünste, ihre Ausdrucksweise), dass Sie den Lernstoff „nicht drauf“ haben, oder eben umgekehrt, doch beherrschen.

Dabei wäre es so einfach: die Lernenden müssen nur mit ihren Kommiliton*innen und/oder dem Lehrenden sprechen, und so die Fachkommunikation üben – spätestens am Semesterende hat‘s frau* man drauf.

Dann fällt‘s erst Recht auf:

Bei der Thesisarbeit, kommt es immer wieder mal vor, das schon die Sprache die „geniale“ Thesis verrät – oder auch umgekehrt: die schlechte Thesis offenbart. Bertrand Russel (Nobelpreisträger, Mathematiker, Philosoph) hatte absolut Recht: „The limitation of my language, means the limitation of my world.“ Eigentlich studiert frau*man ja, um das zu beheben.

Machen Sie‘s besser!

In der Fachsprache miteinander sprechen – auch das will gelernt sein.

Tutor – was ist das? Und vor allem wer?

Stein der Weisen? Tutor/innen stellen sich vor.

Wer Programmieren lernen möchte, muß vor allem eines tun: Programmieren. Damit verhält es sich, so wie im Sport: wer es in seiner Sportart „zu etwas bringen möchte„, muss es vor allem tun! Sicherlich haben Sie gehört, daß Fußballprofis unter der Woche nicht chillen, um am Wochenende fit zu sein, für das Spiel – gespielt wird jeden Tag, mehrere Stunden. Gespielt wird auch nicht zuhause, im Garten, sondern im Verein, mit der Mannschaft.

„Tutor – was ist das? Und vor allem wer?“ weiterlesen

Strategisch und taktisch clever?

Bei Erstsemester-Student/innen wundert es vielleicht nicht: zu zahlreich sind die Mythen vom Studium, die man von Freund, Freundin, Eltern und weiß-Gott-wem gehört hat! Dabei gilt es strategisch und taktisch clever zu sein!

Mythos: Vorlesung

Einer dieser Mythen ist, dass in einer „Vorlesung“ vorgelesen wird! Na ja, ich will nicht sagen, dass es das garnicht gibt! Auch ich mache mal das Skript auf, um den Notationsort zu einer Diskussion genauer zu identifizieren, setze aber ansonsten auf „flipped Classroom

Aber die Präsenzzeit ist besser genutzt, wenn die Zeit für das Gespräch mit den interessierten Studierenden genutzt wird. Natürlich geht es dabei um die im Selbstudium schon in der Studentenbude kennengelernten Sachverhalte. Und weil ich nicht davon ausgehe, dass irgendwer irgendetwas studiert, dass ihn nicht interessiert, arbeite ich mit der Hypothese, dass alle Student/innen eine interessierte Zuhörerschaft sind.

Aktiv sein: strategisch und taktisch clever.
Aktiv sein: strategisch und taktisch clever.

Strategisch und taktisch clever: flipped Classroom

Wen du also durch das Selbstudium schon vorbereitet bist, erfährst du in der Präsenzzeit eine zusätzliche Potenzialsteigerung! Natürlich sind auch die in der Präsenzzeit vermittelten Kenntnisse, Fähigkeiten und Fakten grundsätzlich relevant für die Prüfungen in der Klausurzeit – auch wenn die „Klausur“ keine schriftliche Klausur, sondern eine mündliche Prüfung ist. Meine These: mit diesem Ansatz sorgst du dafür, dass du dich in der Präsenzzeit weiter entwickelst und die Chance auf eine gute Klausur deutlich steigerst. Mit anderen Worten: wer als IT-Systemkauffrau bereits mit Java-Kenntnissen einsteigt, hat am Ende des Semesters eine erweiterten Kenntniss-Stand. So lohnt sich Studieren – strategisch und taktisch clever.

Flipped: zuhause Selbstudium mit allen Quellen. Im Classroom: Kommunikation, Ergänzung und Vertiefung! So funktioniert die „Vorlesung“ Programmieren_2

Strategisch clever

Kommen wir nun den dem in der letzten Klausur beobachteten strategischen Fehlern. Du kennst natürlich die Methode „Flipped Learning“ (auch „flipped Classroom“ genannt) und hast offensichtlich verstanden, dass du das Skript schon zuhause studierst (schließlich sind in öffentlichen der Modulbeschreibung dafür 75 Stunden ausgewiesen). Die Präsenzzeit hast du genutzt, alle eventuell noch vorhandenen Fragen für die Kommunikati0n mit deinem Dozent und mit deinen Kommiliton/innen zu notieren. Es ist ja einer der enormen Vorteile einer Präsenzhochschule: du findest die richtigen Ansprechpartner für jedes Thema! So hast du alle Chancen gewahrt, am Ende die guten Noten einzustreichen- strategisch und taktisch clever!

Bei der Klausurkorrektur war das erkennbar, an den gut gelösten Fragen, die auf den in der Präsenzzeit behandelten Fakten beruhten. Wer dabei war, hat also alles strategisch richtig gemacht –strategisch und taktisch clever!

Strategisch und taktisch clever: die Klausur zeigts.
Strategisch und taktisch clever: die Klausur zeigts.

Taktisch clever

Im Grunde hat man es ja schon an der Schule gelernt: taktisch clever ist, wer den Lernstoff dann lernt, wenn er „dran“ ist. Du weißt: Aufschieben macht nichts leichter, nur die Last wird schwerer. Schnellst möglich wegarbeiten – das ist strategisch und taktisch clever. Das klappt am besten, wenn Übungen und Projekte gemacht und währender Präsenzzeit diskutiert werden. So lernst du den Fachterminus beherrschen und in der Klausur wieder zu geben – strategisch und taktisch clever!

Strategisch und taktisch clever: Prüfung super gelaufen.
Strategisch und taktisch clever: Prüfung super gelaufen.

Klausurbesprechung Prog1 WS1819

Let’s talk denglish – von Tools zu Inhalten

Die Welt des Programmierens ist eine englischsprachige Welt. Die meisten Programmiersprachen haben ihren Ursprung in den USA. Dies trifft auch für die von uns verwendete Programmiersprache JAVA zu.

Seit unserer ersten Begegnung hier im ersten Semester sind schon zahlreiche englische Begriffe erwähnt und erläutert worden:

  • Editor
  • Compiler
  • IDE = Integrated Development Environment
  • Eclipse
  • Source Code
  • Byte Code
  • Package Explorer
  • Task List
  • Outline
  • Console

Sie erinnern sich noch, was die Begriffe bedeuten? Lassen Sie uns diese Begriffe nochmals kurz besprechen!

Denglish, Engleutsch oder Deutsch
Let’s talk denglish. Vieleicht sprechen die beiden Engleutsch? Auf alle Fälle: sie schreiben JAVA!

(Idee: lassen Sie einen Zettel durch die Vorlesung laufen, auf dem Sie alle englischen Begriffe notieren, die Sie schon mal hier in dieser Veranstaltung „PROGRAMMIEREN 1“ gehört haben, die aber nicht auf der Liste oben stehen!)

 

Die Zahl der neuen Begriffe wird heute signifikant nach oben gehen! Ihre eigenen Notizen im Skript dürften hilfreich sein.

Vielleicht ist es ja auch tröstlich, dass dabei viele deutsche Fachbegriffe sind. Wie gesagt, die Mischung wird Denglisch.

Wir wechseln ins Skript (Kapitel 5) und besprechen die neuen Begriffe und ihre Inhalte. Zu den wichtigsten Begriffen gehören

  • Analyse

    Auch die beiden programmieren mit JAVA
    Auch die beiden programmieren mit JAVA
  • Design
  • Implementierung
  • Klasse
  • Objekt
  • Attribut
  • Methode
  • Pseudo-Code
  • Algorithmus
  • Datentypen
  • Deklaration
  • Initialisierung
  • Operatoren

Die Sammlung wird wachsen…

Have Fun Storming the Castle

Ihr Prof. Illik

JAVA Online-Tutoren SS2018

Wer mitmacht gewinnt

Weil seit Sommersemester 2016 erfolgreich gelaufen, wird in diesem Semester der Ansatz fortgesetzt: Online-Tutoren pflegen im Mupples Forum das „Quiz – SS2018“ für die Prog1-Studierenden: mit dem Quiz lassen sich durch Beiträge bis zu 10 Punkte generieren, die dann auf die Klausur angerechnet werden! So läßt sich durch Engagement vorbauen!

„JAVA Online-Tutoren SS2018“ weiterlesen

JAVA Online-Tutoren WS1718

Beim aktivitätsorientierten, selbstverantwortlichen Lernen werden die Dinge selbst in die Hand genommen! Hier zeigen die Onlinetutoren, dass sie anpacken können! Die Onlinetutoren sind – im Gegensatz zu den Präsenztutoren – nicht nur am Tag des Praktiums erreichbar, sonder online eben dann, wenn die Frage auftaucht! So der Plan. So wurde es im Sommersemester 2017 erfolgreich praktiziert.

„JAVA Online-Tutoren WS1718“ weiterlesen

Programmieren 1: Semesterprojekt, eine Sommer-Episode

Das Semesterprojekt läuft. Wir sprechen Dienstags darüber. Und vorher schon hier und auf YouTube. Primär geht es zunächst mal darum, wie die Aufgabenstellung zu verstehen ist. Wenn das Verständnis nicht stimmt – stimmt in der Folge alles weitere nicht. Das Verständnis-Fundament muss alles andere tragen. Wie eben beim Haus auch: stimmt das Fundament nicht, so wird das Gebäude darüber einstürzen – eines der häufigsten Probleme bei Softwareprojekten: „Die Programmierer/innen haben den Auftraggeber nicht richtig verstanden!“. Wir vermeiden das, weil wir über das Projekt sprechen.

Die Episode 1

YouTubeTalk-about-it-1:  youtubeJAVA_1_Semesterprojekt.

Es geht um einige Erläuterungen, die das Verständnis vertiefen. Dass im Video vom WS1617 die Rede ist, stört Sie nicht. Der Inhalt gilt auch für das WS1718.

Java1_Semesterprojekt_01
Java1_Semesterprojekt_01

Dass alle Termine für das WS1718 aktuell den Aushängen und dem Felix zu entnehmen sind, wissen Sie. Insgesamt handelt es sich hier um die erste Episo deyoutubeJAVA_Semesterprojekt_01_Intro“ aus einer Serie von Videos zu diesem Semesterprojekt.

Die zweite Episode dürfen Sie sich auch gleich „reinziehen“:

Die Episode 2

YouTubeTalk-about-it-2:  youtubeJAVA_1_Semesterprojekt.

In diesem Video sehen Sie im Part 1 (in den ersten 10 Minuten), wie ein laufende friends-Programm aussieht und funktioniert.

Java1_Semesterprojekt_02
Java1_Semesterprojekt_02

Im Part 2 sehen Sie den Einstieg in die Entwicklung. Machen Sie sich die Tipps aus der zweiten EpisodeJAVA_Semesterprojekt_02_Intro“ zu eigen – Sie werden Ihr Projekt effizienter realisieren können.

Die Episode 3

Im Part 3 ist die Entwicklung praktisch schon in vollem Gange. Wir kümmern uns in der dritten Episode um den Einbau von Arrays als Puffer und Container „JAVA_Semesterprojekt_03_Intro_data+funct„. Neben den ersten Methoden sind nun auch die ersten Daten eingerichtet.

Episode_3
Episode_3: Die Semesterprojekt-Architektur ist fertig

Die Episode 4

In der Interimsversion v00 haben wie die Spec besprochen und das Projekt in Eclipse eingerichtet. Die wichtigsten Programmschritte waren die Menü-Dialog-Schnittstelle in der Methode main_menu() zu programmieren und dann diese Methode im main() einzubauen. Damit hatten wir eine sehr embryonale Interimslösung, übersetzbar und testbar.
In der darauf folgenden Interimslösung v01 haben wir begonnen die Daten zu modellieren und in einer switch-case-Konstruktion die User-Reaktion abzufangen und mit adäquaten Methoden darauf zu reagieren. Na ja, wir haben die Methoden vorbereitet. Auch diese Interimslösung ist übersetzbar und testbar.
Jetzt, in der Interimslösung v02 implementieren wir die Methoden funct_1(), funct_2() und pers_append(). Damit haben wir 50% aller benötigten Methoden implementiert.

Episode 4 youtube Das Semesterprojekt ist jetzt zur Hälfte fertig

Die Episode 5

Erfahrungsgemäß die kritischsten Operationen: Personenrecords in die Datei sichern und aus der Datei laden. Hier sieht man wie’s geht.

Episode 5 youtube Das Dateihandling wird fast fertig gestellt.

Die Episode 6

Die letze File-Operation ist eingebaut: das Löschen der Datenbasis-Datei personenDB.csv als funct_5(). Damit ist das Semesterprojekt so gut wie fertig! Das Grooming fehlt noch.

Episode 6 youtube Das Dateihandling ist fertig gestellt.

Damit ist das Semesterprojekt so gut wie fertig! Das Grooming fehlt noch, dazu gehört z.B. das Umbenennen der Methoden. Wir hatten von Anfang an etwas synthetische Dateinamen, die nicht wirklich sprechend ware.

Insgesamt haben wir damit eine Semester-Projekt-Lösung, die von mir so geplant war, dass wir mit einer einzigen Klasse auskommen. Mehr wie eine Klasse gibt die Aufgabenstellung nicht her: wir haben zwei sehr bedeutungsvolle Datenkonstrukte und ein halbes Dutzend Methoden – genug für eine Klasse. Mehr Klassen für diese kleine Anwendung zu erfinden, wäre nicht wirklich sinnvoll.