Forschungsstelle Digitale Nachhaltigkeit

Grundkurs Programmieren

Links und Eckdaten

KSL-Stammnummer: 458856
ILIAS-Link: 458856-FS2020-0
Umfang: 3 ECTS

Virtual Classroom: classroom.fdn.iwi.unibe.ch
Virtuelle Maschine: Kurzanleitung zur Installation

Daten: 21. Februar 2020 bis 29. Mai 2020
Unterrichtsform: Inverted Classroom mit YouTube-Videos im Virtual Classroom (Videos zu Hause anschauen, bei Bedarf Unterstützung vor Ort)
Fakultative Unterstützung vor Ort: Freitags jeweils während 45min zwischen 13:15h und 16:00h im Seminarraum 215, Hauptgebäude H4

Einführungsveranstaltung: Freitag, 21. Februar 2020 ausnahmsweise von 16:15h bis 18:00h im vonRoll Raum 001 an der Fabrikstrasse 6 in Bern
Prüfung: Freitag, 5. Juni 2020 von 17:00h bis 18:00h im vonRoll Raum 001 an der Fabrikstrasse 6 in Bern

Überblick

In der ersten Hälfte des Grundkurses Programmieren lernen die Studierenden die Client-basierten Web-Technologien Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), Bootstrap und JavaScript kennen. Durch ihre bisherige Internet-Erfahrung werden die Studierenden dadurch ein solides Verständnis dieser Technologien entwickeln und rasch Erfolgserlebnisse im Web-Umfeld erzielen können. Im zweiten Teil des Grundkurses Programmieren erlernen die Teilnehmenden die Grundlagen der Programmiersprache Python und wenden diese Skills anschliessend mit zahlreichen Programmierbibliotheken an. Dies erlaubt ihnen die Lösung von anspruchsvollen Aufgabenstellungen sowie die Erstellung von Datenanalysen und Datenvisualisierungen, die sie sowohl im wissenschaftlichen Umfeld ihres Studiums als auch in der Praxis nutzen können.

Methodik

Der Grundkurs Programmieren wird nach dem Inverted Classroom Prinzip durchgeführt: Der Stoff wird anhand von Screencast-Videos erlernt und dieser dann mittels Lösen von Aufgaben angewendet. In der Präsenzstunde unterstützen erfahrene Informatikstudierende bei Fragen und Problemen.

Lernziele

  1. Die Studierenden beherrschen algorithmisches Denken und können dadurch selbständig in zwei verschiedenen Sprachen (JavaScript und Python) Programmstrukturen konzipieren und realisieren.
  2. Die Studierenden kennen die Grundlagen von HTML, CSS, Bootstrap und JavaScript und können anhand dieses Wissens die Web-Technologien nach Bedarf gezielt vertiefen.
  3. Die Studierenden verstehen den technischen Aufbau von Websites und können eigene Client-basierte Websites umsetzen.
  4. Die Studierenden beherrschen die Grundlagen von Python und wissen, wie sie sich selbständig zusätzliche Python Programmier-Techniken mittels geeigneter Quellen beibringen können.
  5. Die Studierenden kennen wichtige Python Programmierbibliotheken (NumPy, MatPlotLib etc.) und können diese anwenden.
  6. Die Studierenden können Datensätze transformieren und importieren um sie mit Python zu verarbeiten und zu visualisieren.
  7. Die Studierenden verstehen die Möglichkeiten von Natural Language Processing (NLP) und anderen Machine Learning Technologien und kennen entsprechende Tools (Scikit-learn).

Termine

A) Modul Web-Technologien

Termin 1: 21.02.2020 Einführung und Überblick in die Veranstaltung, inhaltliche Zusammenhänge über HTML, CSS, Bootstrap und JavaScript, Einführung HTML, Beschreibung der Übungen und Ablauf - Studierende schauen sich zu Hause Videos zu HTML an und lösen Übung 1
Termin 2:
28.02.2020
Besprechung der Übung 1, Beantworten von Fragen, Unterstützung bei individuellen Problemstellungen am Laptop, Einführung zu CSS, Vorstellen der Übung 2 zu CSS - Studierende schauen sich zu Hause Videos zu CSS an und lösen Übung 2
Termin 3: 06.03.2020 Besprechung der Übung 2, Einführung zu CSS, Vorstellen der Übung 3 zu Bootstrap - Studierende schauen sich zu Hause Videos zu CSS an und lösen Übung 3
Termin 4:
13.03.2020
Besprechung der Übung 3, Einführung zu Bootstrap, Vorstellen der Übung 4 zu Bootstrap - Studierende schauen sich zu Hause Videos zu Bootstrap an und lösen Übung 4
Termin 5: 20.03.2020 Besprechung der Übung 4, Einführung zu JavaScript, Vorstellen der Übung 5 zu JavaScript - Studierende schauen sich zu Hause Videos zu JavaScript an und lösen Übung 5
Termin 6: 27.03.2020 Besprechung der Übung 5, Vorstellen der Übung 6 zu JavaScript - Studierende schauen sich zu Hause Videos zu JavaScript an und lösen Übung 6
Termin 7: 03.04.2020 Besprechung der Übung 6, Ausblick auf Programmieren mit Python


Zwei-wöchige Pause: 10. April 2020 ist Karfreitag, 17. April 2020 sind Semesterferien

B) Modul Python

Termin 8: 24.04.2020 Inhaltliche Einführung zu Python, Vorstellen der Übung 7 - Studierende schauen sich zu Hause Videos zu Python an (Installation, Datentypen, Variablen, Kontrollstrukturen etc.) und lösen Übung 7
Termin 9: 01.05.2020 Besprechung der Übung 7, Einführung der neuen Inhalte, Vorstellen der Übung 8 - Videos zu Listen, Listenmutationen, Dictionaries, Module und Funktionen bei Python, Lösen von Übung 8
Termin 10: 08.05.2020 Besprechung der Übung 8, Einführung der neuen Inhalte, Vorstellen der Übung 9 - Videos zu den Grundlagen der Textverarbeitung mit Python (Text einlesen, mutieren, speichern etc.), Lösen von Übung 9
Termin 11: 15.05.2020 Besprechung der Übung 9, Einführung der neuen Inhalte, Vorstellen der Übung 10 -  Videos zu Datensätze einlesen und visualisieren, Lösen von Übung 10
Termin 12: 22.05.2020 Besprechung der Übung 10, Einführung der neuen Inhalte, Vorstellen der Übung 11 - Videos Einführung in Machine Learning mit Scikit Learn, Lösen von Übung 11
Termin 13:
29.05.2020
Besprechung der Übung 11, Vorstellen der Prüfung zu Web-Technologien und Python

 

FAQ: Fragen von Studierenden zu dieser Veranstaltung

Ich habe mich entschieden, die Prüfung nicht zu schreiben. Muss ich mich noch irgendwo abmelden?
Wenn Sie sich über KSL angemeldet haben, sind Sie automatisch zur Prüfung angemeldet. Falls Sie nicht an der Prüfung teilnehmen wollen, müssen Sie sich bis am 15. März 2020 aus KSL abmelden.

Gibt es eine Möglichkeit, die Kapazität des Kurses „Grundkurs Programmieren“ zu erweitern? Gemäss KSL liegt die Grenze bei 250 Teilnehmern, aktuell gibt es aber bereits mehr als 280 Anmeldungen.
Wir haben im KSL die Kapazität des Kurses auf 300 Personen erhöht, welche die Prüfung im Frühlingssemester 2020 schreiben können. Die im KSL angemeldeten Studierenden müssen sich bis am 15. März 2020 entscheiden, ob sie definitiv die Prüfung schreiben werden oder nicht. Studierende auf der Warteliste können sich danach bis am 29. März 2020 für die freien Plätze zur Prüfung anmelden. Die eigentlichen Inhalte des Kurses werden mittels YouTube-Videos in einem öffentlichen Virtual Classroom vermittelt, auf den alle zugreifen können. Ausserdem wird der Grundkurs Programmieren im Herbstsemester 2020 erneut angeboten sodass Sie sich dafür anmelden können, falls es keinen Platz im Frühlingssemester 2020 hat.

Ist es möglich, sich als Doktorand am Kurs anzumelden?
Grundsätzlich richtet sich das Angebot an die Bachelor- und Masterstudierenden der Universität Bern ausserhalb der Phil.-nat. Fakultät. Diese haben Priorität für die Teilnahme an den Übungsstunden und an der Prüfung. Jedoch können Doktoranden und alle anderen Interessierten ohne Einschränkung im Virtual Classroom die YouTube-Videos anschauen und auch im ILIAS die Übungen lösen.

Welchen Leistungsnachweis muss in diesem Kurs erbracht werden?
Es wird voraussichtlich eine einstündige Prüfung auf dem eigenen Laptop geben, der mit der Bring-Your-Own-Device (BYOD) Prüfungsumgebung gebootet wird. Weitere Infos dazu folgen.

Ist es (gut) möglich, die Veranstaltung auf Basis der Vorlesungsunterlagen und Übungsaufgaben zu absolvieren? Gibt es ein ausgearbeitetes Skript, ein oder mehrere begleitende Lehrbücher, oder 
sogar eine Aufzeichnung der Veranstaltung? / Ist es empfohlen bei den Lektionen des Grundkurs Programmieren anwesend zu sein, oder ist es auch im Selbststudium möglich?

Sie können gut am Kurs im Selbststudium teilnehmen ohne die Präsenzstunden zu besuchen. Wichtig sind einfach die Absolvierung der Übungen in ILIAS, damit Sie gut für die Prüfung vorbereitet sind. Alle Inhalte des Kurses werden durch YouTube-Videos vermittelt. Weitere Infos dazu folgen. Eine Aufzeichnung der Präsenzstunden ist nicht vorgesehen.

Den Grundkurs Programmieren, den Sie anbieten, finde ich sehr interessat. Leider ist es mir kommendes Semester nicht möglich daran teilzunehmen. Daher würde ich gern wissen, ob dieser Kurs in einem anderen Semester wieder angeboten wird.
Ja, der Grundkurs Programmieren wird auch im HS2020 angeboten.

I would be interested in coming for the programming course but I wanted to ask if the course will be in German or English?
The course this semester (FS2020) is in German only.

I was wondering if the course was open to the public or registration was necessary to attend the lessons. The reason why I'm asking this is that having experiments to carry on in my lab I, unfortunately, cannot guarantee complete attendance. I am not interested in the ects credits as I don't need them in my curriculum, but I would still be very eager to attend the course. Additionally, although I am studying German, I am not very good with the language yet and would like to try if I can follow the course, and I wouldn't feel confident enough in my german skills in case of an exam.  
The course will be in German only. However, as this lecture is following the inverted classroom model all the content is being taught inside videos and they will be published in our public virtual learning classroom. We'll post the link on this website as soon as the content is ready.

Bei der Beschreibung steht, dass jeweils freitags eine Lektion zwischen 13:15 und 16:00 eine Präsenzstunde durchgeführt wird - wie ist das genau zu verstehen? Kann da frei gewählt werden, wann genau in diesem Zeitfenster man für eine Lektion (45min) anwesend sein will (oder kann) oder ist das irgendwie fix und wird jeweils für die Folgewoche mitgeteilt?
Die Idee ist, dass Sie, falls Sie möchten, jeweils am Freitag während 45min an einer Präsenzlektion teilnehmen können. Dieses Zeitfenster werden Sie nach dem Prinzip first come, first served frei wählen können. Es hat jeweils pro Zeitfenster 80 Plätze. Weitere Informationen dazu folgen an der ersten Präsenzlektion am Freitag, 21. Februar 2020 um 16:15h im vonRoll Hörsaal 001 an der Fabrikstrasse 6 in Bern.

Ich habe vor, im nächsten Semester die Vorlesung und die Übung "Open Data" zu besuchen. Ist der Programmierkurs am Freitag als Ergänzung zu diesen Veranstaltungen gedacht, oder werden dessen Inhalte auch im Rahmen der Open Data-Übung erarbeitet?
Die Inhalte des "Grundkurs Programmieren" sind in kleineren Teilen überschneidend mit der Vorlesung und Übung "Open Data". Konkret wird in beiden Veranstaltungen HTML, CSS, Bootstrap und JavaScript unterrichtet. Beim "Grundkurs Programmieren" wird zusätzlich eine Einführung in Python unterrichtet. Bei der Open Data Übung erlernen Sie zusätzlich D3.js und entwickeln eine Datenvisualisierung zusammen mit Data Coaches aus der Praxis (siehe Beispiele im Open Data Show Room). Es macht somit durchaus Sinn, beide Veranstaltungen zu besuchen.

Ich würde sehr gerne an der Veranstaltung teilnehmen (aus reinem Interesse, nicht zum Erwerb von ECTS-Punkten), habe am Freitagnachmittag aber leider jeweils keine Zeit. Wäre es möglich, dass ich mich für die Veranstaltung anmelde und den Zugang zu den Lernvideos und Übungen erhalte, ohne an den Präsenzstunden der Veranstaltung sowie an der schriftlichen Prüfung teilzunehmen?
Ja, Sie werden Zugang zu allen Videos und Übungen erhalten, da wir die Inhalte auf unserer Website verlinken werden, sobald sie ready sind. Die ganze Veranstaltung ist so konzipiert, dass Sie nicht an den Freitags-Terminen teilnehmen müssen, wenn Sie zeitlich nicht können. Dennoch empfehlen wir Ihnen an der Prüfung teilzunehmen, da Sie bei erfolgreicher Absolvierung eine Bestätigung in Ihrem Diploma Supplement erhalten (als freiwillige Zusatzleistung). Oder mit anderen Worten: Nur mit einer erfolgreichen Prüfungsteilnahme können Sie belegen, dass Sie den Kurs besucht und die Inhalte verstanden haben.

Ich würde gerne anfragen, ob ich am "Grundkurs Programmieren" im FS20 teilnehmen könnte. Ich habe mein Bachelor an der Uni Bern absolviert und bin zurzeit an der Uni Fribourg im Master immatrikuliert. In meiner Freizeit beschäftige ich mich jedoch mit Programmieren und versuche gerade, mir Python, html, css, js etc. selbst beizubringen. Allerdings würde es mir sehr helfen, an einem regelmässigen Kurs teilzunehmen. Ich hab bereits einige Grundkenntnisse insb. in Python. Der Kurs wäre perfekt für mich, da er genau die Punkte beinhaltet, die ich gerne erlernen würde. Gerne würde ich dies auch in einem universitären Kontext. Ich würde vermutlich auch keine Prüfung absolivieren, da ich mir die Punkte nicht anrechnen kann. Es wäre also eine rein interessensbasierte Teilnahme.
Wir müssen momentan noch abwarten, wie viele Studierende der Uni Bern sich für den Grundkurs Programmieren immatrikulieren. Diese müssen wir prioritär behandeln. Melden Sie sich am besten Anfang Februar nochmal, dann sollten wir abschätzen können wie gross das Interesse an der Veranstaltung ist. Das Gute ist: Wir werden so oder so die Inhalte der Veranstaltung auf unserer Website verlinken, sodass Sie zumindest Zugang zu allen Lernmaterialien erhalten werden.